PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come eliminare rapidamente un utente con privilegi esistenti

Che ne dici

DROP USER <username>

Questo è in realtà un alias per DROP ROLE .

Devi eliminare esplicitamente tutti i privilegi associati a quell'utente, anche per spostarne la proprietà su altri ruoli (o eliminare l'oggetto).

Ciò si ottiene al meglio da

REASSIGN OWNED BY <olduser> TO <newuser>

e

DROP OWNED BY <olduser>

Quest'ultimo rimuoverà tutti i privilegi concessi all'utente.

Vedi i documenti postgres per DROP ROLE e la descrizione più dettagliata di questo.


Aggiunta:

Apparentemente, provare a eliminare un utente utilizzando i comandi menzionati qui funzionerà solo se li stai eseguendo mentre sei connesso allo stesso database da cui sono stati creati i GRANTS originali, come discusso qui:

https://www.postgresql.org/message-id/83894A1821034948BA27FE4DAA47427928F7C29922%40apde03.APD.Satcom.Local