Re: BUG #18516: Foreign key data integrity is not validated when reenabled the trigger on tables - Mailing list pgsql-bugs

From Laurenz Albe
Subject Re: BUG #18516: Foreign key data integrity is not validated when reenabled the trigger on tables
Date
Msg-id 412ed2e042c5cb552acfa45b01201083dcaae446.camel@cybertec.at
Whole thread Raw
In response to BUG #18516: Foreign key data integrity is not validated when reenabled the trigger on tables  (PG Bug reporting form <noreply@postgresql.org>)
Responses Re: BUG #18516: Foreign key data integrity is not validated when reenabled the trigger on tables
List pgsql-bugs
On Thu, 2024-06-20 at 09:10 +0000, PG Bug reporting form wrote:
> I come up with a weird issue in the PostgreSQL 15.6 version. To update the
> data in the tables I generally disable all triggers on the table using the
> superuser privilege and enable the after the data copy to avoid the checking
> the parent and child tables sequence. During the enable process FK
> constraint should check the data integrity between the child and parent
> tables. but somehow this is skipped and trigger enabled without any issue
> and later during the data restoration this issue is identified.

You wish that enabling the triggers would check the foreign key constraint,
but it doesn't.  All it does is prevent new foreign key violations from
happening.

If you disable the system triggers that implement the foreign key, all
bets are off, and you have to make sure that only correct data are
loaded.  This potential for data corruption is why only superusers can
disable system triggers.

Leave the foreign key triggers enabled while you load data.

Yours,
Laurenz Albe



pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #18517: Dropping a table referenced by an initially deferred foreign key fails with an error
Next
From: Mujjamil k
Date:
Subject: Re: BUG #18516: Foreign key data integrity is not validated when reenabled the trigger on tables