Re: repack: fix a bug to reject deferrable primary key fallback for concurrent mode - Mailing list pgsql-hackers

From Chao Li
Subject Re: repack: fix a bug to reject deferrable primary key fallback for concurrent mode
Date
Msg-id 5FD0FDC6-EE6C-4368-8B1E-7A6F4917254F@gmail.com
Whole thread
In response to Re: repack: fix a bug to reject deferrable primary key fallback for concurrent mode  (Antonin Houska <ah@cybertec.at>)
List pgsql-hackers

> On Apr 21, 2026, at 14:09, Antonin Houska <ah@cybertec.at> wrote:
>
> Chao Li <li.evan.chao@gmail.com> wrote:
>
>>> On Apr 20, 2026, at 22:52, Antonin Houska <ah@cybertec.at> wrote:
>>>
>>> I'm just thinking if it's worth a separate error message.
>>> RelationGetIndexList() just ignores the deferrable PK
>>>
>>> if (replident == REPLICA_IDENTITY_DEFAULT && OidIsValid(pkeyIndex) && !pkdeferrable)
>>> relation->rd_replidindex = pkeyIndex;
>>>
>>> and if there's no other suitable index, the result is that there is no
>>> identity index for the table. So the change attached here should be consistent
>>> with this approach.
>
>> Thanks for your review. I guess you read the v1 patch. In v2, I have switched to use GetRelationIdentityOrPK() that
Zhijiesuggested, which has covered RelationGetIndexList() and all checks, so that code is simplified, and there is no
longera separate error message. 
>
> Yes, this looks like the best approach. Sorry for missing v2.
>

Thanks for your reviewing and confirming.

Rebased to v4 as the CF reported a conflict.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/





Attachment

pgsql-hackers by date:

Previous
From: Chao Li
Date:
Subject: Re: Property graph: fix error handling when dropping non-existent label property