Triggers and rule systems
PostgreSQL provides triggers and rules systems to automatically perform a certain function when an event like INSERT
, UPDATE
, or DELETE
is performed.
Tip
Triggers and rules cannot be defined on the SELECT
statements except for the _RETURN
, which is used in the internal implementation of PostgreSQL views.
From the functionality point of view, the trigger system is more generic; it can be used to implement complex actions more easily than rules. However, both trigger and rule systems can be used to implement the same functionality in several cases.
From the performance point of view, rules tend to be faster than triggers; but triggers tend to be simpler and more compatible with other RDBMs, since the rule system is a PostgreSQL extension.
The PostgreSQL rule system
Creating a rule will either rewire the default rule, or create a new rule for a specific action on a specific table or view. In other words, a rule on an insert action can change the insert action behavior, or...