Re: REPACK enhancements

From: Antonin Houska <ah(at)cybertec(dot)at>
To: Manu <manuelreyesbravo(at)gmail(dot)com>
Cc: shihao zhong <zhong950419(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: REPACK enhancements
Date: 2026-11-10 10:54:40
Message-ID: 88740.1794308080@chrudos
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Antonin Houska <ah(at)cybertec(dot)at> wrote:

> Antonin Houska <ah(at)cybertec(dot)at> wrote:
>
> The next version is attached.
>
> > Manu <manuelreyesbravo(at)gmail(dot)com> wrote:
> >
> > > 3. 0008: assertion failure in compute_new_xmax_infomask()
> > >
> > > TRAP: failed Assert("TransactionIdIsCurrentTransactionId(add_to_xmax) || !TransactionIdIsValid(GetTopTransactionIdIfAny())"), File: "heapam.c", Line: 5564
> > >
> > > It fails in the replay after AccessExclusiveLock, called from
> > > rebuild_relation_finish_concurrent(), in heap_update() of a replayed
> > > UPDATE. So REPACK already has an XID of its own at that point.
> >
> > I don't know at the moment when the XID could get assigned. I need to do some
> > investigation.
>
> This is still on my TODO list, I'm afraid I couldn't reproduce this problem yet.

For now I commented the assertion out and added a comment on possible
solutions.

Besides that, I rebased the patch and fixed splitting into diffs (some changes
done in v04-0008 belonged to other diffs of v04 as well). Also, 0001 is now a
new diff, removing an unused function argument.

--
Antonin Houska
Web: https://www.cybertec-postgresql.com

Attachment Content-Type Size
v05-0001-Remove-OldHeap-argument-from-build_new_indexes.patch application/mbox 2.3 KB
v05-0002-Use-tuple-slot-to-pass-tuples-for-rewriting.patch application/mbox 11.5 KB
v05-0003-Move-functions-to-repack.c.patch application/mbox 8.4 KB
v05-0004-Introduce-RepackDest-structure.patch application/mbox 20.0 KB
v05-0005-Use-multiple-snapshots-to-copy-the-data.patch application/mbox 119.6 KB
v05-0006-Simplify-the-way-restrictions-are-imposed-on-index-f.patch application/mbox 21.2 KB
v05-0007-Use-separate-transactions-for-catalog-changes.patch application/mbox 45.1 KB
v05-0008-Decouple-updating-of-freezing-information-from-swap_.patch application/mbox 8.7 KB
v05-0009-Make-REPACK-CONCURRENTLY-MVCC-safe.patch application/mbox 115.9 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message David Geier 2026-11-10 11:01:43 Re: Reduce build times of pg_trgm GIN indexes
Previous Message Dave Cramer 2026-11-10 10:39:14 Re: Proposal to allow setting cursor options on Portals