Fwd: question on foreign key lock - Mailing list pgsql-hackers

From Filip Rembiałkowski
Subject Fwd: question on foreign key lock
Date
Msg-id CAP_rwwmCVbaKAydiYTykpV6axt0LWFCt9pDf8YC+wTBHSwEXng@mail.gmail.com
Whole thread Raw
Responses Re: Fwd: question on foreign key lock  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Hi,<br /><br />maybe this is a better group for this question?<br /><br />I can't see why creating foreign key on table
Areferencing table B, generates an AccessExclusiveLock on B.<br />It seems (to a layman :-) ) that only writes to B
shouldbe blocked.<br /><br />I'm really interested if this is either expected effect or any open TODO item or
suboptimalbehavior of postgres.<br /><br />Thanks<br /><br /><br /><div class="gmail_quote">---------- Forwarded
message----------<br />From: <b class="gmail_sendername">Filip Rembiałkowski</b> <span dir="ltr"><<a
href="mailto:filip.rembialkowski@gmail.com">filip.rembialkowski@gmail.com</a>></span><br/> Date: Thu, Nov 1, 2012 at
5:33PM<br />Subject: question on foreign key lock<br />To: pgsql-general list <<a
href="mailto:pgsql-general@postgresql.org">pgsql-general@postgresql.org</a>><br/><br /><br />Hello.<br /><br /> Why
addingFK creates AccessExclusiveLock on referenced tabble?<br /><br /> {{{<br /> CREATE TABLE A ( id integer, idb
integer);<br /> INSERT INTO A (id,idb) SELECT x, x%4 FROM generate_series(1,100) x;<br /><br /> CREATE TABLE B ( id int
primarykey );<br /> INSERT INTO B VALUES (0),(1),(2),(3);<br /><br /> BEGIN;<br /> ALTER TABLE A ADD CONSTRAINT
a_idb_fkeyFOREIGN KEY (idb) REFERENCES b;<br /> SELECT * FROM pg_locks l, pg_class c WHERE l.pid = pg_backend_pid() AND
l.locktype='relation'AND l.mode ilike '%exclusive%' AND l.relation=c.oid;<br /> ROLLBACK;<br /> }}}<br /><br /><br />
LastSELECT is showing AccessExclusive on B.<br /> Why not Exclusive?<br /><br /><br /> Thanks,<br /> Filip<br
/></div><br/> 

pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: [BUGS] BUG #7534: walreceiver takes long time to detect n/w breakdown
Next
From: Amit Kapila
Date:
Subject: Re: [BUGS] BUG #7534: walreceiver takes long time to detect n/w breakdown