> On May 27, 2026, at 11:06, Baji Shaik <[email protected]> wrote:
> 
> Hi,
> 
> While exploring the new REPACK (CONCURRENTLY) feature, I noticed 
> a few user-facing error paths that could be made more accurate.  
> Patch series of three:
> 
>  0001 -- When wal_level < replica, REPACK (CONCURRENTLY) currently
>          surfaces generic "replication slots ... wal_level" error
>          from CheckSlotRequirements(), with a CONTEXT line referring
>          to an internal worker.  Add an upfront check that reports a
>          REPACK-specific error.
> 

LGTM

>  0002 -- check_concurrent_repack_requirements() reports the same
>          generic "no identity index" error for several distinct
>          cases, two of which are misleading: REPLICA IDENTITY FULL
>          (which is set, but the hint says there is no identity), and
>          a deferrable PK as the only identity (skipped per commit
>          832e220d99a, but the hint suggests adding an index that
>          already exists).  Distinguish these cases.
> 

When I was working on 832e220d99a, I actually considered for more detailed 
error messages, but I ended up giving up. I think we should be careful about 
adding more branches here unless the existing message is causing significant 
confusion in practice.

So, I personally don’t like 0002.

>  0003 -- Four ereport(ERROR) calls in the REPACK CONCURRENTLY code
>          path lack errcode() and default to ERRCODE_INTERNAL_ERROR.
>          Add appropriate errcodes; in particular, the
>          apply_concurrent_update/delete failures map cleanly to
>          ERRCODE_T_R_SERIALIZATION_FAILURE.
> 

LGTM

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






Reply via email to