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
