Greg Stark <stark@mit.edu> writes:
> On 5 Jul 2014 06:58, <m.fritz@wisutec.de> wrote:
>> A "before delete" trigger on a child table returning "NULL" prevents records
>> from deletion, which violates against the FOREIGN KEY constraint.
> Yup, don't do that. I bellringer there are warnings to this effect in the
> documentation.
> We could implement them internally without using triggers but there are
> other advantages to using triggers and so far the feeling is that the
> development effort is better spent elsewhere.
More to the point, if FK actions did not fire triggers, that would be a
significant loss of functionality. There are plenty of applications
wherein you'd like to have that, for example for logging purposes.
So our choice is that user-written triggers are fired and it's up to
you that they not break FK changes.
regards, tom lane