Documentation PostgreSQL 14.22 » Internes » Catalogues système » `pg_policy`

Précédent | Niveau supérieur | Suivant
52.36. `pg_partitioned_table` | Sommaire | 52.38. `pg_proc`

## 52.37. `pg_policy`

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 52.37. Colonnes de `pg_policy`

Type Description
`oid` `oid` Identifiant de ligne
`polname` `name` Le nom de la politique de sécurité
`polrelid` `oid` (référence `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
`polpermissive` `bool` La politique est-elle permissive ou restrictive ?
`polroles` `oid[]` (référence `pg_authid`.`oid`) Les rôles à qui est appliquée la politique de sécurité ; zéro signifie `PUBLIC` (et apparaît normalement seule dans le tableau)
`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

### Note

Les politiques de sécurité stockées dans `pg_policy` sont seulement appliquées lorsque `pg_class`.`relrowsecurity` est positionné pour leur table.