public inbox for [email protected]
help / color / mirror / Atom feedFrom: Bruce Momjian <[email protected]>
To: Tom Lane <[email protected]>
Cc: Greg Stark <[email protected]>
Cc: David Zhang <[email protected]>
Cc: Simon Riggs <[email protected]>
Cc: Cary Huang <[email protected]>
Cc: Pgsql Hackers <[email protected]>
Subject: Re: Patch: Global Unique Index
Date: Tue, 29 Nov 2022 20:59:49 -0500
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<CANbhV-Eo4D2Njpa=YiBr7BxOMDi5B54wenjgoamRKjzj-9gBGQ@mail.gmail.com>
<Y4D/[email protected]>
<[email protected]>
<CAM-w4HNFyX2upz6pyeWXew-p2sPXiSy2q3tn_Zfa4Xvtu+SLhw@mail.gmail.com>
<[email protected]>
On Tue, Nov 29, 2022 at 06:13:56PM -0500, Tom Lane wrote:
> Greg Stark <[email protected]> writes:
> > If I understand correctly you're going to insert into the local index
> > for the partition using the normal btree uniqueness implementation.
> > Then while holding an exclusive lock on the index do lookups on every
> > partition for the new key. Effectively serializing inserts to the
> > table?
>
> ... not to mention creating a high probability of deadlocks between
> concurrent insertions to different partitions. If they each
> ex-lock their own partition's index before starting to look into
> other partitions' indexes, it seems like a certainty that such
> cases would fail. The rule of thumb about locking multiple objects
> is that all comers had better do it in the same order, and this
> isn't doing that.
I am not sure why they would need to exclusive lock anything more than
the unique index entry they are adding, just like UPDATE does.
> I still think this is a dead end that will never get committed.
> If folks want to put time into perhaps finding an ingenious
> way around these problems, okay; but they'd better realize that
> there's a high probability of failure, or at least coming out
> with something nobody will want to use.
Agreed, my earlier point was that this would need a lot of thought to
get right since we don't do this often. The exclusion constraint is a
close example, though that is in a single index.
--
Bruce Momjian <[email protected]> https://momjian.us
EDB https://enterprisedb.com
Embrace your flaws. They make you human, rather than perfect,
which you will never be.
view thread (33+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: Patch: Global Unique Index
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox