English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A cada vez que um objeto do banco de dados é criado, um proprietário é atribuído a ele, geralmente a pessoa que executa a sentença create.
Para a maioria dos tipos de objetos, o estado inicial é que apenas o proprietário (ou superusuário) pode modificar ou excluir o objeto. Para permitir que outros papéis ou usuários o usem, é necessário configurar permissões para esses usuários.
No PostgreSQL, as permissões são divididas em várias categorias:
SELECIONAR
INSERIR
ATUALIZAR
DELETAR
TRUNCAR
REFERÊNCIAS
TRIGGER
CREAR
CONECTAR
TEMPORÁRIO
EXECUTAR
USO
De acordo com o tipo do objeto (tabela, função, etc.), aplique as permissões específicas ao objeto.
Para atribuir permissões a usuários, você pode usar o comando GRANT.
A sintaxe básica do comando GRANT é a seguinte:
GRANT privilege [, ...] ON object [, ...] TO { PUBLIC | GROUP group | username }
privilege − O valor pode ser: SELECT, INSERT, UPDATE, DELETE, RULE, ALL.
object − O nome do objeto a ser concedido acesso. Os objetos possíveis incluem: table, view, sequence.
PUBLIC − Representa todos os usuários.
GROUP group − Concede permissões para o grupo de usuários.
username − nome do usuário a quem serão atribuídas as permissões. PUBLIC é uma forma abreviada para todos os usuários.
Além disso, podemos usar o comando REVOKE para cancelar permissões, sintaxe do REVOKE:
REVOKE privilege [, ...] ON object [, ...] FROM { PUBLIC | GROUP groupname | username }
Para entender as permissões, crie um usuário:
w3codeboxdb=# CREATE USER w3codebox COM SENHA 'password'; CREATE ROLE
Informação CREATE ROLE indica que foi criado um usuário "w3codebox".
Criar tabela COMPANY(Baixar arquivo SQL da tabela COMPANY ),o conteúdo dos dados é o seguinte:
w3codeboxdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
Agora atribuir permissões ao usuário "w3Permissões atribuídas a codebox":
w3codeboxdb=# GRANT ALL ON COMPANY TO w3codebox; GRANT
Informação GRANT indica que todas as permissões foram atribuídas a "w3codebox".
A seguir, revogar as permissões do usuário "w3Permissões de codebox" revogadas:
w3codeboxdb=# REVOKE ALL ON COMPANY FROM w3codebox; REVOKE
Informação REVOKE indica que as permissões do usuário foram revogadas.
Você também pode excluir o usuário:
w3codeboxdb=# DROP USER w3codebox; DROP ROLE
Informação DROP ROLE indica que o usuário "w3codebox" foi removido do banco de dados.