PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So löschen Sie schnell einen Benutzer mit vorhandenen Berechtigungen

Wie wäre es mit

DROP USER <username>

Dies ist eigentlich ein Alias ​​für DROP ROLE .

Sie müssen alle mit diesem Benutzer verbundenen Berechtigungen explizit löschen, auch um seinen Besitz auf andere Rollen zu verschieben (oder das Objekt zu löschen).

Dies wird am besten erreicht durch

REASSIGN OWNED BY <olduser> TO <newuser>

und

DROP OWNED BY <olduser>

Letzteres entfernt alle Berechtigungen, die dem Benutzer gewährt wurden.

Siehe die Postgres-Dokumentation für DROP ROLE und die ausführlichere Beschreibung dazu.


Zusatz:

Anscheinend funktioniert der Versuch, einen Benutzer mit den hier erwähnten Befehlen zu löschen, nur, wenn Sie sie ausführen, während Sie mit derselben Datenbank verbunden sind, aus der die ursprünglichen GRANTS gemacht wurden, wie hier besprochen:

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