pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
foreign key, on delete cascade...
2+ messages / 2 participants
[nested] [flat]

* foreign key, on delete cascade...
@ 2002-10-08 13:47 Mathieu Arnold <mat@mat.cc>
  2002-10-08 15:00 ` Re: foreign key, on delete cascade... Stephan Szabo <sszabo@megazone23.bigpanda.com>
  0 siblings, 1 reply; 2+ messages in thread

From: Mathieu Arnold @ 2002-10-08 13:47 UTC (permalink / raw)
  To: pgsql-sql

Hi

I found in an old pgsql dump something like :


UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" ~* 'TABLE NAME';

inserts....

BEGIN TRANSACTION;
CREATE TEMP TABLE "tr" ("tmp_relname" name, "tmp_reltriggers" smallint);
INSERT INTO "tr" SELECT C."relname", count(T."oid") FROM "pg_class" C,
"pg_trigger" T WHERE C."oid" = T."tgrelid" AND C."relname" ~* 'TABLE NAME'
GROUP BY 1;
UPDATE "pg_class" SET "reltriggers" = TMP."tmp_reltriggers" FROM "tr" TMP
WHERE "pg_class"."relname" = TMP."tmp_relname";
DROP TABLE "tr";
COMMIT TRANSACTION;

Which was supposed to disable triggers on this table during the inserts. It
was on 7.0.x I believe, It still work with 7.2.3, but I was wondering if it
was the right way to do.

-- 
Mathieu Arnold



^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* Re: foreign key, on delete cascade...
  2002-10-08 13:47 foreign key, on delete cascade... Mathieu Arnold <mat@mat.cc>
@ 2002-10-08 15:00 ` Stephan Szabo <sszabo@megazone23.bigpanda.com>
  0 siblings, 0 replies; 2+ messages in thread

From: Stephan Szabo @ 2002-10-08 15:00 UTC (permalink / raw)
  To: Mathieu Arnold <m@mat.cc>; +Cc: pgsql-sql


On Tue, 8 Oct 2002, Mathieu Arnold wrote:

> I found in an old pgsql dump something like :
>
> UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" ~* 'TABLE NAME';
>
> inserts....
>
> BEGIN TRANSACTION;
> CREATE TEMP TABLE "tr" ("tmp_relname" name, "tmp_reltriggers" smallint);
> INSERT INTO "tr" SELECT C."relname", count(T."oid") FROM "pg_class" C,
> "pg_trigger" T WHERE C."oid" = T."tgrelid" AND C."relname" ~* 'TABLE NAME'
> GROUP BY 1;
> UPDATE "pg_class" SET "reltriggers" = TMP."tmp_reltriggers" FROM "tr" TMP
> WHERE "pg_class"."relname" = TMP."tmp_relname";
> DROP TABLE "tr";
> COMMIT TRANSACTION;
>
> Which was supposed to disable triggers on this table during the inserts. It
> was on 7.0.x I believe, It still work with 7.2.3, but I was wondering if it
> was the right way to do.

For right now, I believe so as long as you don't want the inserted rows
to be checked at all.




^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2002-10-08 15:00 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2002-10-08 13:47 foreign key, on delete cascade... Mathieu Arnold <mat@mat.cc>
2002-10-08 15:00 ` Stephan Szabo <sszabo@megazone23.bigpanda.com>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox