From: Álvaro Herrera <alvherre@kurilemu.de>
To: Dmitry Dolgov <9erthalion6@gmail.com>
Cc: Mihail Nikalayeu <mihailnikalayeu@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>
Cc: Zsolt Parragi <zsolt.parragi@percona.com>
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: Routed ON CONFLICT inserts broken by partition-local deferrable unique constraints in 19 and master
Date: Fri, 18 Sep 2026 13:54:46 +0200
Message-ID: <aqv13ndeeTi6f6DR@alvherre.pgsql> (raw)
In-Reply-To: <aqsArQmqLrDOo02Z@ddolgov-thinkpadt14sgen1.rmtde.csb>
On 2026-Sep-16, Dmitry Dolgov wrote:
> + /* number of key attributes must match */
> + if (indexForm1->indnkeyatts != indexForm2->indnkeyatts)
> + return false;
>
> I see that it was like this in the original commit, but isn't it too
> restrictive regarding the goal stated in the function comment? If say
> there are two unique indexes on columns (a), and (a, b), they have the
> same understanding of what tuples will conflict, but the latter one will
> not be used as an arbiter index. To be fair, I don't see how this may
> become problem in practice, but still.
I'm not sure I understand this concern. Do you want to elaborate?
This functionality is there to support having two copies of "the same"
index during REINDEX CONCURRENTLY, and of course the second copy is
going to be identical in definition to the first one.
Maybe you want to propose a different name or a different comment for
this new function?
--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/
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: pgsql-hackers@postgresql.org
Cc: alvherre@kurilemu.de, 9erthalion6@gmail.com, mihailnikalayeu@gmail.com, michael@paquier.xyz, zsolt.parragi@percona.com, pgsql-hackers@lists.postgresql.org
Subject: Re: Routed ON CONFLICT inserts broken by partition-local deferrable unique constraints in 19 and master
In-Reply-To: <aqv13ndeeTi6f6DR@alvherre.pgsql>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox