Postgresql 中文操作指南

53.38. pg_policy #

目录 pg_policy 存储表级的安全策略。策略包括它适用的命令类别(可能是所有命令)、它适用的角色、作为安全障碍限定符添加到包含表的查询的表达式以及作为 WITH CHECK 添加到尝试添加新记录到表的查询的选项的表达式。

The catalog pg_policy stores row-level security policies for tables. A policy includes the kind of command that it applies to (possibly all commands), the roles that it applies to, the expression to be added as a security-barrier qualification to queries that include the table, and the expression to be added as a WITH CHECK option for queries that attempt to add new records to the table.

Table 53.38. pg_policy Columns

Table 53.38. pg_policy Columns

Column Type

Description

oid oid

Row identifier

polname name

The name of the policy

polrelid oid (references pg_class.oid)

The table to which the policy applies

polcmd char

The command type to which the policy is applied: r for SELECT, a for INSERT, w for UPDATE, d for DELETE, or * for all

polpermissive bool

Is the policy permissive or restrictive?

polroles oid[] (references pg_authid.oid)

The roles to which the policy is applied; zero means PUBLIC (and normally appears alone in the array)

polqual pg_node_tree

The expression tree to be added to the security barrier qualifications for queries that use the table

polwithcheck pg_node_tree

The expression tree to be added to the WITH CHECK qualifications for queries that attempt to add rows to the table

Note

仅当 pg_class . relrowsecurity 为其表设置时,才应用存储在 pg_policy 中的策略。

Policies stored in pg_policy are applied only when pg_class.relrowsecurity is set for their table.