18th October 2018: PostgreSQL 11 Released!
Supported Versions: Current (11) / 10 / 9.6 / 9.5 / 9.4 / 9.3
Development Versions: devel
Unsupported versions: 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2

47.38. pg_rewrite

The catalog pg_rewrite stores rewrite rules for tables and views.

Table 47-38. pg_rewrite Columns

Name Type References Description
oid oid   Row identifier (hidden attribute; must be explicitly selected)
rulename name   Rule name
ev_class oid pg_class.oid The table this rule is for
ev_attr int2   The column this rule is for (currently, always -1 to indicate the whole table)
ev_type char   Event type that the rule is for: 1 = SELECT, 2 = UPDATE, 3 = INSERT, 4 = DELETE
ev_enabled char   Controls in which session_replication_role modes the rule fires. O = rule fires in "origin" and "local" modes, D = rule is disabled, R = rule fires in "replica" mode, A = rule fires always.
is_instead bool   True if the rule is an INSTEAD rule
ev_qual pg_node_tree   Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition
ev_action pg_node_tree   Query tree (in the form of a nodeToString() representation) for the rule's action

Note: pg_class.relhasrules must be true if a table has any rules in this catalog.

Submit correction

If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.