Le catalogue pg_policy stocke les politiques de sécurité niveau ligne pour les tables. Une politique inclue le type de commandes auquel elle s'applique (éventuellement toutes les commandes), les rôles auxquels elle s'applique, l'expression à ajouter comme barrière de sécurité aux requêtes qui incluent la table, et l'expression à ajouter comme option WITH CHECK aux requêtes qui tentent d'ajouter de nouvelles lignes à la table.
Tableau 49.36. Colonnes de pg_policy
Nom | Type | Références | Description |
---|---|---|---|
polname | name | Le nom de la politique de sécurité | |
polrelid | oid | pg_class.oid | La table à laquelle s'applique la politique de sécurité |
polcmd | char | Le type de commande auquel est appliqué la politique de sécurité : r pour SELECT, a pour INSERT, w pour UPDATE, d pour DELETE ou * pour tous | |
polroles | oid[] | pg_authid.oid | Les rôles à qui est appliquée la politique de sécurité |
polqual | pg_node_tree | L'arbre de l'expression à ajouter aux barrières de sécurité pour les requêtes qui utilisent la table | |
polwithcheck | pg_node_tree | L'arbre de l'expression à ajouter aux qualifications WITH CHECK pour les requêtes qui tentent d'ajouter des lignes à la table |
Les politiques de sécurité stockées dans pg_policy sont seulement appliquées lorsque pg_class.relrowsecurity est positionné pour leur table.