September 26, 2024: PostgreSQL 17 Released!
Supported Versions: Current (17) / 16 / 15 / 14 / 13 / 12
Development Versions: devel
Unsupported versions: 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2
This documentation is for an unsupported version of PostgreSQL.
You may want to view the same page for the current version, or one of the other supported versions listed above instead.

45.33. pg_rewrite

The catalog pg_rewrite stores rewrite rules for tables and views.

Table 45-33. pg_rewrite Columns

Name Type References Description
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 text   Expression tree (in the form of a nodeToString() representation) for the rule's qualifying condition
ev_action text   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.