Re: REPACK (CONCURRENTLY) rewrites tables marked with user_catalog_table

From: Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>
To: Antonin Houska <ah(at)cybertec(dot)at>
Cc: Nathan Bossart <nathandbossart(at)gmail(dot)com>, pgsql-hackers(at)postgresql(dot)org, alvherre(at)kurilemu(dot)de
Subject: Re: REPACK (CONCURRENTLY) rewrites tables marked with user_catalog_table
Date: 2026-09-01 03:35:00
Message-ID: CALj2ACU3kuJCkT40bk6zGe_zGbmivgJVeNNQnPg60OqhJA8XYA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On Sat, Aug 29, 2026 at 8:34 AM Bharath Rupireddy
<bharath(dot)rupireddyforpostgres(at)gmail(dot)com> wrote:
>
> Hi,
>
> On Sat, Aug 29, 2026 at 4:23 AM Antonin Houska <ah(at)cybertec(dot)at> wrote:
> >
> > Thanks! I'm just thinking about this comment:
> >
> > + /* The CONCURRENTLY path does not write logical rewrite mappings. */
> >
> > IMO it makes no sense to rewrite the logical mappings as long as REPACK
> > (CONCURRENTLY) changes visibility information (i.e. it's MVCC-unsafe). Once we
> > implement the MVCC-safety, we should not remove this check unless we implement
> > the rewriting of the mappings for user catalog tables - that might also be
> > worth mentioning in the comment.
> >
> > So far, I'd consider the MVCC-unsafety the primary reason to prohibit REPACK
> > (CONCURRENTLY) (or anyother MVCC-unsafe command) on the user catalog tables,
> > because it can make the contents of those tables invisible to the output
> > plugin at some point.
>
> Thanks for pointing this out. I read the docs related to MVCC-safety
> of concurrent repack. I reworded the comment as you suggested. Feel
> free to suggest changes to it if any. Please find the attached v2
> patch.

Please find the attached v3 patch with a test added similar to other
restricted error cases. Sorry for the noise.

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

Attachment Content-Type Size
v3-0001-Restrict-REPACK-CONCURRENTLY-on-user-catalog-tabl.patch application/octet-stream 5.1 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Previous Message Zhijie Hou (Fujitsu) 2026-09-01 03:19:53 RE: Introduce XID age based replication slot invalidation