Re: question: foreign key constraints and AccessExclusive locks
От | Simon Riggs |
---|---|
Тема | Re: question: foreign key constraints and AccessExclusive locks |
Дата | |
Msg-id | CA+U5nM+Bu8Js=dZVucG3L2KzQKnCY31sE6KAXd9_=AHy5Vg3JQ@mail.gmail.com обсуждение исходный текст |
Ответ на | question: foreign key constraints and AccessExclusive locks (Jon Nelson <jnelson+pgsql@jamponi.net>) |
Ответы |
Re: question: foreign key constraints and AccessExclusive locks
|
Список | pgsql-hackers |
On 6 January 2013 03:08, Jon Nelson <jnelson+pgsql@jamponi.net> wrote: > When adding a foreign key constraint on tableA which references > tableB, why is an AccessExclusive lock on tableB necessary? Wouldn't a > lock that prevents writes be sufficient, or does PostgreSQL have to > modify *both* tables in some fashion? I'm using PostgreSQL 8.4 on > Linux. 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. SQLStandard requires the check to be symmetrical, so adding FKs requires a trigger on each table and so an AEL is placed on tableB. -- Simon Riggs http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: