Para crear triggers (disparadores) en PostgreSQL hay que generar dos objetos:
- Una función trigger que realiza las acciones que se quiera.
- El trigger propiamente dicho, que es el que se encarga de enlazar la función con una tabla y establecer en qué casos se va a lanzar.
Algunas notas:
- El trigger no lleva schema en el nombre. Los triggers se crean específicamente para cada tabla, por lo que su nombre debe ser único sólamente entre los otros triggers de esa tabla.
- La función trigger no puede llevar argumentos en su definición. Sin embargo, cuando es llamada por un trigger, se generan varias variables especiales en su interior, una de las cuales, TG_ARGV, es un array (empieza en 0) de texto de los argumentos pasados en la sentencia
CREATE TRIGGER
.