Re: How to temporarily disable a table's FK constraints? - Mailing list pgsql-general

From andy
Subject Re: How to temporarily disable a table's FK constraints?
Date
Msg-id 472F9A1B.1020308@squeakycode.net
Whole thread Raw
In response to How to temporarily disable a table's FK constraints?  ("Kynn Jones" <kynnjo@gmail.com>)
Responses Re: How to temporarily disable a table's FK constraints?  ("Kynn Jones" <kynnjo@gmail.com>)
List pgsql-general
Kynn Jones wrote:
> Hi, everyone.
>
> Is there a standard way to disable a table foreign-key constraint temporarily?
>
> I thought that this would be a fairly common thing to want to do, but
> I only found this snippet online:
>
> -- to disable
> UPDATE pg_class SET reltriggers=0 WHERE relname = 'your_table';
>
> -- to re-enable
> UPDATE pg_class SET reltriggers = count( * )
>   FROM pg_trigger WHERE pg_class.oid=tgrelid AND relname = 'your_table';
>
> and it appears that one needs to be root to execute these statements.
>
> Is there any other way for non-root users?
>
> TIA!
>
> kj

Hey, I was just thinking about this... instead of disabling the FK's,
what about adding a temp table where you could COPY into, then fire off
a bunch of update's to setup the id fields, etc, etc, then do an Insert
into realtable select * from temptable?

-Andy

pgsql-general by date:

Previous
From: andy
Date:
Subject: Re: php and postgres - too many queries too fast?
Next
From: Jeff Davis
Date:
Subject: Re: php and postgres - too many queries too fast?