DROP ROLE

Nome

DROP ROLE -- remove um papel do banco de dados

Sinopse

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

Descrição

O comando DROP ROLE remove os papéis especificados. Para remover um papel superusuário, é necessário ser um superusuário; para remover papéis que não são superusuário, é necessário possuir o privilégio CREATEROLE.

O papel não poderá ser removido se ainda estiver sendo referenciado em qualquer banco de dados do agrupamento; será lançado um erro se for tentado. Antes de remover o papel é necessário remover todos os objetos pertencentes ao mesmo (ou mudar o dono), e revogar todos os privilégios concedidos pelo papel. Os comandos REASSIGN OWNED e DROP OWNED podem ser úteis para esta finalidade.

Entretanto, não é necessário remover os status de membro do papel relacionados ao papel; o comando DROP ROLE revoga, automaticamente, todos os status de membro do papel de destino em outros papéis, e dos outros papéis no papel de destino. Os outros papéis não são removidos nem afetados de outra forma.

Parâmetros

IF EXISTS

Não lança um erro se o papel não existir. Neste caso é emitida uma notificação.

nome

O nome do papel a ser removido.

Observações

O PostgreSQL inclui o aplicativo dropuser que possui a mesma funcionalidade deste comando (na verdade, chama internamente este comando), mas que pode ser executado a partir da linha de comando do interpretador de comandos.

Exemplos

Para remover um papel:

DROP ROLE josefina;

Compatibilidade

O padrão SQL define o comando DROP ROLE, mas permite remover apenas um papel de cada vez, e especifica requisitos de privilégio diferentes dos utilizados pelo PostgreSQL.

Consulte também

CREATE ROLE, ALTER ROLE, SET ROLE
SourceForge.net Logo CSS válido!