pg_rewrite — PostgreSQL system catalog

The PostgreSQL pg_rewrite system catalog: full column reference (names, types, descriptions), catalog relationships and version support.

Summary

The catalog pg_rewrite stores rewrite rules for tables and views.

(Description quoted from the official PostgreSQL documentation.)

Columns

The pg_rewrite system catalog exposes the following columns (names, types and descriptions are taken verbatim from the PostgreSQL documentation):

  • oid oid
    Row identifier
  • rulename name
    Rule name
  • ev_class oid references pg_class.oid
    The table this rule is for
  • 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

Related catalogs

This object references the following other system catalogs:

Version applicability

Present in PostgreSQL 17, 18, 19 (verified against each release’s documentation). This is a long-standing system object that also exists in earlier PostgreSQL releases.

Related & references

Reference: PostgreSQL documentation — pg_rewrite.