English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Quand vous créez un objet de base de données, un propriétaire est attribué à celui-ci, généralement la personne qui exécute la phrase create.
Pour la plupart des types d'objets, l'état initial est que seul le propriétaire (ou l'utilisateur super) peut modifier ou supprimer l'objet. Pour permettre à d'autres rôles ou utilisateurs de l'utiliser, il est nécessaire de définir des droits pour cet utilisateur.
Dans PostgreSQL, les droits sont divisés en plusieurs types :
SELECT
INSERT
UPDATE
DELETE
TRUNCATE
REFERENCES
TRIGGER
CREATE
CONNECT
TEMPORARY
EXECUTE
USAGE
Selon le type de l'objet (table, fonction, etc.), appliquez les droits spécifiés à cet objet.
Pour attribuer des droits à un utilisateur, vous pouvez utiliser la commande GRANT.
La grammaire de base de la commande GRANT est la suivante :
GRANT privilege [, ...] ON object [, ...] TO { PUBLIC | GROUP group | username }
privilege − La valeur peut être : SELECT, INSERT, UPDATE, DELETE, RULE, ALL.
object − Nom de l'objet à accorder l'accès. Les objets possibles incluent : table, vue, sequence.
PUBLIC − Représente tous les utilisateurs.
GROUP group − Accorder des droits aux groupes d'utilisateurs.
username − Le nom d'utilisateur à qui les droits sont attribués. PUBLIC est une forme abrégée représentant tous les utilisateurs.
De plus, nous pouvons utiliser la commande REVOKE pour annuler les droits, syntaxe de REVOKE :
REVOKE privilege [, ...] ON object [, ...] FROM { PUBLIC | GROUP groupname | username }
Pour comprendre les droits, créez un utilisateur :
w3codeboxdb=# CREATE USER w3codebox WITH PASSWORD 'password'; CREATE ROLE
Information CREATE ROLE indique que l'utilisateur "w3codebox"。
Créer la table COMPANY (Télécharger le fichier SQL COMPANY ),le contenu des données est le suivant :
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)
Maintenant, attribuer des droits à l'utilisateur "w3codebox" attribution des droits :
w3codeboxdb=# GRANT ALL ON COMPANY TO w3codebox; GRANT
Information GRANT indique que tous les droits ont été attribués à "w3codebox"。
Ensuite, révoquer les droits de l'utilisateur "w3Les droits de codebox" :
w3codeboxdb=# REVOKE ALL ON COMPANY FROM w3codebox; REVOKE
Information REVOKE indique que les droits de l'utilisateur ont été révoqués.
Vous pouvez également supprimer l'utilisateur :
w3codeboxdb=# DROP USER w3codebox; DROP ROLE
Information DROP ROLE indique que l'utilisateur "w3codebox" a été supprimé de la base de données.