agora inbox for pgsql-committers@postgresql.org  
help / color / mirror / Atom feed
From: Heikki Linnakangas <heikki.linnakangas@iki.fi>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: pg_resetwal: do not allow zero next multixact offset
Date: Mon, 27 Jul 2026 13:08:35 +0000
Message-ID: <E1woL4N-00000000WAP-3Iby@gemulon.postgresql.org> (raw)

pg_resetwal: do not allow zero next multixact offset

Offset 0 is the "invalid" marker in pg_multixact/offsets since offsets
went 64-bit and the allocator stopped skipping it. pg_resetwal could
still produce it via -O 0 or guessed control values, breaking the first
multixact created after the reset ("MultiXact n has invalid offset",
and vacuum of the affected table fails from then on). Reject -O 0 like
-m and -o already do, and guess 1 like initdb does.

Author: Zsolt Parragi <zsolt.parragi@percona.com>
Discussion: https://www.postgresql.org/message-id/CAN4CZFNoO6MUkg526TmA=mC_RjY2gp4VKCnvK6y12v3ppOkhJA@mail.gmail...
Backpatch-through: 19

Branch
------
REL_19_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/31974f64f029a29a6d7eeeb3f870030beee2066f

Modified Files
--------------
src/bin/pg_resetwal/pg_resetwal.c  | 6 +++++-
src/bin/pg_resetwal/t/001_basic.pl | 4 ++++
2 files changed, 9 insertions(+), 1 deletion(-)



view thread (2+ messages)

Message-ID: <E1woL4N-00000000WAP-3Iby@gemulon.postgresql.org>
Permalink:  ../E1woL4N-00000000WAP-3Iby@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1woL4N-00000000WAP-3Iby@gemulon.postgresql.org

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: heikki.linnakangas@iki.fi, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: pg_resetwal: do not allow zero next multixact offset
  In-Reply-To: <E1woL4N-00000000WAP-3Iby@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox