From: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
---|---|
To: | Peter Geoghegan <pg(at)heroku(dot)com> |
Cc: | Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Andres Freund <andres(at)2ndquadrant(dot)com> |
Subject: | Re: Promise index tuples for UPSERT |
Date: | 2014-10-07 12:33:18 |
Message-ID: | CA+U5nM+fxN0Hb3FzcmLP4E=t_YjL_s4Moqi6gQ4t7WfFV9t98g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 7 October 2014 03:31, Peter Geoghegan <pg(at)heroku(dot)com> wrote:
>> It may be that people on reading this now believe Peter's HW locking
>> approach is the best. I'm happy to go with consensus.
>
> I bet you didn't think that you'd say that a week ago. :-)
You're right, because last week I thought heavyweight locking sucks
and I still think that; I haven't said it is the best.
What we've just discovered is that we're locking 100% of the time, but
its not needed in 99.9% of cases and is arguable in the 0.1% case -
not "required" at all.
The price of avoiding that rare and possibly erroneous condition seems
high to me.
Is there a way of detecting that we are updating a unique constraint
column and then applying the HW locking only in that case? Or can we
only apply locking when we have multiple unique constraints on a
table?
If so, I would withdraw any objection to the HW locking technique.
--
Simon Riggs http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2014-10-07 12:52:24 | pg_upgrade, locale and encoding |
Previous Message | Simon Riggs | 2014-10-07 12:23:03 | Re: INSERT ... ON CONFLICT {UPDATE | IGNORE} |