sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo eliminar rápidamente a un usuario con privilegios existentes

¿Qué tal

DROP USER <username>

Este es en realidad un alias para DROP ROLE .

Debe eliminar explícitamente cualquier privilegio asociado con ese usuario, también para mover su propiedad a otras funciones (o eliminar el objeto).

Esto se logra mejor por

REASSIGN OWNED BY <olduser> TO <newuser>

y

DROP OWNED BY <olduser>

Este último eliminará cualquier privilegio otorgado al usuario.

Consulte los documentos de postgres para DROP ROLE y la descripción más detallada de esto.


Adición:

Aparentemente, tratar de eliminar a un usuario usando los comandos mencionados aquí solo funcionará si los está ejecutando mientras está conectado a la misma base de datos desde la que se crearon los GRANTS originales, como se explica aquí:

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