Standardize LSN formatting by zero padding
authorÁlvaro Herrera <alvherre@kurilemu.de>
Mon, 7 Jul 2025 11:57:43 +0000 (13:57 +0200)
committerÁlvaro Herrera <alvherre@kurilemu.de>
Mon, 7 Jul 2025 11:57:43 +0000 (13:57 +0200)
commit2633dae2e4876a9b7cb90ba025e930a553e5107f
tree9eff715f0db067c8454a9edf60588e03795f0c2f
parent62a17a92833d1eaa60d8ea372663290942a1e8eb
Standardize LSN formatting by zero padding

This commit standardizes the output format for LSNs to ensure consistent
representation across various tools and messages.  Previously, LSNs were
inconsistently printed as `%X/%X` in some contexts, while others used
zero-padding.  This often led to confusion when comparing.

To address this, the LSN format is now uniformly set to `%X/%08X`,
ensuring the lower 32-bit part is always zero-padded to eight
hexadecimal digits.

Author: Japin Li <japinli@hotmail.com>
Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com>
Reviewed-by: Álvaro Herrera <alvherre@kurilemu.de>
Discussion: https://postgr.es/m/ME0P300MB0445CA53CA0E4B8C1879AF84B641A@ME0P300MB0445.AUSP300.PROD.OUTLOOK.COM
67 files changed:
contrib/amcheck/verify_nbtree.c
contrib/pageinspect/expected/gist.out
contrib/pageinspect/expected/page.out
contrib/pageinspect/rawpage.c
contrib/pg_walinspect/expected/pg_walinspect.out
contrib/pg_walinspect/pg_walinspect.c
doc/src/sgml/catalogs.sgml
doc/src/sgml/logical-replication.sgml
doc/src/sgml/logicaldecoding.sgml
doc/src/sgml/pageinspect.sgml
doc/src/sgml/pglogicalinspect.sgml
doc/src/sgml/pgwalinspect.sgml
doc/src/sgml/test-decoding.sgml
src/backend/access/rmgrdesc/replorigindesc.c
src/backend/access/rmgrdesc/xactdesc.c
src/backend/access/rmgrdesc/xlogdesc.c
src/backend/access/transam/timeline.c
src/backend/access/transam/twophase.c
src/backend/access/transam/xlog.c
src/backend/access/transam/xlogbackup.c
src/backend/access/transam/xlogprefetcher.c
src/backend/access/transam/xlogreader.c
src/backend/access/transam/xlogrecovery.c
src/backend/access/transam/xlogutils.c
src/backend/backup/backup_manifest.c
src/backend/backup/basebackup_copy.c
src/backend/backup/basebackup_incremental.c
src/backend/commands/subscriptioncmds.c
src/backend/postmaster/walsummarizer.c
src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
src/backend/replication/logical/logical.c
src/backend/replication/logical/origin.c
src/backend/replication/logical/slotsync.c
src/backend/replication/logical/snapbuild.c
src/backend/replication/logical/tablesync.c
src/backend/replication/logical/worker.c
src/backend/replication/repl_gram.y
src/backend/replication/repl_scanner.l
src/backend/replication/slot.c
src/backend/replication/slotfuncs.c
src/backend/replication/syncrep.c
src/backend/replication/walreceiver.c
src/backend/replication/walsender.c
src/backend/storage/ipc/standby.c
src/backend/utils/adt/pg_lsn.c
src/bin/pg_basebackup/pg_basebackup.c
src/bin/pg_basebackup/pg_createsubscriber.c
src/bin/pg_basebackup/pg_receivewal.c
src/bin/pg_basebackup/pg_recvlogical.c
src/bin/pg_basebackup/receivelog.c
src/bin/pg_basebackup/streamutil.c
src/bin/pg_combinebackup/backup_label.c
src/bin/pg_combinebackup/pg_combinebackup.c
src/bin/pg_combinebackup/write_manifest.c
src/bin/pg_controldata/pg_controldata.c
src/bin/pg_rewind/libpq_source.c
src/bin/pg_rewind/parsexlog.c
src/bin/pg_rewind/pg_rewind.c
src/bin/pg_rewind/timeline.c
src/bin/pg_verifybackup/pg_verifybackup.c
src/bin/pg_waldump/pg_waldump.c
src/common/parse_manifest.c
src/include/access/xlogdefs.h
src/test/recovery/t/016_min_consistency.pl
src/test/regress/expected/numeric.out
src/test/regress/expected/pg_lsn.out
src/test/regress/expected/subscription.out