PostgreSQL provides triggers and rules systems to automatically perform a certain function when an event like
DELETE is performed.
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 ...