Olá, boa tarde

Em 14 de abril de 2010 14:41, Aline Renosto <[email protected]>escreveu:

> Boa tarde,
> Sou iniciante em banco de dados e comecei meus trabalhos com
> PostgreSQL. Tenho dúvidas em relação a grupo de usuários.
> Criei um grupo de usuários através do comando CREATE GROUP
> nome_do_grupo;. Fiz algumas alterações neste grupo, como inclusão e
> remoção de usuários e acessos a esquemas. Porém agora que ele não
> possui mais nenhum usuário, e dei um REVOKE no esquema, não consigo
> excluir esse grupo, nem pelo comando DROP USER nome_do_grupo; nem pelo
> DROP ROLE nome_do_grupo;. A mensagem de retorno é exatamente esta:
>

Primeira pergunta: Qual a versão do PostgreSQL que você está utilizando?

Quando você coloca usuários ao grupo você pode remover o grupo sem
problemas, usuários inseridos em um grupo não é restrição para que o grupo
seja removido.

Você usou o comando REVOKE para remover o usuário de um grupo ou para
retirar permissões de acesso a objetos para um determinado usuário?

Se você está tentando fazer um DROP ROLE e mesmo assim o usuário não é
removido é porque este usuário tem objetos associados como esquemas, tabelas
etc.

Se você usa uma versão do PostgreSQL superior a versão 8.2 você pode usar os
seguintes comandos:

DROP OWNED BY usuario; --Remove todos os objetos de determinado usuário,
após este comando você pode fazer:

DROP ROLE usuario; --Aqui você vai conseguir remover o usuário.

Outra solução seria:

REASSIGN OWNED BY usuario TO outro_usuario; --Neste caso você passa todos os
objetos de um usuário para um outro usuário

Agora você pode executar o DROP ROLE usuario; --Agora o usuário é removido.

Para listas quais tabelas são determinado usuário segue um exemplo bem
simples:

SELECT rolname,relname

FROM pg_roles JOIN pg_class ON pg_roles.oid=pg_class.relowner

WHERE pg_class.relkind='r'

AND pg_roles.rolname='usuario';









>
> teste=# drop group cliente;
> ERRO:  role "cliente" não pode ser removida porque alguns objetos dependem
> dela
> DETALHE:  acesso a banco de dados teste
>
> Aproveitando: como posso listar as dependências entre objetos?
> E, antes que surja a dúvida, estou logada como superuser, então
> teoricamente poderia excluir objetos, não é mesmo?
>
> Desde já, grata pela atenção.
>
> --
> Aline Renosto
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>


[]s
-- 
JotaComm
http://jotacomm.wordpress.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a