Re: foreign key locks, 2nd attempt
Alvaro Herrera <alvherre@commandprompt.com>
From: Alvaro Herrera <alvherre@commandprompt.com>
To: Simon Riggs <simon@2ndquadrant.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Noah Misch <noah@leadboat.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-03-05T18:37:53Z
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
Excerpts from Simon Riggs's message of lun mar 05 15:28:59 -0300 2012: > > On Mon, Feb 27, 2012 at 2:47 AM, Robert Haas <robertmhaas@gmail.com> wrote: > > From a performance standpoint, we really need to think not only about > > the cases where the patch wins, but also, and maybe more importantly, > > the cases where it loses. There are some cases where the current > > mechanism, use SHARE locks for foreign keys, is adequate. In > > particular, it's adequate whenever the parent table is not updated at > > all, or only very lightly. I believe that those people will pay > > somewhat more with this patch, and especially in any case where > > backends end up waiting for fsyncs in order to create new mxids, but > > also just because I think this patch will have the effect of > > increasing the space consumed by each individual mxid, which imposes a > > distributed cost of its own. > > That is a concern also. > > It's taken me a while reviewing the patch to realise that space usage > is actually 4 times worse than before. Eh. You're probably misreading something. Previously each member of a multixact used 4 bytes (the size of an Xid). With the current patch a member uses 5 bytes (same plus a flags byte). An earlier version used 4.25 bytes per multi, which I increased to leave space for future expansion. So it's 1.25x worse, not 4x worse. -- Álvaro Herrera <alvherre@commandprompt.com> The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support