From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Janning Vygen <vygen(at)gmx(dot)de> |
Cc: | Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Changes to not deferred FK in 8.0.3 to 7.4? |
Date: | 2005-07-19 13:40:18 |
Message-ID: | 23276.1121780418@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Janning Vygen <vygen(at)gmx(dot)de> writes:
> On more related question:
> I updated pg_trigger and pg_constraint and changed all my FK:
> UPDATE pg_trigger
> SET
> tgdeferrable = true,
> tginitdeferred = true
> WHERE tgconstrname LIKE 'fk_%'
> ;
> UPDATE pg_constraint
> SET
> condeferrable = true,
> condeferred = true
> WHERE conname LIKE 'fk_%'
> ;
No, only the triggers that are for checks should be marked
deferrable/deferred. These are the ones using functions
RI_FKey_check_ins
RI_FKey_check_upd
RI_FKey_noaction_del
RI_FKey_noaction_upd
You want the others nondeferrable because (a) that's the standard
behavior and (b) it'll ensure that the actions happen before the
checks are made.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | David Parker | 2005-07-19 13:51:50 | pg_dump and write locks |
Previous Message | Ilja Golshtein | 2005-07-19 12:19:58 | Re: Old question - failed to find conversion function from "unknown" |