47.38. pg_rewrite

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

Table 47-38. pg_rewrite 字段

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

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