Re: Perfornamce Q

From: Jean-Christian Imbeault <jc(at)mega-bucks(dot)co(dot)jp>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Perfornamce Q
Date: 2003-01-23 06:01:45
Message-ID: 3E2F8549.2060209@mega-bucks.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Tom Lane wrote:
>
> Doesn't matter: any update will fire the foreign-key check trigger.
>
> Whether this is necessary or not I dunno, but someone's thought of
> it before: in the code I see
> /*
> * Note: We cannot avoid the check on UPDATE, even if old and new key
> * are the same. Otherwise, someone could DELETE the PK that consists
> * of the DEFAULT values, and if there are any references, a ON DELETE
> * SET DEFAULT action would update the references to exactly these
> * values but we wouldn't see that weired case (this is the only place
> * to see it).
> */

I don't quite understand the comment but I guess it mean that an "ON
DELETE SET DEFAULT" might be triggered by an UPDATE, and that "ON DELETE
SET DEFAULT" might affect the PK, AND because of this possible scenario
the FK check is needed.

Is there any way for me to turn the behaviour off during my updates?

Could this be added to the to-do list (if feasible)?

- skip FK (any?) constraint checks on UPDATE if the affected update
column(s) have no constraints/check on them.

Thanks,

Jc

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Stephan Szabo 2003-01-23 06:38:07 Re: Perfornamce Q
Previous Message Tom Lane 2003-01-23 05:50:43 Re: Perfornamce Q