Hi,

On Thu, Aug 27, 2026 at 12:49 PM Masahiko Sawada <[email protected]> wrote:
>
> On Thu, Aug 27, 2026 at 12:16 PM Nathan Bossart
> <[email protected]> wrote:
> >
> > On Thu, Aug 27, 2026 at 11:59:10AM -0700, Bharath Rupireddy wrote:
> > > On Thu, Aug 27, 2026 at 9:23 AM Nathan Bossart <[email protected]> 
> > > wrote:
> > >> REPACK (CONCURRENTLY) replays changes by decoding them from WAL, so it
> > >> needs the table AM to be logically decodable, but
> > >> check_concurrent_repack_requirements() doesn't check that.  Should it be
> > >> restricted to heap for v19?
> > >
> > > Logical decoding doesn't check the table AM type, but goes ahead and
> > > decodes the WAL records (for that matter, none of CLUSTER, VACUUM
> > > FULL, and REPACK have checks on table AM. They hand off at some point
> > > to the table AM layer). I'm not sure if gating it just for concurrent
> > > repack is the right choice. Is it that we want to have it just for
> > > concurrent repack since it's new code with a new logical decoding
> > > plugin and we want some field reports of needing it for other table
> > > AMs?
> >
> > If the other commands are similarly broken, then perhaps this isn't a valid
> > open item for v19.  But IIUC concurrent repack is the only one of the
> > commands you listed that depends on logical decoding, and if the table AM
> > doesn't support that, then it won't work properly.
>
> If the table AM doesn't support logical decoding, concurrent repack
> would silently lose some table data as it misses the changes
> happened during the rewrites.

Yes, that's correct. I came to the same conclusion.

> I think we should have the check for it.
> One idea would be to have a new table AM callback returning true if
> the table AM supports concurrent repack (i.e., its rmgr provides
> rm_decode callback), but I think it's not the right time to introduce
> a new table AM callback.

Agreed. Adding a new table AM callback needs consensus and is time
consuming. Perhaps we can try for HEAD based on field reports that
require the concurrent repack feature for non-heap table AMs.

> So restricting it to heap for v19 seems fine
> to me.

+1. I will send a patch soon.

-- 
Bharath Rupireddy
Amazon Web Services: https://aws.amazon.com


Reply via email to