Chapter 5. PL/pgSQL Trigger Functions
While it is generally a good practice to keep related code together and avoid "hidden" actions as part of main application code flows, there are also valid cases where it is a good practice to add some kind of general or cross-application functionality to the database using automated actions which happen each and every time a table is modified. That is, the actions are part of your data model and not your application code and you want to be sure that it is not possible to forget or bypass them in a similar way that constraints make it impossible to insert invalid data.
The tool for adding automated function calls to a table modifying event is called a trigger. Triggers are especially useful for cases where there are multiple different client applications—possibly from different sources and using different programming styles—accessing the same data using multiple different functions or straight SQL.
In PostgreSQL a trigger is defined in two steps:
Define...