pgsql: Report next_multi_offset as bigint in pg_control_checkpoint().

From: Masahiko Sawada <msawada(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Report next_multi_offset as bigint in pg_control_checkpoint().
Date: 2026-08-27 19:26:56
Message-ID: E1wzfkV-00000002NqE-1OFI@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Report next_multi_offset as bigint in pg_control_checkpoint().

Commit bd8d9c9bdfa widened MultiXactOffset to 64 bits, but
pg_control_checkpoint() still handle checkPointCopy.nextMultiOffset as
xid type and declared next_multi_offset column as xid. Since xid is 32
bits wide, an offset above 2^32 was reported truncated, while
pg_controldata printed the full value of the same field.

This commit reports the column as bigint instead. That matches
pg_get_multixact_stats(), which already reports num_members and
members_size, both derived from these same offsets, as int8.

Backpatch to v19, where MultiXactOffset was widened.

Bump catalog version.

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/3fcb7167198e1b2ecf8cc0d934c8ffe53755e0ae

Modified Files
--------------
doc/src/sgml/func/func-info.sgml | 2 +-
src/backend/utils/misc/pg_controldata.c | 2 +-
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_proc.dat | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message David Rowley 2026-08-28 01:10:43 pgsql: Fix incorrect multi-column RANGE partition pruning
Previous Message Masahiko Sawada 2026-08-27 19:26:52 pgsql: Report next_multi_offset as bigint in pg_control_checkpoint().