Triggers are powerful tools that allow a database developer to better restrict data. Thanks to triggers, it is possible to perform on-the-fly validation, modification, and propagation of incoming data. PostgreSQL provides a very powerful trigger infrastructure that, being based on functions, allows you to write a trigger in any supported language. While other database systems allow you to manage DML triggers only, PostgreSQL also provides an infrastructure for database-wide DDL triggers that open new scenarios in database management and auditing.
In Chapter 7, Rules and the Query Rewriting System, we will introduce the Query Rewriting System (also known as the rule system). With this knowledge, we will be able to intercept and change an SQL statement on the fly.