PostgreSQLLa base de données la plus sophistiquée au monde.

31.7. column_privileges

La vue column_privileges identifie tous les droits octroyés sur les colonnes à l'utilisateur courant ou par l'utilisateur courant. Il existe une ligne pour chaque combinaison de colonne, de personne donnant des droits et de personne recevant des droits. Les droits donnés aux groupes sont identifiés dans la vue role_column_grants.

Dans PostgreSQL™, vous pouvez seulement donner des droits sur des tables entières, pas sur des colonnes individuelles. Du coup, la vue contient les mêmes informations que table_privileges avec une représentation d'une ligne pour chaque colonne dans chaque table appropriée mais cela couvre seulement les types droits où la granularité des colonnes est possible : SELECT, INSERT, UPDATE, REFERENCES. Si vous souhaitez que vos applications puissent remplir les développements futurs possibles, le bon choix est d'utiliser cette vue en tant que table_privileges si un des types droit est concerné.

Tableau 31.5. Colonnes de column_privileges

Nom Type de données Description
grantor sql_identifier Nom de l'utilisateur ayant donné ce droit
grantee sql_identifier Nom de l'utilisateur et du groupe auxquels les droits reviendront
table_catalog sql_identifier Nom de la base de données contenant la table ayant les colonnes (toujours la base de données courante)
table_schema sql_identifier Nom du schéma contenant la table et les colonnes
table_name sql_identifier Nom de la table contenant la colonne
column_name sql_identifier Nom de la colonne
privilege_type character_data Type de droit : SELECT, INSERT, UPDATE ou REFERENCES
is_grantable character_data YES si le droit peut être accordé, NO sinon

Notez que la colonne grantee ne fait aucune distinction entre utilisateurs et groupes. Si vous avez des utilisateurs et des groupes du même nom, il n'y a malheureusement aucun moyen de les distinguer. Une prochaine version de PostgreSQL™ pourrait empêcher d'avoir des utilisateurs et des groupes de même nom.