47.38. pg_rewrite

pg_rewrite存储为表和视图定义的重写规则。

表 47-38. pg_rewrite 字段

名字类型引用描述
oidoid 行标识符(隐藏属性; 必须明确选择)
rulenamename 规则名称
ev_classoidpg_class.oid使用这条规则的表名称
ev_attrint2 这条规则适用的字段(目前总是为-1,表示整个表)
ev_typechar  规则适用的事件类型:1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE
ev_enabledchar  控制规则在哪个session_replication_role模块触发。 O = 规则 "origin""local" 模块触发, D = 规则被禁用, R = 规则在 "replica" 模块触发, A = 规则总是触发。
is_insteadbool 如果该规则是INSTEAD规则,那么为真
ev_qualpg_node_tree  规则的资格条件的表达式树(以nodeToString()形式存在)
ev_actionpg_node_tree  规则动作的查询树(以nodeToString()形式存在)

注意: 如果一个表在这个系统表里有任何规则存在,那么pg_class.relhasrules必须为真。