DROP ROLE

DROP ROLE — elimina un rol de base de datos

Synopsis

DROP ROLE [ IF EXISTS ] nombre [, ...]

Descripción

DROP ROLE elimina el o los roles especificados. Para eliminar un rol de superusuario, tú mismo debes ser superusuario; para eliminar roles que no sean superusuarios, debes tener el privilegio CREATEROLE y haber recibido la opción ADMIN OPTION sobre el rol.

Un rol no se puede eliminar si todavía está referenciado en alguna base de datos del clúster; de lo contrario se producirá un error. Antes de eliminar el rol, debes eliminar todos los objetos que le pertenecen (o reasignar su propiedad) y revocar cualquier privilegio que se le haya concedido sobre otros objetos. Los comandos REASSIGN OWNED y DROP OWNED pueden ser de utilidad para este propósito; consulta la Section 21.4 para obtener más detalles.

Sin embargo, no es necesario eliminar las membresías a roles asociadas al rol; DROP ROLE revoca automáticamente cualquier membresía del rol de destino en otros roles, y de otros roles en el rol de destino. Los demás roles no se eliminan ni se ven afectados de ninguna otra manera.

Parámetros

IF EXISTS

No arroja un error si el rol no existe. Se emite una advertencia (notice) en este caso.

nombre

El nombre del rol a eliminar.

Notas

PostgreSQL incluye el programa dropuser que tiene la misma funcionalidad que este comando (de hecho, llama a este comando) pero se puede ejecutar desde la consola de comandos.

Ejemplos

Para eliminar un rol:

DROP ROLE jonathan;

Compatibilidad

El estándar SQL define DROP ROLE, pero solo permite eliminar un rol a la vez, y especifica requisitos de privilegios diferentes a los que utiliza PostgreSQL.

Véase también

CREATE ROLE, ALTER ROLE, SET ROLE