Em Sáb, 2006-11-04 às 13:31 -0200, Paulo escreveu:
> Ola Pessoal,
> 
> Desculpem insistir, mas preciso desta dica urgente.
> 
> Meu banco tem mais de 80 tabelas, torna-se inviavel dar privilegios uma a 
> uma, estou tentando dar estes privilegios a todas as tabelas numa unica 
> sentença SQL para um unico usuario.
> 
> ao invés de:
> 
> GRANT ALL PRIVILEGES ON Tabela1 TO usuario;
> GRANT ALL PRIVILEGES ON Tabela2 TO usuario;
> etc...
> 
Bem, o normal é realmente dar o GRANT para cada usuário em cada objeto
(não apenas tabelas, mas views, sequences, etc.).

Se você tiver muitos usuários, então pode criar um grupo de usuários (um
ROLE sem permissão para conectar).

Se você tem um usuário que deve ter permissões totais em todas as
tabelas, o ideal é fazer um dump do banco de dados inteiro num formato
txt (veja a documentação do pg_dump em
http://www.postgresql.org/docs/8.1/static/app-pgdump.html) e alterar a
cláusula owner dos objetos ou mesmo utilizar o "SET SESSION
AUTHORIZATION" descrito em
http://www.postgresql.org/docs/8.1/static/sql-set-session-authorization.html

Uma última alternativa mais criativa e flexível é criar um script em
PL/pgSQL que leia o nome de todas as tabelas através de uma view do
information_schema e através de um loop nesta view ir concedendo os
privilégios uma a uma. Não acho que é a melhor opção para você, afinal
80 tabelas não justificam tanto trabalho. Se fossem umas mil tabelas, aí
sim! 

Espero ter ajudado,

Atenciosamente,
Fábio Telles

> para algo do tipo:
> 
> GRANT ALL PRIVILEGES ON (todas as tabelas)  TO usuario; (aqui poderia usar 
> PUBLIC)
> 
> Alguem poderia me ajudar ??
> 
> Obrigado
> 
> Paulo.
> 
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil
> Antes de perguntar consulte o manual
> http://pgdocptbr.sourceforge.net/
> 
> Para editar suas opções ou sair da lista acesse a página da lista em:
> http://pgfoundry.org/mailman/listinfo/brasil-usuarios
-- 
site: http://www.midstorm.org/~telles/
e-mail: [EMAIL PROTECTED] 
jabber: [EMAIL PROTECTED] 
sip:[EMAIL PROTECTED]

_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a