No PostgreSQL, um usuário deve ter o Privilégio de login Para fazer login no banco de dados. No entanto, as permissões explícitas devem ser atribuídas para executar operações de banco de dados, incluindo a seleção de tabelas, colunas e registros.
O PostgreSQL Grant A consulta permite modificar privilégios para usuários em objetos de banco de dados, como tabelas, colunas, visualizações, funções, esquemas e muito mais.
Este tutorial irá orientá -lo usando o PostgreSQL Grant comando para modificar privilégios para vários objetos de banco de dados.
Uso básico
A sintaxe básica para o comando de concessão é:
Conceder privilégios (s) em objeto (s) ao usuárioNa sintaxe acima, você pode especificar um ou mais privilégios para conceder no objeto especificado para o usuário.
Para definir todos os privilégios em um objeto, você pode usar a palavra -chave.
Alguns dos privilégios que você pode especificar para conceder em um objeto incluem:
Em seguida, você especifica o objeto de banco de dados e o usuário que concede os privilégios definidos.
Exemplos de declaração de concessão
Vejamos alguns exemplos de como usar o Consulta de concessão no Banco de dados PostgreSQL.
Primeiro, crie um usuário local sem privilégios. Para fazer isso, verifique se você efetua login como usuário administrador.
PSQL -U PostGresNa próxima etapa, crie um banco de dados e uma tabela que usaremos para ilustrar os privilégios do PostGresql.
Uma consulta de amostra está abaixo:
Soltar o banco de dados se existir privs;Por fim, saia do usuário do Postgres e faça login como o usuário que acabamos de criar acima. No exemplo acima, use o comando:
PSQL -U Mods -d Privs;Exemplo 1
Se você tentar selecionar valores na tabela Modify do banco de dados Privs, você receberá uma permissão negado erro.
Por exemplo:
privs => selecione * do modify;Você pode resolver este erro concedendo todas as permissões ao usuário do MODS ou adicionando privilégios selecionados.
Para fazer isso, efetue login como usuário do Postgres.
PSQL -U PostGres -d Privs;Isso permite que os usuários dos mods selecionem itens na tabela Modify do banco de dados Privs.
Depois de executar a instrução SELECT, você deve obter resultados como:
privs =# selecione * do modify;Exemplo 2
Você também pode atribuir vários privilégios de uma só vez. Por exemplo, para especificar Selecione, inserir, excluir e truncar privilégios, use o comando.
Grant Select, inserir, excluir, truncar em modificar para mods;Exemplo 3
Para conceder todas as permissões a um usuário, defina os privilégios para todos, conforme mostrado no comando de exemplo abaixo:
Conceda a todos no Modify aos mods;Exemplo 4
Em todos os exemplos acima, atribuímos apenas privilégios a um usuário em uma tabela específica. Para conceder os privilégios a todas as tabelas de um esquema especificado, podemos usar o comando:
Grant Select, inserir, excluir, truncar em todas as tabelas no esquema "privs" em mods;Exemplo 5
Você também pode CONCEDER um privilégio de conexão a um usuário específico para um banco de dados específico. A consulta é:
Grant Connect no banco de dados Privs aos mods;Para revogar todas as permissões concedidas a um usuário, use a consulta de revogar como:
Revogar selecionar, inserir, excluir, truncar no modificar dos mods;Fechamento
Como este guia mostrou a você, PostGresql permite modificar privilégios para um usuário em objetos de banco de dados usando o Conceder e revogar comandos.