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
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faq