Je suis extrêmement nouveau sur PostgreSQL, mais l'un des exemples de la documentation PostgreSQL pour les déclencheurs / la programmation côté serveur semble faire exactement ce que vous recherchez.
Voir :http://www.postgresql.org/docs/9.2 /static/trigger-example.html
Extrait de la page :"Ainsi, le déclencheur agit comme une contrainte non nulle mais n'interrompt pas la transaction. "