Existe uma linha que conceda as permissões SELECT para um novo usuário postgresql?
Algo que implementaria o seguinte pseudocódigo:
GRANT SELECT ON TABLE * TO my_new_user;
permissions
sql
postgresql
user-management
Adam Matan
fonte
fonte
default privileges
esquema em que cria a tabela: postgresql.org/docs/current/static/…public
do banco de dados atual ao qual você está conectado.Minha solução (sem uma linha):
Execute a partir do usuário privilegiado, funcionou como um encanto.
fonte
Isso pode ser feito com um processo de duas etapas.
Execute esta consulta:
Substituições:
$foo
= nome de usuário para o qual você deseja conceder permissões$bar
,$baz
= esquemas nos quais você deseja conceder permissões (pode ser apenas "público")Isso fornecerá uma lista de consultas que gerarão as permissões necessárias. Copie a saída, cole-a em outra consulta e execute.
fonte
Isto é o que eu usei:
Eu acho que é mais natural fazer formatação e cláusulas where em sql.
fonte
Acabei fazendo isso e funcionou:
fonte
Estou trabalhando com o postgres 8.4 e para conceder todos os privilégios a um usuário, faça o seguinte:
fonte
Uma maneira de corrigir isso é escrever um procedimento armazenado. infelizmente não há um comando "conceder tudo para todas as tabelas" ou algo assim. você realmente precisa de um procedimento ou algum script de shell externo, talvez, para fazer isso funcionar.
fonte
O script (solução de uma linha) de Adam Matan é excelente quando existem muitos esquemas, mas não funciona onde nomes de esquemas ou tabelas contenham letras maiúsculas ou caracteres especiais.
Versão modificada:
fonte