dropuser

dropuser — remove uma conta de usuário do PostgreSQL

Sinopse

dropuser [opção_de_conexão...] [opção...] [nome_do_usuário]

Descrição

O utilitário dropuser remove um usuário existente do PostgreSQL. Os superusuários podem usar este comando para remover qualquer função de banco de dados (role); caso contrário, somente funções de banco de dados que não sejam de superusuário podem ser removidas, e somente por um usuário que possua o privilégio CREATEROLE e que tenha recebido ADMIN OPTION na função de banco de dados de destino.

O utilitário dropuser é um invólucro em torno do comando DROP ROLE do SQL. Não há diferença efetiva entre remover usuários por meio desse utilitário, ou por meio de outros métodos de acesso ao servidor.

Opções

O utilitário dropuser aceita os seguintes argumentos de linha de comando:

nome_do_usuário

Especifica o nome do usuário do PostgreSQL a ser removido. Será solicitado o nome do usuário, se não tiver sido fornecido algum na linha de comando, e for usada a opção -i/--interactive.

-e
--echo

Mostra os comandos que o dropuser gera e envia para o servidor.

-i
--interactive

Solicita a confirmação antes de realmente remover o usuário, e solicita o nome do usuário, se não tiver sido fornecido algum na linha de comando.

-V
--version

Mostra a versão do dropuser, e termina.

--if-exists

Não será relatado erro se o usuário não existir. É emitido um aviso neste caso.

-?
--help

Mostra a ajuda sobre os argumentos da linha de comando de dropuser, e termina.

O utilitário dropuser também aceita os seguintes argumentos de linha de comando para parâmetros de conexão:

-h hospedeiro
--host=hospedeiro

Especifica o nome de hospedeiro da máquina na qual o servidor está sendo executado. Se começar com uma barra, será usado como o diretório para o soquete de domínio Unix.

-p porta
--port=porta

Especifica a porta TCP, ou a extensão de arquivo de soquete de domínio Unix local, na qual o servidor está aguardando conexões.

-U nome_do_usuário
--username=nome_do_usuário

Nome do usuário para se conectar como (e não o nome do usuário a ser removido).

-w
--no-password

Nunca emite uma solicitação de senha. Se o servidor exigir autenticação por senha, e uma senha não estiver disponível por outros meios, como o arquivo .pgpass, a tentativa de conexão irá falhar. Esta opção pode ser útil em tarefas em lote e scripts nos quais nenhum usuário está presente para inserir uma senha.

-W
--password

Força o dropuser solicitar uma senha (para se conectar ao servidor, e não a senha para o novo usuário).

Esta opção nunca é essencial, porque o dropuser solicita automaticamente a senha se o servidor exigir autenticação por senha. No entanto, o dropuser irá desperdiçar uma tentativa de conexão ao descobrir que o servidor pede uma senha. Em alguns casos vale a pena digitar -W para evitar a tentativa extra de conexão.

Variáveis de ambiente

PGHOST
PGPORT
PGUSER

Parâmetros de conexão padrão

PG_COLOR

Especifica se devem ser usadas cores nas mensagens de diagnóstico. Os valores possíveis são always, auto e never.

Este utilitário, como a maioria dos outros utilitários do PostgreSQL, também usa as variáveis de ambiente com suporte pela libpq (veja Variáveis ​​de ambiente).

Diagnósticos

Em caso de dificuldade, veja o comando DROP ROLE e o utilitário psql para discussões sobre possíveis problemas e mensagens de erro. O servidor de banco de dados deve estar em execução no hospedeiro de destino. Além disso, quaisquer configurações de conexão padrão e variáveis de ambiente usadas pela biblioteca cliente libpq serão aplicadas.

Exemplos

Para remover o usuário joe do servidor de banco de dados padrão:

$ dropuser joe

Para remover o usuário joe usando o servidor no hospedeiro eden, porta 5000, com verificação, e vendo o comando subjacente:

$ dropuser -p 5000 -h eden -i -e joe
Role "joe" será permanentemente removida.
Você tem certeza? (s/n) s
DROP ROLE joe;

Exemplo 91. Exemplo do tradutor

Remoção de um usuário na máquina local

Remoção do usuário joe através do usuário postgres usando o servidor no hospedeiro localhost, porta 5432, com verificação, e vendo o comando subjacente:

$ dropuser -p 5432 -h localhost -i -e joe
Role "joe" será permanentemente removida.
Você tem certeza? (s/n) s
Senha:
SELECT pg_catalog.set_config('search_path', '', false);
DROP ROLE joe;

Neste exemplo a senha fornecida foi a do usuário postgres usado para remover o usuário joe.


Veja também

createuser, DROP ROLE