Re: foreign key locks, 2nd attempt
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2011-11-10T21:19:59Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Try to avoid running with a full fsync request queue.
- 7f242d880b5b 9.1.0 cited
Alvaro Herrera wrote: > > Excerpts from Bruce Momjian's message of jue nov 10 16:59:20 -0300 2011: > > Alvaro Herrera wrote: > > > Hello, > > > > > > After some rather extensive rewriting, I submit the patch to improve > > > foreign key locks. > > > > > > To recap, the point of this patch is to introduce a new lock tuple mode, > > > that lets the RI code obtain a lighter lock on tuples, which doesn't > > > conflict with updates that do not modify the key columns. > > > > What kind of operations benefit from a non-key lock like this? > > I'm not sure I understand the question. > > With this patch, a RI check does "SELECT FOR KEY SHARE". This means the > tuple is locked with that mode until the transaction finishes. An > UPDATE that modifies the referenced row will not conflict with that lock. > > An UPDATE that modifies the key columns will be blocked, just as now. > Same with a DELETE. OK, so it prevents non-key data modifications from spilling to the referred rows --- nice. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +