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