| 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: | Whole Thread | Raw Message | 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
| 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 |