The query rewriting system is a PostgreSQL component that intercepts statements and optionally rewrites them into other forms. Thanks to this component, statements can be bounced from one target to another or they can be modified into a totally different statement, therefore providing a very dynamic mechanism to handle users' queries.
The query rewriting system can be exploited by developers by mean of rules, which are definitions of how the statement transformations must happen. As you will see, this allows PostgreSQL to implement dynamic views and much more.
This chapter will focus on the following topics:
- The query rewriting system and how it works
- The rule system, the interface to the query rewriting system
- How dynamic views are created by means of rules
- How to exploit rules to bounce statements from one table to another, or to transform...