# 52.44. pg\_rewrite

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

**Table 51.44. `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`](https://www.postgresql.org/docs/10/static/catalog-pg-class.html).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](https://www.postgresql.org/docs/10/static/runtime-config-client.html#GUC-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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.postgresql.tw/11/internals/system-catalogs/51.44.-pg_rewrite.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
