Ich bin extrem neu bei PostgreSQL, aber eines der Beispiele in der PostgreSQL-Dokumentation für Trigger / serverseitige Programmierung sieht so aus, als würde es genau das tun, wonach Sie suchen.
Siehe:http://www.postgresql.org/docs/9.2 /static/trigger-example.html
Snippet von der Seite:„Der Trigger fungiert also als Nicht-Null-Einschränkung, bricht aber die Transaktion nicht ab. "