Re: Issues with ON CONFLICT UPDATE and REINDEX CONCURRENTLY

Alexander Lakhin <exclusion@gmail.com>

From: Alexander Lakhin <exclusion@gmail.com>
To: Álvaro Herrera <alvherre@kurilemu.de>, Mihail Nikalayeu <mihailnikalayeu@gmail.com>
Cc: Michael Paquier <michael@paquier.xyz>, Noah Misch <noah@leadboat.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2025-12-06T06:00:01Z
Lists: pgsql-hackers
Hello Álvaro and Mihail,

02.12.2025 15:07, Álvaro Herrera wrote:
> Thanks, pushed this one after some more editorialization.

I've discovered that despite removing FIXME (in 90eae926a), the error
"invalid arbiter index list" can still be triggered with:
CREATE TABLE pt (a int PRIMARY KEY) PARTITION BY RANGE (a);
CREATE TABLE p1 PARTITION OF pt FOR VALUES FROM (1) to (2) PARTITION BY RANGE (a);
CREATE TABLE p1_1 PARTITION OF p1 FOR VALUES FROM (1) TO (2);
CREATE UNIQUE INDEX ON ONLY p1 (a);
INSERT INTO p1 VALUES (1) ON CONFLICT (a) DO NOTHING;
ERROR:  XX000: invalid arbiter index list
LOCATION:  ExecInitPartitionInfo, execPartition.c:863

The first commit it produced on with this script is bc32a12e0.

Best regards,
Alexander