View a markdown version of this page

DROP USER - Amazon Redshift

O Amazon Redshift deixará de oferecer suporte ao uso de UDFs em Python após 30 de junho de 2026. Começaremos a aplicar essa alteração em fases. Consulte mais informações sobre os detalhes do fim da vida útil do Python e as opções de migração na publicação do blog publicada em 30 de junho de 2025.

DROP USER

Remove um usuário de um banco de dados. Vários usuários podem ser removidos com um único comando DROP USER. É necessário ser um superusuário do banco de dados ou ter a permissão DROP USER para executar esse comando.

Sintaxe

DROP USER [ IF EXISTS ] name [, ... ]

Parâmetros

IF EXISTS

Cláusula que indica que, se o usuário especificado não existe, o comando não deve fazer alterações e deve retornar uma mensagem informando que o usuário não existe, em vez de encerrar com um erro.

Essa cláusula é útil durante o scripting para que o script não falhe se o comando DROP USER for executado em um usuário não existente.

name

Nome do usuário a ser removido. É possível especificar vários usuários, com uma vírgula separando cada nome de usuário do texto.

Observações de uso

Não é possível descartar o usuário chamado rdsdb ou o usuário administrador do banco de dados, que normalmente é chamado de awsuser ou admin.

Você não pode remover um usuário se o usuário tem um objeto de banco de dados, como um esquema, um banco de dados, uma tabela ou uma exibição, ou se o usuário tem algum privilégio em um banco de dados, uma tabela ou grupo. Se você tentar remover esse usuário, receberá um dos erros abaixo.

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 obter instruções detalhadas sobre como encontrar os objetos pertencentes a um usuário do banco de dados, consulte Como resolvo o erro “usuário não pode ser descartado” no Amazon Redshift? no Centro de Conhecimentos.

nota

O Amazon Redshift verifica somente o banco de dados atual antes de descartar um usuário. DROP USER não retorna um erro se o usuário tiver objetos de banco de dados ou algum privilégio de objetos em outro banco de dados. Se você remover um usuário que tem objetos em outro banco de dados, o proprietário desses objetos será alterado para “unknown”.

Se um usuário tiver um objeto, primeiro remova o objeto ou altere sua propriedade para outro usuário antes de remover o usuário original. Se o usuário tiver privilégios para um objeto, revogue os privilégios antes de remover o usuário. O exemplo a seguir mostra como remover um objeto, alterar a propriedade e revogar privilégios antes de remover o usuário.

drop database dwdatabase; alter schema dw owner to dwadmin; revoke all on table dwtable from dwuser; drop user dwuser;

Exemplos

O exemplo a seguir remove um usuário chamado paulo:

drop user paulo;

O exemplo a seguir exclui dois usuários, paulo e martha:

drop user paulo, martha;

O exemplo a seguir exclui o usuário paulo caso ele exista, ou não faz nada e retorna uma mensagem caso a conta não exista:

drop user if exists paulo;