pgsql: pg_upgrade: Read nextMultiOffset as a 64-bit value.

From: Masahiko Sawada <msawada(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: pg_upgrade: Read nextMultiOffset as a 64-bit value.
Date: 2026-08-27 19:11:20
Message-ID: E1wzfVP-00000002NiO-2Zk2@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

pg_upgrade: Read nextMultiOffset as a 64-bit value.

Commit bd8d9c9bdfa widened MultiXactOffset to 64 bits and widened
ControlData.chkpnt_nxtmxoff accordingly, but get_control_data() still
read the "Latest checkpoint's NextMultiOffset" line with str2uint(),
which returns unsigned int.

This commit adds str2uint64(), mirroring the str2uint() helper used
for the other control file fields, and reads the offset with it.

Backpatch to v19, where MultiXactOffset was widened.

Reviewed-by: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
Reviewed-by: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
Discussion: https://postgr.es/m/CAD21AoCvzerscfU8o4ARQ793yAGHpQ72r2x5apeC_W2-k=SLCQ@mail.gmail.com
Backpatch-through: 19

Branch
------
REL_19_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/e721ce48dc78b58827c35d6a13f9f72a591e68f2

Modified Files
--------------
src/bin/pg_upgrade/controldata.c | 2 +-
src/bin/pg_upgrade/pg_upgrade.h | 1 +
src/bin/pg_upgrade/util.c | 11 +++++++++++
3 files changed, 13 insertions(+), 1 deletion(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Masahiko Sawada 2026-08-27 19:26:52 pgsql: Report next_multi_offset as bigint in pg_control_checkpoint().
Previous Message Masahiko Sawada 2026-08-27 19:11:16 pgsql: pg_upgrade: Read nextMultiOffset as a 64-bit value.