PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment supprimer rapidement un utilisateur avec des privilèges existants

Que diriez-vous

DROP USER <username>

Il s'agit en fait d'un alias pour DROP ROLE .

Vous devez supprimer explicitement tous les privilèges associés à cet utilisateur, ainsi que pour transférer sa propriété vers d'autres rôles (ou supprimer l'objet).

Ceci est mieux réalisé par

REASSIGN OWNED BY <olduser> TO <newuser>

et

DROP OWNED BY <olduser>

Ce dernier supprimera tous les privilèges accordés à l'utilisateur.

Voir les docs postgres pour DROP ROLE et la description plus détaillée de ceci.


Ajout :

Apparemment, essayer de supprimer un utilisateur à l'aide des commandes mentionnées ici ne fonctionnera que si vous les exécutez tout en étant connecté à la même base de données à partir de laquelle les GRANTS d'origine ont été créés, comme indiqué ici :

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