pg_rewrite 存储为表和视图定义的重写规则。
表43-28. pg_rewrite 字段
名字 | 类型 | 引用 | 描述 |
---|---|---|---|
rulename | name | 规则名称 | |
ev_class | oid | pg_class.oid | 使用这条规则的表名称 |
ev_attr | int2 | 这条规则适用的字段(目前总是为零,表示整个表) | |
ev_type | char | 规则适用的事件类型: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE | |
is_instead | bool | 如果该规则是 INSTEAD 规则,那么为真 | |
ev_qual | text | 规则的资格条件的表达式树(以 nodeToString() 形式存在) | |
ev_action | text | 规则动作的查询树(以 nodeToString() 形式存在) |
【注意】如果一个表在这个系统表里有任何规则存在,那么 pg_class.relhasrules 必须为真。