Re: repack: fix a bug to reject deferrable primary key fallback for concurrent mode
| От | Yuchen Li |
|---|---|
| Тема | Re: repack: fix a bug to reject deferrable primary key fallback for concurrent mode |
| Дата | |
| Msg-id | 258b6521-100e-48da-a7c4-b069ba3df007@163.com обсуждение |
| Ответ на | Re: repack: fix a bug to reject deferrable primary key fallback for concurrent mode (Antonin Houska <ah@cybertec.at>) |
| Список | pgsql-hackers |
On 4/21/2026 2:09 PM, Antonin Houska 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. > The patch looks good to me. Using GetRelationIdentityOrPK() makes the check match the intended replica identity semantics more closely, and the added regression coverage looks useful. Regards, Yuchen Li
В списке pgsql-hackers по дате отправления: