REVOKE privilege [, ...] ON object [, ...] FROM { PUBLIC | GROUP ER">gBLE> | username } |
Les privilèges possibles sont :
droit d'accéder à toutes les colonnes d'une table/vue.
droit d'insérer des données dans toutes les colonnes d'une table.
droit de mettre à jour toutes les colonnes d'une table.
droit de supprimer les lignes d'une table.
droit de définir des règles sur une table/vue. (Voir CREATE RULE).
Abroge tous les droits.
Nom d'un objet pour lequel supprimer l'accès. les objets possibles sont :
table
view
sequence
index
Nom d'un groupe à qui on supprime les droits.
Nom d'un utilisateur à qui on supprime les droits. Utilisez le mot-clé PUBLIC pour spécifier tous les utilisateurs.
abroge les droits spécifiés pour tous les utilisateurs.
Message retourné si succès.
Message retourné si l'objet n'est pas disponible ou impossible d'abroger les droits d'un groupe ou d'utilisateurs.
REVOKE permet au créateur d'un objet d'abroger les droits accordés précédemment, à tous les utilisateurs (via PUBLIC) ou à un utilisateur ou un groupe.
voir la commande psql \z pour plus d'information sur les permissions concernant les objets existants :
Database = lusitania +------------------+---------------------------------------------+ | Relation | Grant/Revoke Permissions | +------------------+---------------------------------------------+ | mytable | {"=rw","miriam=arwR","group todos=rw"} | +------------------+---------------------------------------------+ Legend: uname=arwR -- privileges granted to a user group gname=arwR -- privileges granted to a GROUP =arwR -- privileges granted to PUBLIC r -- SELECT w -- UPDATE/DELETE a -- INSERT R -- RULE arwR -- ALL |
Habituellement, pour créer un groupe vous devez insérer les données à la main dans la table pg_group comme suit :
|
Abroge les droits d'insérer dans la table films pour tous les utilisateurs :
REVOKE INSERT ON films FROM PUBLIC; |
Abroge tous les droits de l'utilisateur manuel sur la vue kinds:
REVOKE ALL ON kinds FROM manuel; |
La syntaxe SQL92 pour REVOKE possède des fonctionnalités supplémentaires pour l'abrogation des droits, incluant ceux sur les colonnes individuelles des tables :
REVOKE { SELECT | DELETE | USAGE | ALL PRIVILEGES } [, ...] ON object FROM { PUBLIC | username [, ...] } { RESTRICT | CASCADE } REVOKE { INSERT | UPDATE | REFERENCES } [, ...] [ ( column [, ...] ) ] ON object FROM { PUBLIC | username [, ...] } { RESTRICT | CASCADE } |
Voir GRANT pour les détails sur les champs individuels.
REVOKE GRANT OPTION FOR privilege [, ...] ON object FROM { PUBLIC | username [, ...] } { RESTRICT | CASCADE } |
abroge le droit pour un utilisateur d'accorder des privilèges aux autres. Voir la commande GRANT pour les détails sur les champs individuels.
Les objets possibles sont :
[ TABLE ] table/view |
CHARACTER SET character-set |
COLLATION collation |
TRANSLATION translation |
DOMAIN domain |
Si l'utilisateur1 donne un privilège WITH GRANT OPTION à l'utilisateur2, et que l'utilisateur2 donne ces droits à l'utilisateur3, l'utilisateur1 peut abroger ces droits en cascade en utiliant le mot-clé CASCADE.
Si l'utilisateur1 accorde un privilège WITH GRANT OPTION à l'utilisateur2, et que l'utilisateur2 donne ces droits à l'utilisateur3, alors si l'utilisateur1 essaie d'abroger ces privilèges, ceci ne fonctionnera pas si il/elle a spécifié le mot-clé RESTRICT.