DROP USER
Elimina un usuario de la base de datos. Puede eliminar varios usuarios con un solo comando DROP USER. Debe ser un superusuario de la base de datos o tener el permiso DROP USER para ejecutar este comando.
Sintaxis
DROP USER [ IF EXISTS ] name [, ... ]
Parámetros
- IF EXISTS
-
Cláusula que indica que si el usuario especificado no existe, el comando no debe realizar cambios y debe devolver un mensaje en el que se indique que el usuario no existe, en lugar de terminar con un error.
Esta cláusula es útil cuando se realiza scripting, para que el script no produzca un error si DROP USER se ejecuta en un usuario que no existe.
- name
-
Nombre del usuario que se eliminará. Puede especificar varios usuarios con una coma separando cada nombre de usuario del siguiente.
Notas de uso
No puede eliminar el usuario denominado rdsdb
o el usuario administrador de la base de datos, que normalmente se denomina awsuser
o admin
.
No puede eliminar un usuario si el usuario es propietario de cualquier objeto de la base de datos, como un esquema, base de datos, tabla o vista, o si el usuario tiene privilegios en una base de datos, tabla, columna o grupo. Si intenta eliminar dicho usuario, recibirá uno de los siguientes errores.
ERROR: user "username" can't be dropped because the user owns some object [SQL State=55006] ERROR: user "username" can't be dropped because the user has a privilege on some object [SQL State=55006]
Para obtener instrucciones detalladas sobre cómo encontrar los objetos que pertenecen a un usuario de base de datos, consulte ¿Cómo soluciono el error "no se puede eliminar al usuario" en Amazon Redshift?
nota
Amazon Redshift verifica solo la base de datos actual antes de eliminar a un usuario. DROP USER no devuelve un error si el usuario es propietario de objetos de la base de datos o si tiene privilegios en objetos de otra base de datos. Si elimina un usuario que es propietario de objetos en otra base de datos, el propietario de esos objetos se cambia a "desconocido".
Si un usuario es propietario de un objeto, primero elimine el objeto o elija otro usuario como propietario antes de eliminar el usuario original. Si el usuario tiene privilegios para un objeto, elimine los privilegios antes de eliminar el usuario. En el siguiente ejemplo, se muestra cómo se elimina un objeto, se cambia la propiedad de un objeto y se eliminan privilegios antes de eliminar el usuario.
drop database dwdatabase; alter schema dw owner to dwadmin; revoke all on table dwtable from dwuser; drop user dwuser;
Ejemplos
En el siguiente ejemplo, se elimina un usuario denominado paulo:
drop user paulo;
En el siguiente ejemplo, se eliminan dos usuarios, paulo y martha:
drop user paulo, martha;
En el siguiente ejemplo, se elimina el usuario paulo, si existe. Si no es así, no se realiza ninguna acción y se devuelve un mensaje:
drop user if exists paulo;