Received: from localhost (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id 9A7C5476A71 for ; Tue, 8 Oct 2002 09:46:31 -0400 (EDT) Received: from aragorn.reaumur.absolight.net (ATuileries-113-2-1-67.abo.wanadoo.fr [80.11.216.67]) by postgresql.org (Postfix) with ESMTP id 51A0A476D7B for ; Tue, 8 Oct 2002 09:45:59 -0400 (EDT) Received: from andromede.reaumur.absolight.net (andromede.reaumur.absolight.net [212.43.217.61]) by aragorn.reaumur.absolight.net (Postfix) with ESMTP id 6757C8283 for ; Tue, 8 Oct 2002 15:46:02 +0200 (CEST) Date: Tue, 08 Oct 2002 15:47:52 +0200 From: Mathieu Arnold To: pgsql-sql@postgresql.org Subject: foreign key, on delete cascade... Message-ID: <678757221.1034092072@andromede.reaumur.absolight.net> X-Mailer: Mulberry/3.0.0b5 (Win32) X-wazaaa: True, true MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Virus-Scanned: by AMaViS new-20020517 X-Archive-Number: 200210/105 X-Sequence-Number: 9822 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