Re: altering foreign key without a table scan

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Vincent de Phily <vincent(dot)dephily(at)mobile-devices(dot)fr>
Cc: Jerry Sievers <gsievers19(at)comcast(dot)net>, pgsql-general(at)postgresql(dot)org
Subject: Re: altering foreign key without a table scan
Date: 2011-08-19 16:55:01
Message-ID: 9988.1313772901@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Vincent de Phily <vincent(dot)dephily(at)mobile-devices(dot)fr> writes:
> On Friday 19 August 2011 11:52:50 Tom Lane wrote:
>> IIRC, there are fields of pg_constraint that are copied into the
>> pg_trigger rows for the supporting triggers, so as to save one catalog
>> lookup at run time. If you diddle one manually, you'd better diddle
>> both.

> Some relid values are indeed duplicated in pg_constraint and pg_trigger, but
> it doesn't look like I need to fiddle with those ?

> I'm only touching pg_trigger.tgfoid and pg_constraint.confdeltype/confupdtype
> (which indeed seem to say the same thing in a different way). Do you know if
> there is something else I've missed ?

Yeah, that seems to be it except for the deferrable/deferred fields,
which match up in the obvious way. I had been thinking the RI triggers
avoided doing a lookup in pg_constraint, but that was mistaken. (I
think we used to store all that info in tgargs, but we evidently don't
anymore.)

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Vincent de Phily 2011-08-19 17:19:53 Re: altering foreign key without a table scan
Previous Message Tom Lane 2011-08-19 16:44:40 Re: Need linux uid in pg-psql