From: | Dimitrios Apostolou <jimis(at)gmx(dot)net> |
---|---|
To: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
Cc: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: TRUNCATE ONLY with foreign keys and triggers disabled |
Date: | 2025-04-14 16:09:30 |
Message-ID: | 40e61dac-9903-2d45-0dd5-4d848106e7a0@gmx.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Mon, 14 Apr 2025, Adrian Klaver wrote:
> On 4/14/25 08:20, Dimitrios Apostolou wrote:
>> 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.
>
> I'm going to say the depends on order of execution. Without seeing the code
> changes you have done there is really no way to determine what the exact
> issue is.
Sent patch here:
https://www.postgresql.org/message-id/flat/4589087c-ec6f-4407-1f82-6cb2e681ac0a%40gmx.net
The reason I first sent here (pgsql-general) is that I wondered if the
error is just an implementation shortcoming without deeper reasons, thus
it would be achievable to try to fix it myself.
Dimitris
From | Date | Subject | |
---|---|---|---|
Next Message | Jehan-Guillaume de Rorthais | 2025-04-14 17:18:46 | Re: ICU Collations and Collation Updates |
Previous Message | Adrian Klaver | 2025-04-14 15:32:22 | Re: TRUNCATE ONLY with foreign keys and triggers disabled |