## 49.40. `pg_rewrite`

The catalog `pg_rewrite` stores rewrite rules for tables and views.

Table 49.40. `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_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.