Minha versão é 8.4.
O REVOKE feito foi:
REVOKE USAGE ON SCHEMA schema01 FROM GROUP cliente;

Consegui excluir os usuários, mas o grupo não. A mensagem é que algum
objeto depende desse grupo, porém não relacionei mais nada com o
grupo...

Em 14 de abril de 2010 15:02, JotaComm <[email protected]> escreveu:
> 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
>
>



-- 
Aline Renosto
Divisão de hardware e soluções integradas
[email protected]
+55 47 3203-8020
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a