DROP ROLE
Elimina un rol de una base de datos. Solo pueden eliminar un rol el propietario del rol que lo haya creado, un usuario con la opción WITH ADMIN o un superusuario.
No se puede eliminar un rol que esté concedido a un usuario o si otro rol depende de él.
Privilegios necesarios
Los siguientes privilegios son necesarios para DROP ROLE:
Superusuario
Propietario del rol que sea el usuario que haya creado el rol o un usuario al que se le haya concedido el rol con el privilegio WITH ADMIN OPTION.
Sintaxis
DROP ROLE role_name [ FORCE | RESTRICT ]
Parámetros
- role_name
-
Nombre del rol
- [ FORCE | RESTRICT ]
-
La configuración predeterminada es RESTRICT. Amazon Redshift genera un error cuando se intenta eliminar un rol que ha heredado otro rol. Utilice FORCE para eliminar todas las asignaciones de roles, si existe alguna.
Ejemplos
El siguiente ejemplo elimina el rol sample_role
.
DROP ROLE sample_role FORCE;
El siguiente ejemplo intenta eliminar el rol sample_role1 que se ha concedido a un usuario con la opción RESTRICT predeterminada.
CREATE ROLE sample_role1;
GRANT ROLE sample_role1 TO user1;
DROP ROLE sample_role1;
ERROR: cannot drop this role since it has been granted on a user
Para eliminar correctamente el rol sample_role1 que se haya concedido a un usuario, utilice la opción FORCE.
DROP ROLE sample_role1 FORCE;
El siguiente ejemplo intenta eliminar el rol sample_role2 que tiene otro rol dependiente de él con la opción RESTRICT predeterminada.
CREATE ROLE sample_role1;
CREATE ROLE sample_role2;
GRANT ROLE sample_role1 TO sample_role2;
DROP ROLE sample_role2;
ERROR: cannot drop this role since it depends on another role
Para eliminar correctamente el rol sample_role2 que tenga otro rol que dependa de él, utilice la opción FORCE.
DROP ROLE sample_role2 FORCE;