目录pg_policy
存储着表的行级安全性策略。
一个策略包括它适用于的命令种类(可能适用于所有命令)、它适用于的角色、
被作为安全屏障条件增加到包括该表的查询的表达式以及被作为
WITH CHECK
选项增加到尝试向表增加新纪录的查询的表达式。
表 51.38. pg_policy
列
名称 | 类型 | 引用 | 描述 |
---|
polname | name | | 策略的名称 |
polrelid | oid | pg_class .oid
| 策略适用的表 |
polcmd | char | | 策略适用的命令类型:
r 表示SELECT ,
a 表示INSERT ,
w 表示UPDATE ,
d 表示DELETE ,
* 表示所有命令类型 |
polpermissive | boolean | | 策略是宽容还是限制性的? |
polroles | oid[] | pg_authid .oid
| 策略适用的角色 |
polqual | pg_node_tree | | 被作为安全屏障条件增加到使用该表的查询的表达式树 |
polwithcheck | pg_node_tree | | 被作为WITH CHECK 条件增加到尝试向表增加行的查询的表达式树 |
注意
存储在pg_policy
中的策略只有在它们所适用的表的
pg_class
.relrowsecurity
被设置时才其作用。