Re: BUG #10856: Delete trigger corrupts foreign key integrity - Mailing list pgsql-bugs

From Greg Stark
Subject Re: BUG #10856: Delete trigger corrupts foreign key integrity
Date
Msg-id CAM-w4HOCxde9LV_j8ipvLSwojQQ-6Mf0Fy0U=J=CZqCOYxs13w@mail.gmail.com
Whole thread Raw
In response to BUG #10856: Delete trigger corrupts foreign key integrity  (m.fritz@wisutec.de)
Responses Re: BUG #10856: Delete trigger corrupts foreign key integrity  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
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. Child
> records are still present, master record is deleted but FOREIGN KEY is
still
> "VALID".

Yup, don't do that. I bellringer there are warnings to this effect in the
documentation.

PostgreSQL's referential integrity is handled by triggers so it's possible
to escape their effects with other triggers.

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.

pgsql-bugs by date:

Previous
From: mysti
Date:
Subject: Re: [BUG] Streaming replica sees the old max_connections value
Next
From: Tom Lane
Date:
Subject: Re: BUG #10856: Delete trigger corrupts foreign key integrity