Re: question: foreign key constraints and AccessExclusive locks - Mailing list pgsql-hackers

From Tom Lane
Subject Re: question: foreign key constraints and AccessExclusive locks
Date
Msg-id 12495.1357526936@sss.pgh.pa.us
Whole thread Raw
In response to Re: question: foreign key constraints and AccessExclusive locks  (Jon Nelson <jnelson+pgsql@jamponi.net>)
List pgsql-hackers
Jon Nelson <jnelson+pgsql@jamponi.net> writes:
> On Sun, Jan 6, 2013 at 4:14 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
>> FKs are enforced by triggers currently. Adding triggers requires
>> AccessExclusiveLock because of catalog visibility issues; you are
>> right that a lower lock is eventually possible.

> I've read and re-read this a few times, and I think I understand.
> However, could you clarify "you are right that a lower lock is
> eventually possible" for me, please?

We have some ideas about how to add/drop triggers while locking out only
operations that would actually try to fire the triggers.  Right now,
though, any DDL operation done with less than full exclusive lock would
risk having other transactions fetch an inconsistent view of the table's
catalog entries.  (This is true for any sort of ALTER TABLE, not just
trigger add/drop.)  Simon actually tried to fix this last year, but the
effort crashed and burned, and we're not sure how to get around the
problems.  Yet.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Tatsuo Ishii
Date:
Subject: Re: too much pgbench init output
Next
From: Takeshi Yamamuro
Date:
Subject: Improve compression speeds in pg_lzcompress.c