Re: TRUNCATE ONLY with foreign keys and triggers disabled
От | Dimitrios Apostolou |
---|---|
Тема | Re: TRUNCATE ONLY with foreign keys and triggers disabled |
Дата | |
Msg-id | 376367c8-1baf-3e64-9363-15fa24265b6c@gmx.net обсуждение исходный текст |
Ответ на | Re: TRUNCATE ONLY with foreign keys and triggers disabled (Adrian Klaver <adrian.klaver@aklaver.com>) |
Ответы |
Re: TRUNCATE ONLY with foreign keys and triggers disabled
|
Список | pgsql-general |
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
В списке pgsql-general по дате отправления: