public inbox for [email protected]
help / color / mirror / Atom feedFrom: Dimitrios Apostolou <[email protected]>
To: Adrian Klaver <[email protected]>
Cc: Laurenz Albe <[email protected]>
Cc: Tom Lane <[email protected]>
Cc: [email protected]
Subject: Re: TRUNCATE ONLY with foreign keys and triggers disabled
Date: Mon, 14 Apr 2025 17:20:36 +0200 (CEST)
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
On Mon, 14 Apr 2025, Adrian Klaver wrote:
> On 4/14/25 08:07, Laurenz Albe wrote:
>> On Mon, 2025-04-14 at 17:05 +0200, Dimitrios Apostolou wrote:
>>> I meant the *referencing* table has just been
>>> populated. I'm trying to delete the *referenced* table and I get the
>>> error.
>>
>> That would break the foreign key constraint, right?
>> PostgreSQL cannot allow that.
>
> I believe the OP is disabling all triggers including system ones if I follow
> correctly and possibly running a foul of;
>
> https://www.postgresql.org/docs/current/sql-altertable.html
>
> " Disabling or enabling internally generated constraint triggers requires
> superuser privileges; it should be done with caution since of course the
> integrity of the constraint cannot be guaranteed if the triggers are not
> executed."
Exactly that. I learned this from pg_restore --disable-triggers, as a way
to speed-up insertion.
Since triggers are disabled, I assumed that postgresql shouldn't care
about referential integrity in TRUNCATE.
Dimitris
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: TRUNCATE ONLY with foreign keys and triggers disabled
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox