From 7fabb12553bf3f737ef289e4ed70d456e9d81927 Mon Sep 17 00:00:00 2001
From: Li Jianping <jianping.li@ww-it.cn>
Date: Wed, 2 Jul 2025 09:46:14 +0800
Subject: [PATCH v2] Standardize LSN formatting by zero-padding

---
 contrib/amcheck/verify_nbtree.c               |  44 +-
 contrib/pageinspect/expected/gist.out         |  18 +-
 contrib/pageinspect/expected/page.out         |   6 +-
 contrib/pageinspect/rawpage.c                 |   2 +-
 .../pg_walinspect/expected/pg_walinspect.out  |   8 +-
 contrib/pg_walinspect/pg_walinspect.c         |  18 +-
 src/backend/access/rmgrdesc/replorigindesc.c  |   2 +-
 src/backend/access/rmgrdesc/xactdesc.c        |   6 +-
 src/backend/access/rmgrdesc/xlogdesc.c        |   6 +-
 src/backend/access/transam/timeline.c         |   4 +-
 src/backend/access/transam/twophase.c         |   8 +-
 src/backend/access/transam/xlog.c             |  40 +-
 src/backend/access/transam/xlogbackup.c       |   8 +-
 src/backend/access/transam/xlogprefetcher.c   |  16 +-
 src/backend/access/transam/xlogreader.c       |  62 +--
 src/backend/access/transam/xlogrecovery.c     |  72 +--
 src/backend/access/transam/xlogutils.c        |   2 +-
 src/backend/backup/backup_manifest.c          |   2 +-
 src/backend/backup/basebackup_copy.c          |   2 +-
 src/backend/backup/basebackup_incremental.c   |  14 +-
 src/backend/commands/subscriptioncmds.c       |   2 +-
 src/backend/po/de.po                          | 388 +++++++-------
 src/backend/po/es.po                          | 396 +++++++-------
 src/backend/po/fr.po                          | 366 ++++++-------
 src/backend/po/id.po                          |  80 +--
 src/backend/po/it.po                          | 264 +++++-----
 src/backend/po/ja.po                          | 324 ++++++------
 src/backend/po/ka.po                          | 326 ++++++------
 src/backend/po/ko.po                          | 426 +++++++--------
 src/backend/po/pl.po                          | 214 ++++----
 src/backend/po/pt_BR.po                       | 264 +++++-----
 src/backend/po/ru.po                          | 484 +++++++++---------
 src/backend/po/sv.po                          | 396 +++++++-------
 src/backend/po/tr.po                          | 202 ++++----
 src/backend/po/uk.po                          | 404 +++++++--------
 src/backend/po/zh_CN.po                       | 186 +++----
 src/backend/postmaster/walsummarizer.c        |  26 +-
 .../libpqwalreceiver/libpqwalreceiver.c       |   2 +-
 src/backend/replication/logical/logical.c     |  14 +-
 src/backend/replication/logical/origin.c      |   2 +-
 src/backend/replication/logical/slotsync.c    |  10 +-
 src/backend/replication/logical/snapbuild.c   |  14 +-
 src/backend/replication/logical/tablesync.c   |   2 +-
 src/backend/replication/logical/worker.c      |  18 +-
 src/backend/replication/repl_gram.y           |   4 +-
 src/backend/replication/repl_scanner.l        |   2 +-
 src/backend/replication/slot.c                |   4 +-
 src/backend/replication/slotfuncs.c           |   2 +-
 src/backend/replication/syncrep.c             |   4 +-
 src/backend/replication/walreceiver.c         |  12 +-
 src/backend/replication/walsender.c           |  20 +-
 src/backend/storage/ipc/standby.c             |   4 +-
 src/backend/utils/adt/pg_lsn.c                |   2 +-
 src/bin/pg_basebackup/pg_basebackup.c         |   6 +-
 src/bin/pg_basebackup/pg_createsubscriber.c   |   4 +-
 src/bin/pg_basebackup/pg_receivewal.c         |  10 +-
 src/bin/pg_basebackup/pg_recvlogical.c        |  14 +-
 src/bin/pg_basebackup/po/cs.po                |  36 +-
 src/bin/pg_basebackup/po/de.po                |  36 +-
 src/bin/pg_basebackup/po/el.po                |  36 +-
 src/bin/pg_basebackup/po/es.po                |  36 +-
 src/bin/pg_basebackup/po/fr.po                |  36 +-
 src/bin/pg_basebackup/po/he.po                |  24 +-
 src/bin/pg_basebackup/po/it.po                |  36 +-
 src/bin/pg_basebackup/po/ja.po                |  34 +-
 src/bin/pg_basebackup/po/ka.po                |  36 +-
 src/bin/pg_basebackup/po/ko.po                |  40 +-
 src/bin/pg_basebackup/po/pl.po                |  26 +-
 src/bin/pg_basebackup/po/pt_BR.po             |  24 +-
 src/bin/pg_basebackup/po/ru.po                |  40 +-
 src/bin/pg_basebackup/po/sv.po                |  36 +-
 src/bin/pg_basebackup/po/tr.po                |  32 +-
 src/bin/pg_basebackup/po/uk.po                |  36 +-
 src/bin/pg_basebackup/po/vi.po                |  30 +-
 src/bin/pg_basebackup/po/zh_CN.po             |  34 +-
 src/bin/pg_basebackup/receivelog.c            |   6 +-
 src/bin/pg_basebackup/streamutil.c            |   4 +-
 src/bin/pg_combinebackup/backup_label.c       |   2 +-
 src/bin/pg_combinebackup/pg_combinebackup.c   |   2 +-
 src/bin/pg_combinebackup/po/de.po             |   4 +-
 src/bin/pg_combinebackup/po/es.po             |   4 +-
 src/bin/pg_combinebackup/po/fr.po             |   4 +-
 src/bin/pg_combinebackup/po/ja.po             |   4 +-
 src/bin/pg_combinebackup/po/ka.po             |   4 +-
 src/bin/pg_combinebackup/po/ko.po             |   4 +-
 src/bin/pg_combinebackup/po/ru.po             |   4 +-
 src/bin/pg_combinebackup/po/sv.po             |   4 +-
 src/bin/pg_combinebackup/po/uk.po             |   4 +-
 src/bin/pg_combinebackup/write_manifest.c     |   2 +-
 src/bin/pg_controldata/pg_controldata.c       |  12 +-
 src/bin/pg_controldata/po/cs.po               |  24 +-
 src/bin/pg_controldata/po/de.po               |  24 +-
 src/bin/pg_controldata/po/el.po               |  24 +-
 src/bin/pg_controldata/po/es.po               |  24 +-
 src/bin/pg_controldata/po/fr.po               |  24 +-
 src/bin/pg_controldata/po/it.po               |  24 +-
 src/bin/pg_controldata/po/ja.po               |  24 +-
 src/bin/pg_controldata/po/ka.po               |  24 +-
 src/bin/pg_controldata/po/ko.po               |  24 +-
 src/bin/pg_controldata/po/pl.po               |  28 +-
 src/bin/pg_controldata/po/pt_BR.po            |  24 +-
 src/bin/pg_controldata/po/ru.po               |  28 +-
 src/bin/pg_controldata/po/sv.po               |  24 +-
 src/bin/pg_controldata/po/tr.po               |  28 +-
 src/bin/pg_controldata/po/uk.po               |  22 +-
 src/bin/pg_controldata/po/vi.po               |  24 +-
 src/bin/pg_controldata/po/zh_CN.po            |  24 +-
 src/bin/pg_controldata/po/zh_TW.po            |  24 +-
 src/bin/pg_rewind/libpq_source.c              |   2 +-
 src/bin/pg_rewind/parsexlog.c                 |  16 +-
 src/bin/pg_rewind/pg_rewind.c                 |  10 +-
 src/bin/pg_rewind/po/cs.po                    | 116 ++---
 src/bin/pg_rewind/po/de.po                    | 140 ++---
 src/bin/pg_rewind/po/el.po                    | 152 +++---
 src/bin/pg_rewind/po/es.po                    | 140 ++---
 src/bin/pg_rewind/po/fr.po                    | 140 ++---
 src/bin/pg_rewind/po/it.po                    | 140 ++---
 src/bin/pg_rewind/po/ja.po                    | 108 ++--
 src/bin/pg_rewind/po/ka.po                    | 150 +++---
 src/bin/pg_rewind/po/ko.po                    | 146 +++---
 src/bin/pg_rewind/po/pl.po                    | 114 ++---
 src/bin/pg_rewind/po/pt_BR.po                 | 116 ++---
 src/bin/pg_rewind/po/ru.po                    | 150 +++---
 src/bin/pg_rewind/po/sv.po                    | 140 ++---
 src/bin/pg_rewind/po/tr.po                    | 106 ++--
 src/bin/pg_rewind/po/uk.po                    | 140 ++---
 src/bin/pg_rewind/po/zh_CN.po                 |  86 ++--
 src/bin/pg_rewind/po/zh_TW.po                 | 118 ++---
 src/bin/pg_rewind/timeline.c                  |   2 +-
 src/bin/pg_verifybackup/pg_verifybackup.c     |   2 +-
 src/bin/pg_waldump/pg_waldump.c               |  18 +-
 src/bin/pg_waldump/po/cs.po                   |  26 +-
 src/bin/pg_waldump/po/de.po                   | 132 ++---
 src/bin/pg_waldump/po/el.po                   | 144 +++---
 src/bin/pg_waldump/po/es.po                   | 132 ++---
 src/bin/pg_waldump/po/fr.po                   | 132 ++---
 src/bin/pg_waldump/po/it.po                   | 128 ++---
 src/bin/pg_waldump/po/ja.po                   | 104 ++--
 src/bin/pg_waldump/po/ka.po                   | 142 ++---
 src/bin/pg_waldump/po/ko.po                   | 138 ++---
 src/bin/pg_waldump/po/ru.po                   | 142 ++---
 src/bin/pg_waldump/po/sv.po                   | 132 ++---
 src/bin/pg_waldump/po/tr.po                   |  24 +-
 src/bin/pg_waldump/po/uk.po                   | 136 ++---
 src/bin/pg_waldump/po/vi.po                   |  22 +-
 src/bin/pg_waldump/po/zh_CN.po                |  24 +-
 src/bin/pg_waldump/po/zh_TW.po                | 110 ++--
 src/common/parse_manifest.c                   |   2 +-
 src/include/access/xlogdefs.h                 |   2 +-
 src/test/recovery/t/016_min_consistency.pl    |   2 +-
 src/test/regress/expected/numeric.out         |  12 +-
 src/test/regress/expected/pg_lsn.out          | 240 ++++-----
 src/test/regress/expected/subscription.out    | 152 +++---
 153 files changed, 5341 insertions(+), 5341 deletions(-)

diff --git a/contrib/amcheck/verify_nbtree.c b/contrib/amcheck/verify_nbtree.c
index f11c43a0ed7..25cae8994a1 100644
--- a/contrib/amcheck/verify_nbtree.c
+++ b/contrib/amcheck/verify_nbtree.c
@@ -913,7 +913,7 @@ bt_report_duplicate(BtreeCheckState *state,
 			(errcode(ERRCODE_INDEX_CORRUPTED),
 			 errmsg("index uniqueness is violated for index \"%s\"",
 					RelationGetRelationName(state->rel)),
-			 errdetail("Index %s%s and%s%s (point to heap %s and %s) page lsn=%X/%X.",
+			 errdetail("Index %s%s and%s%s (point to heap %s and %s) page lsn=%X/%08X.",
 					   itid, pposting, nitid, pnposting, htid, nhtid,
 					   LSN_FORMAT_ARGS(state->targetlsn))));
 }
@@ -1058,7 +1058,7 @@ bt_leftmost_ignoring_half_dead(BtreeCheckState *state,
 					(errcode(ERRCODE_NO_DATA),
 					 errmsg_internal("harmless interrupted page deletion detected in index \"%s\"",
 									 RelationGetRelationName(state->rel)),
-					 errdetail_internal("Block=%u right block=%u page lsn=%X/%X.",
+					 errdetail_internal("Block=%u right block=%u page lsn=%X/%08X.",
 										reached, reached_from,
 										LSN_FORMAT_ARGS(pagelsn))));
 
@@ -1283,7 +1283,7 @@ bt_target_page_check(BtreeCheckState *state)
 					(errcode(ERRCODE_INDEX_CORRUPTED),
 					 errmsg("wrong number of high key index tuple attributes in index \"%s\"",
 							RelationGetRelationName(state->rel)),
-					 errdetail_internal("Index block=%u natts=%u block type=%s page lsn=%X/%X.",
+					 errdetail_internal("Index block=%u natts=%u block type=%s page lsn=%X/%08X.",
 										state->targetblock,
 										BTreeTupleGetNAtts(itup, state->rel),
 										P_ISLEAF(topaque) ? "heap" : "index",
@@ -1332,7 +1332,7 @@ bt_target_page_check(BtreeCheckState *state)
 					(errcode(ERRCODE_INDEX_CORRUPTED),
 					 errmsg("index tuple size does not equal lp_len in index \"%s\"",
 							RelationGetRelationName(state->rel)),
-					 errdetail_internal("Index tid=(%u,%u) tuple size=%zu lp_len=%u page lsn=%X/%X.",
+					 errdetail_internal("Index tid=(%u,%u) tuple size=%zu lp_len=%u page lsn=%X/%08X.",
 										state->targetblock, offset,
 										tupsize, ItemIdGetLength(itemid),
 										LSN_FORMAT_ARGS(state->targetlsn)),
@@ -1356,7 +1356,7 @@ bt_target_page_check(BtreeCheckState *state)
 					(errcode(ERRCODE_INDEX_CORRUPTED),
 					 errmsg("wrong number of index tuple attributes in index \"%s\"",
 							RelationGetRelationName(state->rel)),
-					 errdetail_internal("Index tid=%s natts=%u points to %s tid=%s page lsn=%X/%X.",
+					 errdetail_internal("Index tid=%s natts=%u points to %s tid=%s page lsn=%X/%08X.",
 										itid,
 										BTreeTupleGetNAtts(itup, state->rel),
 										P_ISLEAF(topaque) ? "heap" : "index",
@@ -1406,7 +1406,7 @@ bt_target_page_check(BtreeCheckState *state)
 					(errcode(ERRCODE_INDEX_CORRUPTED),
 					 errmsg("could not find tuple using search from root page in index \"%s\"",
 							RelationGetRelationName(state->rel)),
-					 errdetail_internal("Index tid=%s points to heap tid=%s page lsn=%X/%X.",
+					 errdetail_internal("Index tid=%s points to heap tid=%s page lsn=%X/%08X.",
 										itid, htid,
 										LSN_FORMAT_ARGS(state->targetlsn))));
 		}
@@ -1435,7 +1435,7 @@ bt_target_page_check(BtreeCheckState *state)
 							(errcode(ERRCODE_INDEX_CORRUPTED),
 							 errmsg_internal("posting list contains misplaced TID in index \"%s\"",
 											 RelationGetRelationName(state->rel)),
-							 errdetail_internal("Index tid=%s posting list offset=%d page lsn=%X/%X.",
+							 errdetail_internal("Index tid=%s posting list offset=%d page lsn=%X/%08X.",
 												itid, i,
 												LSN_FORMAT_ARGS(state->targetlsn))));
 				}
@@ -1488,7 +1488,7 @@ bt_target_page_check(BtreeCheckState *state)
 					(errcode(ERRCODE_INDEX_CORRUPTED),
 					 errmsg("index row size %zu exceeds maximum for index \"%s\"",
 							tupsize, RelationGetRelationName(state->rel)),
-					 errdetail_internal("Index tid=%s points to %s tid=%s page lsn=%X/%X.",
+					 errdetail_internal("Index tid=%s points to %s tid=%s page lsn=%X/%08X.",
 										itid,
 										P_ISLEAF(topaque) ? "heap" : "index",
 										htid,
@@ -1595,7 +1595,7 @@ bt_target_page_check(BtreeCheckState *state)
 					(errcode(ERRCODE_INDEX_CORRUPTED),
 					 errmsg("high key invariant violated for index \"%s\"",
 							RelationGetRelationName(state->rel)),
-					 errdetail_internal("Index tid=%s points to %s tid=%s page lsn=%X/%X.",
+					 errdetail_internal("Index tid=%s points to %s tid=%s page lsn=%X/%08X.",
 										itid,
 										P_ISLEAF(topaque) ? "heap" : "index",
 										htid,
@@ -1643,7 +1643,7 @@ bt_target_page_check(BtreeCheckState *state)
 							RelationGetRelationName(state->rel)),
 					 errdetail_internal("Lower index tid=%s (points to %s tid=%s) "
 										"higher index tid=%s (points to %s tid=%s) "
-										"page lsn=%X/%X.",
+										"page lsn=%X/%08X.",
 										itid,
 										P_ISLEAF(topaque) ? "heap" : "index",
 										htid,
@@ -1760,7 +1760,7 @@ bt_target_page_check(BtreeCheckState *state)
 						(errcode(ERRCODE_INDEX_CORRUPTED),
 						 errmsg("cross page item order invariant violated for index \"%s\"",
 								RelationGetRelationName(state->rel)),
-						 errdetail_internal("Last item on page tid=(%u,%u) page lsn=%X/%X.",
+						 errdetail_internal("Last item on page tid=(%u,%u) page lsn=%X/%08X.",
 											state->targetblock, offset,
 											LSN_FORMAT_ARGS(state->targetlsn))));
 			}
@@ -1813,7 +1813,7 @@ bt_target_page_check(BtreeCheckState *state)
 								(errcode(ERRCODE_INDEX_CORRUPTED),
 								 errmsg("right block of leaf block is non-leaf for index \"%s\"",
 										RelationGetRelationName(state->rel)),
-								 errdetail_internal("Block=%u page lsn=%X/%X.",
+								 errdetail_internal("Block=%u page lsn=%X/%08X.",
 													state->targetblock,
 													LSN_FORMAT_ARGS(state->targetlsn))));
 
@@ -2237,7 +2237,7 @@ bt_child_highkey_check(BtreeCheckState *state,
 					(errcode(ERRCODE_INDEX_CORRUPTED),
 					 errmsg("the first child of leftmost target page is not leftmost of its level in index \"%s\"",
 							RelationGetRelationName(state->rel)),
-					 errdetail_internal("Target block=%u child block=%u target page lsn=%X/%X.",
+					 errdetail_internal("Target block=%u child block=%u target page lsn=%X/%08X.",
 										state->targetblock, blkno,
 										LSN_FORMAT_ARGS(state->targetlsn))));
 
@@ -2323,7 +2323,7 @@ bt_child_highkey_check(BtreeCheckState *state,
 								(errcode(ERRCODE_INDEX_CORRUPTED),
 								 errmsg("child high key is greater than rightmost pivot key on target level in index \"%s\"",
 										RelationGetRelationName(state->rel)),
-								 errdetail_internal("Target block=%u child block=%u target page lsn=%X/%X.",
+								 errdetail_internal("Target block=%u child block=%u target page lsn=%X/%08X.",
 													state->targetblock, blkno,
 													LSN_FORMAT_ARGS(state->targetlsn))));
 					pivotkey_offset = P_HIKEY;
@@ -2353,7 +2353,7 @@ bt_child_highkey_check(BtreeCheckState *state,
 							(errcode(ERRCODE_INDEX_CORRUPTED),
 							 errmsg("can't find left sibling high key in index \"%s\"",
 									RelationGetRelationName(state->rel)),
-							 errdetail_internal("Target block=%u child block=%u target page lsn=%X/%X.",
+							 errdetail_internal("Target block=%u child block=%u target page lsn=%X/%08X.",
 												state->targetblock, blkno,
 												LSN_FORMAT_ARGS(state->targetlsn))));
 				itup = state->lowkey;
@@ -2365,7 +2365,7 @@ bt_child_highkey_check(BtreeCheckState *state,
 						(errcode(ERRCODE_INDEX_CORRUPTED),
 						 errmsg("mismatch between parent key and child high key in index \"%s\"",
 								RelationGetRelationName(state->rel)),
-						 errdetail_internal("Target block=%u child block=%u target page lsn=%X/%X.",
+						 errdetail_internal("Target block=%u child block=%u target page lsn=%X/%08X.",
 											state->targetblock, blkno,
 											LSN_FORMAT_ARGS(state->targetlsn))));
 			}
@@ -2505,7 +2505,7 @@ bt_child_check(BtreeCheckState *state, BTScanInsert targetkey,
 				(errcode(ERRCODE_INDEX_CORRUPTED),
 				 errmsg("downlink to deleted page found in index \"%s\"",
 						RelationGetRelationName(state->rel)),
-				 errdetail_internal("Parent block=%u child block=%u parent page lsn=%X/%X.",
+				 errdetail_internal("Parent block=%u child block=%u parent page lsn=%X/%08X.",
 									state->targetblock, childblock,
 									LSN_FORMAT_ARGS(state->targetlsn))));
 
@@ -2546,7 +2546,7 @@ bt_child_check(BtreeCheckState *state, BTScanInsert targetkey,
 					(errcode(ERRCODE_INDEX_CORRUPTED),
 					 errmsg("down-link lower bound invariant violated for index \"%s\"",
 							RelationGetRelationName(state->rel)),
-					 errdetail_internal("Parent block=%u child index tid=(%u,%u) parent page lsn=%X/%X.",
+					 errdetail_internal("Parent block=%u child index tid=(%u,%u) parent page lsn=%X/%08X.",
 										state->targetblock, childblock, offset,
 										LSN_FORMAT_ARGS(state->targetlsn))));
 	}
@@ -2616,7 +2616,7 @@ bt_downlink_missing_check(BtreeCheckState *state, bool rightsplit,
 				(errcode(ERRCODE_NO_DATA),
 				 errmsg_internal("harmless interrupted page split detected in index \"%s\"",
 								 RelationGetRelationName(state->rel)),
-				 errdetail_internal("Block=%u level=%u left sibling=%u page lsn=%X/%X.",
+				 errdetail_internal("Block=%u level=%u left sibling=%u page lsn=%X/%08X.",
 									blkno, opaque->btpo_level,
 									opaque->btpo_prev,
 									LSN_FORMAT_ARGS(pagelsn))));
@@ -2638,7 +2638,7 @@ bt_downlink_missing_check(BtreeCheckState *state, bool rightsplit,
 				(errcode(ERRCODE_INDEX_CORRUPTED),
 				 errmsg("leaf index block lacks downlink in index \"%s\"",
 						RelationGetRelationName(state->rel)),
-				 errdetail_internal("Block=%u page lsn=%X/%X.",
+				 errdetail_internal("Block=%u page lsn=%X/%08X.",
 									blkno,
 									LSN_FORMAT_ARGS(pagelsn))));
 
@@ -2704,7 +2704,7 @@ bt_downlink_missing_check(BtreeCheckState *state, bool rightsplit,
 				(errcode(ERRCODE_INDEX_CORRUPTED),
 				 errmsg_internal("downlink to deleted leaf page found in index \"%s\"",
 								 RelationGetRelationName(state->rel)),
-				 errdetail_internal("Top parent/target block=%u leaf block=%u top parent/under check lsn=%X/%X.",
+				 errdetail_internal("Top parent/target block=%u leaf block=%u top parent/under check lsn=%X/%08X.",
 									blkno, childblk,
 									LSN_FORMAT_ARGS(pagelsn))));
 
@@ -2730,7 +2730,7 @@ bt_downlink_missing_check(BtreeCheckState *state, bool rightsplit,
 			(errcode(ERRCODE_INDEX_CORRUPTED),
 			 errmsg("internal index block lacks downlink in index \"%s\"",
 					RelationGetRelationName(state->rel)),
-			 errdetail_internal("Block=%u level=%u page lsn=%X/%X.",
+			 errdetail_internal("Block=%u level=%u page lsn=%X/%08X.",
 								blkno, opaque->btpo_level,
 								LSN_FORMAT_ARGS(pagelsn))));
 }
diff --git a/contrib/pageinspect/expected/gist.out b/contrib/pageinspect/expected/gist.out
index 2b1d54a6279..8502f9efb41 100644
--- a/contrib/pageinspect/expected/gist.out
+++ b/contrib/pageinspect/expected/gist.out
@@ -5,21 +5,21 @@ CREATE UNLOGGED TABLE test_gist AS SELECT point(i,i) p, i::text t FROM
 CREATE INDEX test_gist_idx ON test_gist USING gist (p);
 -- Page 0 is the root, the rest are leaf pages
 SELECT * FROM gist_page_opaque_info(get_raw_page('test_gist_idx', 0));
- lsn | nsn | rightlink  | flags 
------+-----+------------+-------
- 0/1 | 0/0 | 4294967295 | {}
+    lsn     |    nsn     | rightlink  | flags 
+------------+------------+------------+-------
+ 0/00000001 | 0/00000000 | 4294967295 | {}
 (1 row)
 
 SELECT * FROM gist_page_opaque_info(get_raw_page('test_gist_idx', 1));
- lsn | nsn | rightlink  | flags  
------+-----+------------+--------
- 0/1 | 0/0 | 4294967295 | {leaf}
+    lsn     |    nsn     | rightlink  | flags  
+------------+------------+------------+--------
+ 0/00000001 | 0/00000000 | 4294967295 | {leaf}
 (1 row)
 
 SELECT * FROM gist_page_opaque_info(get_raw_page('test_gist_idx', 2));
- lsn | nsn | rightlink | flags  
------+-----+-----------+--------
- 0/1 | 0/0 |         1 | {leaf}
+    lsn     |    nsn     | rightlink | flags  
+------------+------------+-----------+--------
+ 0/00000001 | 0/00000000 |         1 | {leaf}
 (1 row)
 
 SELECT * FROM gist_page_items(get_raw_page('test_gist_idx', 0), 'test_gist_idx');
diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out
index e42fd9747fd..fcf19c5ca5a 100644
--- a/contrib/pageinspect/expected/page.out
+++ b/contrib/pageinspect/expected/page.out
@@ -265,9 +265,9 @@ SELECT fsm_page_contents(decode(repeat('00', :block_size), 'hex'));
 (1 row)
 
 SELECT page_header(decode(repeat('00', :block_size), 'hex'));
-      page_header      
------------------------
- (0/0,0,0,0,0,0,0,0,0)
+         page_header          
+------------------------------
+ (0/00000000,0,0,0,0,0,0,0,0)
 (1 row)
 
 SELECT page_checksum(decode(repeat('00', :block_size), 'hex'), 1);
diff --git a/contrib/pageinspect/rawpage.c b/contrib/pageinspect/rawpage.c
index 0d57123aa26..aef442b5db3 100644
--- a/contrib/pageinspect/rawpage.c
+++ b/contrib/pageinspect/rawpage.c
@@ -282,7 +282,7 @@ page_header(PG_FUNCTION_ARGS)
 	{
 		char		lsnchar[64];
 
-		snprintf(lsnchar, sizeof(lsnchar), "%X/%X", LSN_FORMAT_ARGS(lsn));
+		snprintf(lsnchar, sizeof(lsnchar), "%X/%08X", LSN_FORMAT_ARGS(lsn));
 		values[0] = CStringGetTextDatum(lsnchar);
 	}
 	else
diff --git a/contrib/pg_walinspect/expected/pg_walinspect.out b/contrib/pg_walinspect/expected/pg_walinspect.out
index c010eed8c5d..f955ff5d3c5 100644
--- a/contrib/pg_walinspect/expected/pg_walinspect.out
+++ b/contrib/pg_walinspect/expected/pg_walinspect.out
@@ -19,14 +19,14 @@ INSERT INTO sample_tbl SELECT * FROM generate_series(3, 4);
 -- ===================================================================
 -- Invalid input LSN.
 SELECT * FROM pg_get_wal_record_info('0/0');
-ERROR:  could not read WAL at LSN 0/0
+ERROR:  could not read WAL at LSN 0/00000000
 -- Invalid start LSN.
 SELECT * FROM pg_get_wal_records_info('0/0', :'wal_lsn1');
-ERROR:  could not read WAL at LSN 0/0
+ERROR:  could not read WAL at LSN 0/00000000
 SELECT * FROM pg_get_wal_stats('0/0', :'wal_lsn1');
-ERROR:  could not read WAL at LSN 0/0
+ERROR:  could not read WAL at LSN 0/00000000
 SELECT * FROM pg_get_wal_block_info('0/0', :'wal_lsn1');
-ERROR:  could not read WAL at LSN 0/0
+ERROR:  could not read WAL at LSN 0/00000000
 -- Start LSN > End LSN.
 SELECT * FROM pg_get_wal_records_info(:'wal_lsn2', :'wal_lsn1');
 ERROR:  WAL start LSN must be less than end LSN
diff --git a/contrib/pg_walinspect/pg_walinspect.c b/contrib/pg_walinspect/pg_walinspect.c
index 64745564cc2..ce7d4b551c1 100644
--- a/contrib/pg_walinspect/pg_walinspect.c
+++ b/contrib/pg_walinspect/pg_walinspect.c
@@ -105,7 +105,7 @@ InitXLogReaderState(XLogRecPtr lsn)
 	if (lsn < XLOG_BLCKSZ)
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
-				 errmsg("could not read WAL at LSN %X/%X",
+				 errmsg("could not read WAL at LSN %X/%08X",
 						LSN_FORMAT_ARGS(lsn))));
 
 	private_data = (ReadLocalXLogPageNoWaitPrivate *)
@@ -128,7 +128,7 @@ InitXLogReaderState(XLogRecPtr lsn)
 
 	if (XLogRecPtrIsInvalid(first_valid_record))
 		ereport(ERROR,
-				(errmsg("could not find a valid record after %X/%X",
+				(errmsg("could not find a valid record after %X/%08X",
 						LSN_FORMAT_ARGS(lsn))));
 
 	return xlogreader;
@@ -168,12 +168,12 @@ ReadNextXLogRecord(XLogReaderState *xlogreader)
 		if (errormsg)
 			ereport(ERROR,
 					(errcode_for_file_access(),
-					 errmsg("could not read WAL at %X/%X: %s",
+					 errmsg("could not read WAL at %X/%08X: %s",
 							LSN_FORMAT_ARGS(xlogreader->EndRecPtr), errormsg)));
 		else
 			ereport(ERROR,
 					(errcode_for_file_access(),
-					 errmsg("could not read WAL at %X/%X",
+					 errmsg("could not read WAL at %X/%08X",
 							LSN_FORMAT_ARGS(xlogreader->EndRecPtr))));
 	}
 
@@ -479,7 +479,7 @@ pg_get_wal_record_info(PG_FUNCTION_ARGS)
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 				 errmsg("WAL input LSN must be less than current LSN"),
-				 errdetail("Current WAL LSN on the database system is at %X/%X.",
+				 errdetail("Current WAL LSN on the database system is at %X/%08X.",
 						   LSN_FORMAT_ARGS(curr_lsn))));
 
 	/* Build a tuple descriptor for our result type. */
@@ -491,7 +491,7 @@ pg_get_wal_record_info(PG_FUNCTION_ARGS)
 	if (!ReadNextXLogRecord(xlogreader))
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
-				 errmsg("could not read WAL at %X/%X",
+				 errmsg("could not read WAL at %X/%08X",
 						LSN_FORMAT_ARGS(xlogreader->EndRecPtr))));
 
 	GetWALRecordInfo(xlogreader, values, nulls, PG_GET_WAL_RECORD_INFO_COLS);
@@ -521,7 +521,7 @@ ValidateInputLSNs(XLogRecPtr start_lsn, XLogRecPtr *end_lsn)
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 				 errmsg("WAL start LSN must be less than current LSN"),
-				 errdetail("Current WAL LSN on the database system is at %X/%X.",
+				 errdetail("Current WAL LSN on the database system is at %X/%08X.",
 						   LSN_FORMAT_ARGS(curr_lsn))));
 
 	if (start_lsn > *end_lsn)
@@ -827,7 +827,7 @@ pg_get_wal_records_info_till_end_of_wal(PG_FUNCTION_ARGS)
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 				 errmsg("WAL start LSN must be less than current LSN"),
-				 errdetail("Current WAL LSN on the database system is at %X/%X.",
+				 errdetail("Current WAL LSN on the database system is at %X/%08X.",
 						   LSN_FORMAT_ARGS(end_lsn))));
 
 	GetWALRecordsInfo(fcinfo, start_lsn, end_lsn);
@@ -846,7 +846,7 @@ pg_get_wal_stats_till_end_of_wal(PG_FUNCTION_ARGS)
 		ereport(ERROR,
 				(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
 				 errmsg("WAL start LSN must be less than current LSN"),
-				 errdetail("Current WAL LSN on the database system is at %X/%X.",
+				 errdetail("Current WAL LSN on the database system is at %X/%08X.",
 						   LSN_FORMAT_ARGS(end_lsn))));
 
 	GetWalStats(fcinfo, start_lsn, end_lsn, stats_per_record);
diff --git a/src/backend/access/rmgrdesc/replorigindesc.c b/src/backend/access/rmgrdesc/replorigindesc.c
index 5dd74233996..35e3af2903e 100644
--- a/src/backend/access/rmgrdesc/replorigindesc.c
+++ b/src/backend/access/rmgrdesc/replorigindesc.c
@@ -29,7 +29,7 @@ replorigin_desc(StringInfo buf, XLogReaderState *record)
 
 				xlrec = (xl_replorigin_set *) rec;
 
-				appendStringInfo(buf, "set %u; lsn %X/%X; force: %d",
+				appendStringInfo(buf, "set %u; lsn %X/%08X; force: %d",
 								 xlrec->node_id,
 								 LSN_FORMAT_ARGS(xlrec->remote_lsn),
 								 xlrec->force);
diff --git a/src/backend/access/rmgrdesc/xactdesc.c b/src/backend/access/rmgrdesc/xactdesc.c
index 305598e2865..f0f696855b9 100644
--- a/src/backend/access/rmgrdesc/xactdesc.c
+++ b/src/backend/access/rmgrdesc/xactdesc.c
@@ -359,7 +359,7 @@ xact_desc_commit(StringInfo buf, uint8 info, xl_xact_commit *xlrec, RepOriginId
 
 	if (parsed.xinfo & XACT_XINFO_HAS_ORIGIN)
 	{
-		appendStringInfo(buf, "; origin: node %u, lsn %X/%X, at %s",
+		appendStringInfo(buf, "; origin: node %u, lsn %X/%08X, at %s",
 						 origin_id,
 						 LSN_FORMAT_ARGS(parsed.origin_lsn),
 						 timestamptz_to_str(parsed.origin_timestamp));
@@ -384,7 +384,7 @@ xact_desc_abort(StringInfo buf, uint8 info, xl_xact_abort *xlrec, RepOriginId or
 
 	if (parsed.xinfo & XACT_XINFO_HAS_ORIGIN)
 	{
-		appendStringInfo(buf, "; origin: node %u, lsn %X/%X, at %s",
+		appendStringInfo(buf, "; origin: node %u, lsn %X/%08X, at %s",
 						 origin_id,
 						 LSN_FORMAT_ARGS(parsed.origin_lsn),
 						 timestamptz_to_str(parsed.origin_timestamp));
@@ -418,7 +418,7 @@ xact_desc_prepare(StringInfo buf, uint8 info, xl_xact_prepare *xlrec, RepOriginI
 	 * way as PrepareRedoAdd().
 	 */
 	if (origin_id != InvalidRepOriginId)
-		appendStringInfo(buf, "; origin: node %u, lsn %X/%X, at %s",
+		appendStringInfo(buf, "; origin: node %u, lsn %X/%08X, at %s",
 						 origin_id,
 						 LSN_FORMAT_ARGS(parsed.origin_lsn),
 						 timestamptz_to_str(parsed.origin_timestamp));
diff --git a/src/backend/access/rmgrdesc/xlogdesc.c b/src/backend/access/rmgrdesc/xlogdesc.c
index 58040f28656..cd6c2a2f650 100644
--- a/src/backend/access/rmgrdesc/xlogdesc.c
+++ b/src/backend/access/rmgrdesc/xlogdesc.c
@@ -65,7 +65,7 @@ xlog_desc(StringInfo buf, XLogReaderState *record)
 	{
 		CheckPoint *checkpoint = (CheckPoint *) rec;
 
-		appendStringInfo(buf, "redo %X/%X; "
+		appendStringInfo(buf, "redo %X/%08X; "
 						 "tli %u; prev tli %u; fpw %s; wal_level %s; xid %u:%u; oid %u; multi %u; offset %u; "
 						 "oldest xid %u in DB %u; oldest multi %u in DB %u; "
 						 "oldest/newest commit timestamp xid: %u/%u; "
@@ -111,7 +111,7 @@ xlog_desc(StringInfo buf, XLogReaderState *record)
 		XLogRecPtr	startpoint;
 
 		memcpy(&startpoint, rec, sizeof(XLogRecPtr));
-		appendStringInfo(buf, "%X/%X", LSN_FORMAT_ARGS(startpoint));
+		appendStringInfo(buf, "%X/%08X", LSN_FORMAT_ARGS(startpoint));
 	}
 	else if (info == XLOG_PARAMETER_CHANGE)
 	{
@@ -156,7 +156,7 @@ xlog_desc(StringInfo buf, XLogReaderState *record)
 		xl_overwrite_contrecord xlrec;
 
 		memcpy(&xlrec, rec, sizeof(xl_overwrite_contrecord));
-		appendStringInfo(buf, "lsn %X/%X; time %s",
+		appendStringInfo(buf, "lsn %X/%08X; time %s",
 						 LSN_FORMAT_ARGS(xlrec.overwritten_lsn),
 						 timestamptz_to_str(xlrec.overwrite_time));
 	}
diff --git a/src/backend/access/transam/timeline.c b/src/backend/access/transam/timeline.c
index a27f27cc037..186eb91f609 100644
--- a/src/backend/access/transam/timeline.c
+++ b/src/backend/access/transam/timeline.c
@@ -154,7 +154,7 @@ readTimeLineHistory(TimeLineID targetTLI)
 		if (*ptr == '\0' || *ptr == '#')
 			continue;
 
-		nfields = sscanf(fline, "%u\t%X/%X", &tli, &switchpoint_hi, &switchpoint_lo);
+		nfields = sscanf(fline, "%u\t%X/%08X", &tli, &switchpoint_hi, &switchpoint_lo);
 
 		if (nfields < 1)
 		{
@@ -399,7 +399,7 @@ writeTimeLineHistory(TimeLineID newTLI, TimeLineID parentTLI,
 	 * parent file failed to end with one.
 	 */
 	snprintf(buffer, sizeof(buffer),
-			 "%s%u\t%X/%X\t%s\n",
+			 "%s%u\t%X/%08X\t%s\n",
 			 (srcfd < 0) ? "" : "\n",
 			 parentTLI,
 			 LSN_FORMAT_ARGS(switchpoint),
diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c
index 73a80559194..f7343c7af3e 100644
--- a/src/backend/access/transam/twophase.c
+++ b/src/backend/access/transam/twophase.c
@@ -1426,12 +1426,12 @@ XlogReadTwoPhaseData(XLogRecPtr lsn, char **buf, int *len)
 		if (errormsg)
 			ereport(ERROR,
 					(errcode_for_file_access(),
-					 errmsg("could not read two-phase state from WAL at %X/%X: %s",
+					 errmsg("could not read two-phase state from WAL at %X/%08X: %s",
 							LSN_FORMAT_ARGS(lsn), errormsg)));
 		else
 			ereport(ERROR,
 					(errcode_for_file_access(),
-					 errmsg("could not read two-phase state from WAL at %X/%X",
+					 errmsg("could not read two-phase state from WAL at %X/%08X",
 							LSN_FORMAT_ARGS(lsn))));
 	}
 
@@ -1439,7 +1439,7 @@ XlogReadTwoPhaseData(XLogRecPtr lsn, char **buf, int *len)
 		(XLogRecGetInfo(xlogreader) & XLOG_XACT_OPMASK) != XLOG_XACT_PREPARE)
 		ereport(ERROR,
 				(errcode_for_file_access(),
-				 errmsg("expected two-phase state data is not present in WAL at %X/%X",
+				 errmsg("expected two-phase state data is not present in WAL at %X/%08X",
 						LSN_FORMAT_ARGS(lsn))));
 
 	if (len != NULL)
@@ -2512,7 +2512,7 @@ PrepareRedoAdd(char *buf, XLogRecPtr start_lsn,
 			ereport(reachedConsistency ? ERROR : WARNING,
 					(errmsg("could not recover two-phase state file for transaction %u",
 							hdr->xid),
-					 errdetail("Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk.",
+					 errdetail("Two-phase state file has been found in WAL record %X/%08X, but this transaction has already been restored from disk.",
 							   LSN_FORMAT_ARGS(start_lsn))));
 			return;
 		}
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 47ffc0a2307..6f6984a9f6b 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -1028,7 +1028,7 @@ XLogInsertRecord(XLogRecData *rdata,
 		oldCxt = MemoryContextSwitchTo(walDebugCxt);
 
 		initStringInfo(&buf);
-		appendStringInfo(&buf, "INSERT @ %X/%X: ", LSN_FORMAT_ARGS(EndPos));
+		appendStringInfo(&buf, "INSERT @ %X/%08X: ", LSN_FORMAT_ARGS(EndPos));
 
 		/*
 		 * We have to piece together the WAL record data from the XLogRecData
@@ -1549,7 +1549,7 @@ WaitXLogInsertionsToFinish(XLogRecPtr upto)
 	if (upto > reservedUpto)
 	{
 		ereport(LOG,
-				(errmsg("request to flush past end of generated WAL; request %X/%X, current position %X/%X",
+				(errmsg("request to flush past end of generated WAL; request %X/%08X, current position %X/%08X",
 						LSN_FORMAT_ARGS(upto), LSN_FORMAT_ARGS(reservedUpto))));
 		upto = reservedUpto;
 	}
@@ -1716,7 +1716,7 @@ GetXLogBuffer(XLogRecPtr ptr, TimeLineID tli)
 		endptr = pg_atomic_read_u64(&XLogCtl->xlblocks[idx]);
 
 		if (expectedEndPtr != endptr)
-			elog(PANIC, "could not find WAL buffer for %X/%X",
+			elog(PANIC, "could not find WAL buffer for %X/%08X",
 				 LSN_FORMAT_ARGS(ptr));
 	}
 	else
@@ -1776,7 +1776,7 @@ WALReadFromBuffers(char *dstbuf, XLogRecPtr startptr, Size count,
 	inserted = pg_atomic_read_u64(&XLogCtl->logInsertResult);
 	if (startptr + count > inserted)
 		ereport(ERROR,
-				errmsg("cannot read past end of generated WAL: requested %X/%X, current position %X/%X",
+				errmsg("cannot read past end of generated WAL: requested %X/%08X, current position %X/%08X",
 					   LSN_FORMAT_ARGS(startptr + count),
 					   LSN_FORMAT_ARGS(inserted)));
 
@@ -2281,7 +2281,7 @@ AdvanceXLInsertBuffer(XLogRecPtr upto, TimeLineID tli, bool opportunistic)
 #ifdef WAL_DEBUG
 	if (XLOG_DEBUG && npages > 0)
 	{
-		elog(DEBUG1, "initialized %d pages, up to %X/%X",
+		elog(DEBUG1, "initialized %d pages, up to %X/%08X",
 			 npages, LSN_FORMAT_ARGS(NewPageEndPtr));
 	}
 #endif
@@ -2492,7 +2492,7 @@ XLogWrite(XLogwrtRqst WriteRqst, TimeLineID tli, bool flexible)
 		XLogRecPtr	EndPtr = pg_atomic_read_u64(&XLogCtl->xlblocks[curridx]);
 
 		if (LogwrtResult.Write >= EndPtr)
-			elog(PANIC, "xlog write request %X/%X is past end of log %X/%X",
+			elog(PANIC, "xlog write request %X/%08X is past end of log %X/%08X",
 				 LSN_FORMAT_ARGS(LogwrtResult.Write),
 				 LSN_FORMAT_ARGS(EndPtr));
 
@@ -2892,7 +2892,7 @@ UpdateMinRecoveryPoint(XLogRecPtr lsn, bool force)
 		newMinRecoveryPoint = GetCurrentReplayRecPtr(&newMinRecoveryPointTLI);
 		if (!force && newMinRecoveryPoint < lsn)
 			elog(WARNING,
-				 "xlog min recovery request %X/%X is past current point %X/%X",
+				 "xlog min recovery request %X/%08X is past current point %X/%08X",
 				 LSN_FORMAT_ARGS(lsn), LSN_FORMAT_ARGS(newMinRecoveryPoint));
 
 		/* update control file */
@@ -2905,7 +2905,7 @@ UpdateMinRecoveryPoint(XLogRecPtr lsn, bool force)
 			LocalMinRecoveryPointTLI = newMinRecoveryPointTLI;
 
 			ereport(DEBUG2,
-					(errmsg_internal("updated min recovery point to %X/%X on timeline %u",
+					(errmsg_internal("updated min recovery point to %X/%08X on timeline %u",
 									 LSN_FORMAT_ARGS(newMinRecoveryPoint),
 									 newMinRecoveryPointTLI)));
 		}
@@ -2945,7 +2945,7 @@ XLogFlush(XLogRecPtr record)
 
 #ifdef WAL_DEBUG
 	if (XLOG_DEBUG)
-		elog(LOG, "xlog flush request %X/%X; write %X/%X; flush %X/%X",
+		elog(LOG, "xlog flush request %X/%08X; write %X/%08X; flush %X/%08X",
 			 LSN_FORMAT_ARGS(record),
 			 LSN_FORMAT_ARGS(LogwrtResult.Write),
 			 LSN_FORMAT_ARGS(LogwrtResult.Flush));
@@ -3078,7 +3078,7 @@ XLogFlush(XLogRecPtr record)
 	 */
 	if (LogwrtResult.Flush < record)
 		elog(ERROR,
-			 "xlog flush request %X/%X is not satisfied --- flushed only to %X/%X",
+			 "xlog flush request %X/%08X is not satisfied --- flushed only to %X/%08X",
 			 LSN_FORMAT_ARGS(record),
 			 LSN_FORMAT_ARGS(LogwrtResult.Flush));
 }
@@ -3205,7 +3205,7 @@ XLogBackgroundFlush(void)
 
 #ifdef WAL_DEBUG
 	if (XLOG_DEBUG)
-		elog(LOG, "xlog bg flush request write %X/%X; flush: %X/%X, current is write %X/%X; flush %X/%X",
+		elog(LOG, "xlog bg flush request write %X/%08X; flush: %X/%08X, current is write %X/%08X; flush %X/%08X",
 			 LSN_FORMAT_ARGS(WriteRqst.Write),
 			 LSN_FORMAT_ARGS(WriteRqst.Flush),
 			 LSN_FORMAT_ARGS(LogwrtResult.Write),
@@ -6921,7 +6921,7 @@ LogCheckpointEnd(bool restartpoint)
 						"%d removed, %d recycled; write=%ld.%03d s, "
 						"sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, "
 						"longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, "
-						"estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X",
+						"estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X",
 						CheckpointStats.ckpt_bufs_written,
 						(double) CheckpointStats.ckpt_bufs_written * 100 / NBuffers,
 						CheckpointStats.ckpt_slru_written,
@@ -6945,7 +6945,7 @@ LogCheckpointEnd(bool restartpoint)
 						"%d removed, %d recycled; write=%ld.%03d s, "
 						"sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, "
 						"longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, "
-						"estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X",
+						"estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X",
 						CheckpointStats.ckpt_bufs_written,
 						(double) CheckpointStats.ckpt_bufs_written * 100 / NBuffers,
 						CheckpointStats.ckpt_slru_written,
@@ -7641,7 +7641,7 @@ CreateOverwriteContrecordRecord(XLogRecPtr aborted_lsn, XLogRecPtr pagePtr,
 	if (!RecoveryInProgress())
 		elog(ERROR, "can only be used at end of recovery");
 	if (pagePtr % XLOG_BLCKSZ != 0)
-		elog(ERROR, "invalid position for missing continuation record %X/%X",
+		elog(ERROR, "invalid position for missing continuation record %X/%08X",
 			 LSN_FORMAT_ARGS(pagePtr));
 
 	/* The current WAL insert position should be right after the page header */
@@ -7652,7 +7652,7 @@ CreateOverwriteContrecordRecord(XLogRecPtr aborted_lsn, XLogRecPtr pagePtr,
 		startPos += SizeOfXLogShortPHD;
 	recptr = GetXLogInsertRecPtr();
 	if (recptr != startPos)
-		elog(ERROR, "invalid WAL insert position %X/%X for OVERWRITE_CONTRECORD",
+		elog(ERROR, "invalid WAL insert position %X/%08X for OVERWRITE_CONTRECORD",
 			 LSN_FORMAT_ARGS(recptr));
 
 	START_CRIT_SECTION();
@@ -7682,7 +7682,7 @@ CreateOverwriteContrecordRecord(XLogRecPtr aborted_lsn, XLogRecPtr pagePtr,
 
 	/* check that the record was inserted to the right place */
 	if (ProcLastRecPtr != startPos)
-		elog(ERROR, "OVERWRITE_CONTRECORD was inserted to unexpected position %X/%X",
+		elog(ERROR, "OVERWRITE_CONTRECORD was inserted to unexpected position %X/%08X",
 			 LSN_FORMAT_ARGS(ProcLastRecPtr));
 
 	XLogFlush(recptr);
@@ -7751,7 +7751,7 @@ RecoveryRestartPoint(const CheckPoint *checkPoint, XLogReaderState *record)
 	if (XLogHaveInvalidPages())
 	{
 		elog(DEBUG2,
-			 "could not record restart point at %X/%X because there "
+			 "could not record restart point at %X/%08X because there "
 			 "are unresolved references to invalid pages",
 			 LSN_FORMAT_ARGS(checkPoint->redo));
 		return;
@@ -7832,7 +7832,7 @@ CreateRestartPoint(int flags)
 		lastCheckPoint.redo <= ControlFile->checkPointCopy.redo)
 	{
 		ereport(DEBUG2,
-				(errmsg_internal("skipping restartpoint, already performed at %X/%X",
+				(errmsg_internal("skipping restartpoint, already performed at %X/%08X",
 								 LSN_FORMAT_ARGS(lastCheckPoint.redo))));
 
 		UpdateMinRecoveryPoint(InvalidXLogRecPtr, true);
@@ -8017,7 +8017,7 @@ CreateRestartPoint(int flags)
 
 	xtime = GetLatestXTime();
 	ereport((log_checkpoints ? LOG : DEBUG2),
-			(errmsg("recovery restart point at %X/%X",
+			(errmsg("recovery restart point at %X/%08X",
 					LSN_FORMAT_ARGS(lastCheckPoint.redo)),
 			 xtime ? errdetail("Last completed transaction was at log time %s.",
 							   timestamptz_to_str(xtime)) : 0));
@@ -8281,7 +8281,7 @@ XLogRestorePoint(const char *rpName)
 	RecPtr = XLogInsert(RM_XLOG_ID, XLOG_RESTORE_POINT);
 
 	ereport(LOG,
-			(errmsg("restore point \"%s\" created at %X/%X",
+			(errmsg("restore point \"%s\" created at %X/%08X",
 					rpName, LSN_FORMAT_ARGS(RecPtr))));
 
 	return RecPtr;
diff --git a/src/backend/access/transam/xlogbackup.c b/src/backend/access/transam/xlogbackup.c
index 342590e0a46..cda4b38b7d6 100644
--- a/src/backend/access/transam/xlogbackup.c
+++ b/src/backend/access/transam/xlogbackup.c
@@ -42,7 +42,7 @@ build_backup_content(BackupState *state, bool ishistoryfile)
 
 	XLByteToSeg(state->startpoint, startsegno, wal_segment_size);
 	XLogFileName(startxlogfile, state->starttli, startsegno, wal_segment_size);
-	appendStringInfo(result, "START WAL LOCATION: %X/%X (file %s)\n",
+	appendStringInfo(result, "START WAL LOCATION: %X/%08X (file %s)\n",
 					 LSN_FORMAT_ARGS(state->startpoint), startxlogfile);
 
 	if (ishistoryfile)
@@ -52,11 +52,11 @@ build_backup_content(BackupState *state, bool ishistoryfile)
 
 		XLByteToSeg(state->stoppoint, stopsegno, wal_segment_size);
 		XLogFileName(stopxlogfile, state->stoptli, stopsegno, wal_segment_size);
-		appendStringInfo(result, "STOP WAL LOCATION: %X/%X (file %s)\n",
+		appendStringInfo(result, "STOP WAL LOCATION: %X/%08X (file %s)\n",
 						 LSN_FORMAT_ARGS(state->stoppoint), stopxlogfile);
 	}
 
-	appendStringInfo(result, "CHECKPOINT LOCATION: %X/%X\n",
+	appendStringInfo(result, "CHECKPOINT LOCATION: %X/%08X\n",
 					 LSN_FORMAT_ARGS(state->checkpointloc));
 	appendStringInfoString(result, "BACKUP METHOD: streamed\n");
 	appendStringInfo(result, "BACKUP FROM: %s\n",
@@ -81,7 +81,7 @@ build_backup_content(BackupState *state, bool ishistoryfile)
 	Assert(XLogRecPtrIsInvalid(state->istartpoint) == (state->istarttli == 0));
 	if (!XLogRecPtrIsInvalid(state->istartpoint))
 	{
-		appendStringInfo(result, "INCREMENTAL FROM LSN: %X/%X\n",
+		appendStringInfo(result, "INCREMENTAL FROM LSN: %X/%08X\n",
 						 LSN_FORMAT_ARGS(state->istartpoint));
 		appendStringInfo(result, "INCREMENTAL FROM TLI: %u\n",
 						 state->istarttli);
diff --git a/src/backend/access/transam/xlogprefetcher.c b/src/backend/access/transam/xlogprefetcher.c
index 7735562db01..ed3aacabc98 100644
--- a/src/backend/access/transam/xlogprefetcher.c
+++ b/src/backend/access/transam/xlogprefetcher.c
@@ -546,7 +546,7 @@ XLogPrefetcherNextBlock(uintptr_t pgsr_private, XLogRecPtr *lsn)
 
 #ifdef XLOGPREFETCHER_DEBUG_LEVEL
 					elog(XLOGPREFETCHER_DEBUG_LEVEL,
-						 "suppressing all readahead until %X/%X is replayed due to possible TLI change",
+						 "suppressing all readahead until %X/%08X is replayed due to possible TLI change",
 						 LSN_FORMAT_ARGS(record->lsn));
 #endif
 
@@ -579,7 +579,7 @@ XLogPrefetcherNextBlock(uintptr_t pgsr_private, XLogRecPtr *lsn)
 
 #ifdef XLOGPREFETCHER_DEBUG_LEVEL
 					elog(XLOGPREFETCHER_DEBUG_LEVEL,
-						 "suppressing prefetch in database %u until %X/%X is replayed due to raw file copy",
+						 "suppressing prefetch in database %u until %X/%08X is replayed due to raw file copy",
 						 rlocator.dbOid,
 						 LSN_FORMAT_ARGS(record->lsn));
 #endif
@@ -607,7 +607,7 @@ XLogPrefetcherNextBlock(uintptr_t pgsr_private, XLogRecPtr *lsn)
 
 #ifdef XLOGPREFETCHER_DEBUG_LEVEL
 						elog(XLOGPREFETCHER_DEBUG_LEVEL,
-							 "suppressing prefetch in relation %u/%u/%u until %X/%X is replayed, which creates the relation",
+							 "suppressing prefetch in relation %u/%u/%u until %X/%08X is replayed, which creates the relation",
 							 xlrec->rlocator.spcOid,
 							 xlrec->rlocator.dbOid,
 							 xlrec->rlocator.relNumber,
@@ -630,7 +630,7 @@ XLogPrefetcherNextBlock(uintptr_t pgsr_private, XLogRecPtr *lsn)
 
 #ifdef XLOGPREFETCHER_DEBUG_LEVEL
 					elog(XLOGPREFETCHER_DEBUG_LEVEL,
-						 "suppressing prefetch in relation %u/%u/%u from block %u until %X/%X is replayed, which truncates the relation",
+						 "suppressing prefetch in relation %u/%u/%u from block %u until %X/%08X is replayed, which truncates the relation",
 						 xlrec->rlocator.spcOid,
 						 xlrec->rlocator.dbOid,
 						 xlrec->rlocator.relNumber,
@@ -729,7 +729,7 @@ XLogPrefetcherNextBlock(uintptr_t pgsr_private, XLogRecPtr *lsn)
 			{
 #ifdef XLOGPREFETCHER_DEBUG_LEVEL
 				elog(XLOGPREFETCHER_DEBUG_LEVEL,
-					 "suppressing all prefetch in relation %u/%u/%u until %X/%X is replayed, because the relation does not exist on disk",
+					 "suppressing all prefetch in relation %u/%u/%u until %X/%08X is replayed, because the relation does not exist on disk",
 					 reln->smgr_rlocator.locator.spcOid,
 					 reln->smgr_rlocator.locator.dbOid,
 					 reln->smgr_rlocator.locator.relNumber,
@@ -750,7 +750,7 @@ XLogPrefetcherNextBlock(uintptr_t pgsr_private, XLogRecPtr *lsn)
 			{
 #ifdef XLOGPREFETCHER_DEBUG_LEVEL
 				elog(XLOGPREFETCHER_DEBUG_LEVEL,
-					 "suppressing prefetch in relation %u/%u/%u from block %u until %X/%X is replayed, because the relation is too small",
+					 "suppressing prefetch in relation %u/%u/%u from block %u until %X/%08X is replayed, because the relation is too small",
 					 reln->smgr_rlocator.locator.spcOid,
 					 reln->smgr_rlocator.locator.dbOid,
 					 reln->smgr_rlocator.locator.relNumber,
@@ -928,7 +928,7 @@ XLogPrefetcherIsFiltered(XLogPrefetcher *prefetcher, RelFileLocator rlocator,
 		{
 #ifdef XLOGPREFETCHER_DEBUG_LEVEL
 			elog(XLOGPREFETCHER_DEBUG_LEVEL,
-				 "prefetch of %u/%u/%u block %u suppressed; filtering until LSN %X/%X is replayed (blocks >= %u filtered)",
+				 "prefetch of %u/%u/%u block %u suppressed; filtering until LSN %X/%08X is replayed (blocks >= %u filtered)",
 				 rlocator.spcOid, rlocator.dbOid, rlocator.relNumber, blockno,
 				 LSN_FORMAT_ARGS(filter->filter_until_replayed),
 				 filter->filter_from_block);
@@ -944,7 +944,7 @@ XLogPrefetcherIsFiltered(XLogPrefetcher *prefetcher, RelFileLocator rlocator,
 		{
 #ifdef XLOGPREFETCHER_DEBUG_LEVEL
 			elog(XLOGPREFETCHER_DEBUG_LEVEL,
-				 "prefetch of %u/%u/%u block %u suppressed; filtering until LSN %X/%X is replayed (whole database)",
+				 "prefetch of %u/%u/%u block %u suppressed; filtering until LSN %X/%08X is replayed (whole database)",
 				 rlocator.spcOid, rlocator.dbOid, rlocator.relNumber, blockno,
 				 LSN_FORMAT_ARGS(filter->filter_until_replayed));
 #endif
diff --git a/src/backend/access/transam/xlogreader.c b/src/backend/access/transam/xlogreader.c
index 2790ade1f91..ac1f801b1eb 100644
--- a/src/backend/access/transam/xlogreader.c
+++ b/src/backend/access/transam/xlogreader.c
@@ -617,7 +617,7 @@ restart:
 	}
 	else if (targetRecOff < pageHeaderSize)
 	{
-		report_invalid_record(state, "invalid record offset at %X/%X: expected at least %u, got %u",
+		report_invalid_record(state, "invalid record offset at %X/%08X: expected at least %u, got %u",
 							  LSN_FORMAT_ARGS(RecPtr),
 							  pageHeaderSize, targetRecOff);
 		goto err;
@@ -626,7 +626,7 @@ restart:
 	if ((((XLogPageHeader) state->readBuf)->xlp_info & XLP_FIRST_IS_CONTRECORD) &&
 		targetRecOff == pageHeaderSize)
 	{
-		report_invalid_record(state, "contrecord is requested by %X/%X",
+		report_invalid_record(state, "contrecord is requested by %X/%08X",
 							  LSN_FORMAT_ARGS(RecPtr));
 		goto err;
 	}
@@ -667,7 +667,7 @@ restart:
 		if (total_len < SizeOfXLogRecord)
 		{
 			report_invalid_record(state,
-								  "invalid record length at %X/%X: expected at least %u, got %u",
+								  "invalid record length at %X/%08X: expected at least %u, got %u",
 								  LSN_FORMAT_ARGS(RecPtr),
 								  (uint32) SizeOfXLogRecord, total_len);
 			goto err;
@@ -756,7 +756,7 @@ restart:
 			if (!(pageHeader->xlp_info & XLP_FIRST_IS_CONTRECORD))
 			{
 				report_invalid_record(state,
-									  "there is no contrecord flag at %X/%X",
+									  "there is no contrecord flag at %X/%08X",
 									  LSN_FORMAT_ARGS(RecPtr));
 				goto err;
 			}
@@ -769,7 +769,7 @@ restart:
 				total_len != (pageHeader->xlp_rem_len + gotlen))
 			{
 				report_invalid_record(state,
-									  "invalid contrecord length %u (expected %lld) at %X/%X",
+									  "invalid contrecord length %u (expected %lld) at %X/%08X",
 									  pageHeader->xlp_rem_len,
 									  ((long long) total_len) - gotlen,
 									  LSN_FORMAT_ARGS(RecPtr));
@@ -1132,7 +1132,7 @@ ValidXLogRecordHeader(XLogReaderState *state, XLogRecPtr RecPtr,
 	if (record->xl_tot_len < SizeOfXLogRecord)
 	{
 		report_invalid_record(state,
-							  "invalid record length at %X/%X: expected at least %u, got %u",
+							  "invalid record length at %X/%08X: expected at least %u, got %u",
 							  LSN_FORMAT_ARGS(RecPtr),
 							  (uint32) SizeOfXLogRecord, record->xl_tot_len);
 		return false;
@@ -1140,7 +1140,7 @@ ValidXLogRecordHeader(XLogReaderState *state, XLogRecPtr RecPtr,
 	if (!RmgrIdIsValid(record->xl_rmid))
 	{
 		report_invalid_record(state,
-							  "invalid resource manager ID %u at %X/%X",
+							  "invalid resource manager ID %u at %X/%08X",
 							  record->xl_rmid, LSN_FORMAT_ARGS(RecPtr));
 		return false;
 	}
@@ -1153,7 +1153,7 @@ ValidXLogRecordHeader(XLogReaderState *state, XLogRecPtr RecPtr,
 		if (!(record->xl_prev < RecPtr))
 		{
 			report_invalid_record(state,
-								  "record with incorrect prev-link %X/%X at %X/%X",
+								  "record with incorrect prev-link %X/%08X at %X/%08X",
 								  LSN_FORMAT_ARGS(record->xl_prev),
 								  LSN_FORMAT_ARGS(RecPtr));
 			return false;
@@ -1169,7 +1169,7 @@ ValidXLogRecordHeader(XLogReaderState *state, XLogRecPtr RecPtr,
 		if (record->xl_prev != PrevRecPtr)
 		{
 			report_invalid_record(state,
-								  "record with incorrect prev-link %X/%X at %X/%X",
+								  "record with incorrect prev-link %X/%08X at %X/%08X",
 								  LSN_FORMAT_ARGS(record->xl_prev),
 								  LSN_FORMAT_ARGS(RecPtr));
 			return false;
@@ -1207,7 +1207,7 @@ ValidXLogRecord(XLogReaderState *state, XLogRecord *record, XLogRecPtr recptr)
 	if (!EQ_CRC32C(record->xl_crc, crc))
 	{
 		report_invalid_record(state,
-							  "incorrect resource manager data checksum in record at %X/%X",
+							  "incorrect resource manager data checksum in record at %X/%08X",
 							  LSN_FORMAT_ARGS(recptr));
 		return false;
 	}
@@ -1241,7 +1241,7 @@ XLogReaderValidatePageHeader(XLogReaderState *state, XLogRecPtr recptr,
 		XLogFileName(fname, state->seg.ws_tli, segno, state->segcxt.ws_segsize);
 
 		report_invalid_record(state,
-							  "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u",
+							  "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u",
 							  hdr->xlp_magic,
 							  fname,
 							  LSN_FORMAT_ARGS(recptr),
@@ -1256,7 +1256,7 @@ XLogReaderValidatePageHeader(XLogReaderState *state, XLogRecPtr recptr,
 		XLogFileName(fname, state->seg.ws_tli, segno, state->segcxt.ws_segsize);
 
 		report_invalid_record(state,
-							  "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u",
+							  "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u",
 							  hdr->xlp_info,
 							  fname,
 							  LSN_FORMAT_ARGS(recptr),
@@ -1298,7 +1298,7 @@ XLogReaderValidatePageHeader(XLogReaderState *state, XLogRecPtr recptr,
 
 		/* hmm, first page of file doesn't have a long header? */
 		report_invalid_record(state,
-							  "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u",
+							  "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u",
 							  hdr->xlp_info,
 							  fname,
 							  LSN_FORMAT_ARGS(recptr),
@@ -1318,7 +1318,7 @@ XLogReaderValidatePageHeader(XLogReaderState *state, XLogRecPtr recptr,
 		XLogFileName(fname, state->seg.ws_tli, segno, state->segcxt.ws_segsize);
 
 		report_invalid_record(state,
-							  "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u",
+							  "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u",
 							  LSN_FORMAT_ARGS(hdr->xlp_pageaddr),
 							  fname,
 							  LSN_FORMAT_ARGS(recptr),
@@ -1344,7 +1344,7 @@ XLogReaderValidatePageHeader(XLogReaderState *state, XLogRecPtr recptr,
 			XLogFileName(fname, state->seg.ws_tli, segno, state->segcxt.ws_segsize);
 
 			report_invalid_record(state,
-								  "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u",
+								  "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u",
 								  hdr->xlp_tli,
 								  state->latestPageTLI,
 								  fname,
@@ -1756,7 +1756,7 @@ DecodeXLogRecord(XLogReaderState *state,
 			if (block_id <= decoded->max_block_id)
 			{
 				report_invalid_record(state,
-									  "out-of-order block_id %u at %X/%X",
+									  "out-of-order block_id %u at %X/%08X",
 									  block_id,
 									  LSN_FORMAT_ARGS(state->ReadRecPtr));
 				goto err;
@@ -1780,14 +1780,14 @@ DecodeXLogRecord(XLogReaderState *state,
 			if (blk->has_data && blk->data_len == 0)
 			{
 				report_invalid_record(state,
-									  "BKPBLOCK_HAS_DATA set, but no data included at %X/%X",
+									  "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X",
 									  LSN_FORMAT_ARGS(state->ReadRecPtr));
 				goto err;
 			}
 			if (!blk->has_data && blk->data_len != 0)
 			{
 				report_invalid_record(state,
-									  "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X",
+									  "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X",
 									  (unsigned int) blk->data_len,
 									  LSN_FORMAT_ARGS(state->ReadRecPtr));
 				goto err;
@@ -1823,7 +1823,7 @@ DecodeXLogRecord(XLogReaderState *state,
 					 blk->bimg_len == BLCKSZ))
 				{
 					report_invalid_record(state,
-										  "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X",
+										  "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X",
 										  (unsigned int) blk->hole_offset,
 										  (unsigned int) blk->hole_length,
 										  (unsigned int) blk->bimg_len,
@@ -1839,7 +1839,7 @@ DecodeXLogRecord(XLogReaderState *state,
 					(blk->hole_offset != 0 || blk->hole_length != 0))
 				{
 					report_invalid_record(state,
-										  "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X",
+										  "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X",
 										  (unsigned int) blk->hole_offset,
 										  (unsigned int) blk->hole_length,
 										  LSN_FORMAT_ARGS(state->ReadRecPtr));
@@ -1853,7 +1853,7 @@ DecodeXLogRecord(XLogReaderState *state,
 					blk->bimg_len == BLCKSZ)
 				{
 					report_invalid_record(state,
-										  "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X",
+										  "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X",
 										  (unsigned int) blk->bimg_len,
 										  LSN_FORMAT_ARGS(state->ReadRecPtr));
 					goto err;
@@ -1868,7 +1868,7 @@ DecodeXLogRecord(XLogReaderState *state,
 					blk->bimg_len != BLCKSZ)
 				{
 					report_invalid_record(state,
-										  "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X",
+										  "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X",
 										  (unsigned int) blk->data_len,
 										  LSN_FORMAT_ARGS(state->ReadRecPtr));
 					goto err;
@@ -1884,7 +1884,7 @@ DecodeXLogRecord(XLogReaderState *state,
 				if (rlocator == NULL)
 				{
 					report_invalid_record(state,
-										  "BKPBLOCK_SAME_REL set but no previous rel at %X/%X",
+										  "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X",
 										  LSN_FORMAT_ARGS(state->ReadRecPtr));
 					goto err;
 				}
@@ -1896,7 +1896,7 @@ DecodeXLogRecord(XLogReaderState *state,
 		else
 		{
 			report_invalid_record(state,
-								  "invalid block_id %u at %X/%X",
+								  "invalid block_id %u at %X/%08X",
 								  block_id, LSN_FORMAT_ARGS(state->ReadRecPtr));
 			goto err;
 		}
@@ -1963,7 +1963,7 @@ DecodeXLogRecord(XLogReaderState *state,
 
 shortdata_err:
 	report_invalid_record(state,
-						  "record with invalid length at %X/%X",
+						  "record with invalid length at %X/%08X",
 						  LSN_FORMAT_ARGS(state->ReadRecPtr));
 err:
 	*errormsg = state->errormsg_buf;
@@ -2073,14 +2073,14 @@ RestoreBlockImage(XLogReaderState *record, uint8 block_id, char *page)
 		!record->record->blocks[block_id].in_use)
 	{
 		report_invalid_record(record,
-							  "could not restore image at %X/%X with invalid block %d specified",
+							  "could not restore image at %X/%08X with invalid block %d specified",
 							  LSN_FORMAT_ARGS(record->ReadRecPtr),
 							  block_id);
 		return false;
 	}
 	if (!record->record->blocks[block_id].has_image)
 	{
-		report_invalid_record(record, "could not restore image at %X/%X with invalid state, block %d",
+		report_invalid_record(record, "could not restore image at %X/%08X with invalid state, block %d",
 							  LSN_FORMAT_ARGS(record->ReadRecPtr),
 							  block_id);
 		return false;
@@ -2107,7 +2107,7 @@ RestoreBlockImage(XLogReaderState *record, uint8 block_id, char *page)
 									bkpb->bimg_len, BLCKSZ - bkpb->hole_length) <= 0)
 				decomp_success = false;
 #else
-			report_invalid_record(record, "could not restore image at %X/%X compressed with %s not supported by build, block %d",
+			report_invalid_record(record, "could not restore image at %X/%08X compressed with %s not supported by build, block %d",
 								  LSN_FORMAT_ARGS(record->ReadRecPtr),
 								  "LZ4",
 								  block_id);
@@ -2124,7 +2124,7 @@ RestoreBlockImage(XLogReaderState *record, uint8 block_id, char *page)
 			if (ZSTD_isError(decomp_result))
 				decomp_success = false;
 #else
-			report_invalid_record(record, "could not restore image at %X/%X compressed with %s not supported by build, block %d",
+			report_invalid_record(record, "could not restore image at %X/%08X compressed with %s not supported by build, block %d",
 								  LSN_FORMAT_ARGS(record->ReadRecPtr),
 								  "zstd",
 								  block_id);
@@ -2133,7 +2133,7 @@ RestoreBlockImage(XLogReaderState *record, uint8 block_id, char *page)
 		}
 		else
 		{
-			report_invalid_record(record, "could not restore image at %X/%X compressed with unknown method, block %d",
+			report_invalid_record(record, "could not restore image at %X/%08X compressed with unknown method, block %d",
 								  LSN_FORMAT_ARGS(record->ReadRecPtr),
 								  block_id);
 			return false;
@@ -2141,7 +2141,7 @@ RestoreBlockImage(XLogReaderState *record, uint8 block_id, char *page)
 
 		if (!decomp_success)
 		{
-			report_invalid_record(record, "could not decompress image at %X/%X, block %d",
+			report_invalid_record(record, "could not decompress image at %X/%08X, block %d",
 								  LSN_FORMAT_ARGS(record->ReadRecPtr),
 								  block_id);
 			return false;
diff --git a/src/backend/access/transam/xlogrecovery.c b/src/backend/access/transam/xlogrecovery.c
index 6ce979f2d8b..812995a5a39 100644
--- a/src/backend/access/transam/xlogrecovery.c
+++ b/src/backend/access/transam/xlogrecovery.c
@@ -620,7 +620,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
 		 * than ControlFile->checkPoint is used.
 		 */
 		ereport(LOG,
-				(errmsg("starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u",
+				(errmsg("starting backup recovery with redo LSN %X/%08X, checkpoint LSN %X/%08X, on timeline ID %u",
 						LSN_FORMAT_ARGS(RedoStartLSN),
 						LSN_FORMAT_ARGS(CheckPointLoc),
 						CheckPointTLI)));
@@ -636,7 +636,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
 			memcpy(&checkPoint, XLogRecGetData(xlogreader), sizeof(CheckPoint));
 			wasShutdown = ((record->xl_info & ~XLR_INFO_MASK) == XLOG_CHECKPOINT_SHUTDOWN);
 			ereport(DEBUG1,
-					(errmsg_internal("checkpoint record is at %X/%X",
+					(errmsg_internal("checkpoint record is at %X/%08X",
 									 LSN_FORMAT_ARGS(CheckPointLoc))));
 			InRecovery = true;	/* force recovery even if SHUTDOWNED */
 
@@ -652,7 +652,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
 				if (!ReadRecord(xlogprefetcher, LOG, false,
 								checkPoint.ThisTimeLineID))
 					ereport(FATAL,
-							(errmsg("could not find redo location %X/%X referenced by checkpoint record at %X/%X",
+							(errmsg("could not find redo location %X/%08X referenced by checkpoint record at %X/%08X",
 									LSN_FORMAT_ARGS(checkPoint.redo), LSN_FORMAT_ARGS(CheckPointLoc)),
 							 errhint("If you are restoring from a backup, touch \"%s/recovery.signal\" or \"%s/standby.signal\" and add required recovery options.\n"
 									 "If you are not restoring from a backup, try removing the file \"%s/backup_label\".\n"
@@ -663,7 +663,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
 		else
 		{
 			ereport(FATAL,
-					(errmsg("could not locate required checkpoint record at %X/%X",
+					(errmsg("could not locate required checkpoint record at %X/%08X",
 							LSN_FORMAT_ARGS(CheckPointLoc)),
 					 errhint("If you are restoring from a backup, touch \"%s/recovery.signal\" or \"%s/standby.signal\" and add required recovery options.\n"
 							 "If you are not restoring from a backup, try removing the file \"%s/backup_label\".\n"
@@ -773,7 +773,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
 		 */
 		if (!XLogRecPtrIsInvalid(ControlFile->backupStartPoint))
 			ereport(LOG,
-					(errmsg("restarting backup recovery with redo LSN %X/%X",
+					(errmsg("restarting backup recovery with redo LSN %X/%08X",
 							LSN_FORMAT_ARGS(ControlFile->backupStartPoint))));
 
 		/* Get the last valid checkpoint record. */
@@ -786,7 +786,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
 		if (record != NULL)
 		{
 			ereport(DEBUG1,
-					(errmsg_internal("checkpoint record is at %X/%X",
+					(errmsg_internal("checkpoint record is at %X/%08X",
 									 LSN_FORMAT_ARGS(CheckPointLoc))));
 		}
 		else
@@ -798,7 +798,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
 			 * simplify processing around checkpoints.
 			 */
 			ereport(PANIC,
-					(errmsg("could not locate a valid checkpoint record at %X/%X",
+					(errmsg("could not locate a valid checkpoint record at %X/%08X",
 							LSN_FORMAT_ARGS(CheckPointLoc))));
 		}
 		memcpy(&checkPoint, XLogRecGetData(xlogreader), sizeof(CheckPoint));
@@ -824,7 +824,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
 							recoveryTargetName)));
 		else if (recoveryTarget == RECOVERY_TARGET_LSN)
 			ereport(LOG,
-					(errmsg("starting point-in-time recovery to WAL location (LSN) \"%X/%X\"",
+					(errmsg("starting point-in-time recovery to WAL location (LSN) \"%X/%08X\"",
 							LSN_FORMAT_ARGS(recoveryTargetLSN))));
 		else if (recoveryTarget == RECOVERY_TARGET_IMMEDIATE)
 			ereport(LOG,
@@ -855,7 +855,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
 				(errmsg("requested timeline %u is not a child of this server's history",
 						recoveryTargetTLI),
 		/* translator: %s is a backup_label file or a pg_control file */
-				 errdetail("Latest checkpoint in file \"%s\" is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X.",
+				 errdetail("Latest checkpoint in file \"%s\" is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X.",
 						   haveBackupLabel ? "backup_label" : "pg_control",
 						   LSN_FORMAT_ARGS(CheckPointLoc),
 						   CheckPointTLI,
@@ -870,13 +870,13 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr,
 		tliOfPointInHistory(ControlFile->minRecoveryPoint - 1, expectedTLEs) !=
 		ControlFile->minRecoveryPointTLI)
 		ereport(FATAL,
-				(errmsg("requested timeline %u does not contain minimum recovery point %X/%X on timeline %u",
+				(errmsg("requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u",
 						recoveryTargetTLI,
 						LSN_FORMAT_ARGS(ControlFile->minRecoveryPoint),
 						ControlFile->minRecoveryPointTLI)));
 
 	ereport(DEBUG1,
-			(errmsg_internal("redo record is at %X/%X; shutdown %s",
+			(errmsg_internal("redo record is at %X/%08X; shutdown %s",
 							 LSN_FORMAT_ARGS(checkPoint.redo),
 							 wasShutdown ? "true" : "false")));
 	ereport(DEBUG1,
@@ -1253,14 +1253,14 @@ read_backup_label(XLogRecPtr *checkPointLoc, TimeLineID *backupLabelTLI,
 	 * is pretty crude, but we are not expecting any variability in the file
 	 * format).
 	 */
-	if (fscanf(lfp, "START WAL LOCATION: %X/%X (file %08X%16s)%c",
+	if (fscanf(lfp, "START WAL LOCATION: %X/%08X (file %08X%16s)%c",
 			   &hi, &lo, &tli_from_walseg, startxlogfilename, &ch) != 5 || ch != '\n')
 		ereport(FATAL,
 				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
 				 errmsg("invalid data in file \"%s\"", BACKUP_LABEL_FILE)));
 	RedoStartLSN = ((uint64) hi) << 32 | lo;
 	RedoStartTLI = tli_from_walseg;
-	if (fscanf(lfp, "CHECKPOINT LOCATION: %X/%X%c",
+	if (fscanf(lfp, "CHECKPOINT LOCATION: %X/%08X%c",
 			   &hi, &lo, &ch) != 3 || ch != '\n')
 		ereport(FATAL,
 				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
@@ -1332,7 +1332,7 @@ read_backup_label(XLogRecPtr *checkPointLoc, TimeLineID *backupLabelTLI,
 								 tli_from_file, BACKUP_LABEL_FILE)));
 	}
 
-	if (fscanf(lfp, "INCREMENTAL FROM LSN: %X/%X\n", &hi, &lo) > 0)
+	if (fscanf(lfp, "INCREMENTAL FROM LSN: %X/%08X\n", &hi, &lo) > 0)
 		ereport(FATAL,
 				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
 				 errmsg("this is an incremental backup, not a data directory"),
@@ -1722,7 +1722,7 @@ PerformWalRecovery(void)
 		if (record->xl_rmid != RM_XLOG_ID ||
 			(record->xl_info & ~XLR_INFO_MASK) != XLOG_CHECKPOINT_REDO)
 			ereport(FATAL,
-					(errmsg("unexpected record type found at redo point %X/%X",
+					(errmsg("unexpected record type found at redo point %X/%08X",
 							LSN_FORMAT_ARGS(xlogreader->ReadRecPtr))));
 	}
 	else
@@ -1745,7 +1745,7 @@ PerformWalRecovery(void)
 		RmgrStartup();
 
 		ereport(LOG,
-				(errmsg("redo starts at %X/%X",
+				(errmsg("redo starts at %X/%08X",
 						LSN_FORMAT_ARGS(xlogreader->ReadRecPtr))));
 
 		/* Prepare to report progress of the redo phase. */
@@ -1758,7 +1758,7 @@ PerformWalRecovery(void)
 		do
 		{
 			if (!StandbyMode)
-				ereport_startup_progress("redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X",
+				ereport_startup_progress("redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%08X",
 										 LSN_FORMAT_ARGS(xlogreader->ReadRecPtr));
 
 #ifdef WAL_DEBUG
@@ -1767,7 +1767,7 @@ PerformWalRecovery(void)
 				StringInfoData buf;
 
 				initStringInfo(&buf);
-				appendStringInfo(&buf, "REDO @ %X/%X; LSN %X/%X: ",
+				appendStringInfo(&buf, "REDO @ %X/%08X; LSN %X/%08X: ",
 								 LSN_FORMAT_ARGS(xlogreader->ReadRecPtr),
 								 LSN_FORMAT_ARGS(xlogreader->EndRecPtr));
 				xlog_outrec(&buf, xlogreader);
@@ -1880,7 +1880,7 @@ PerformWalRecovery(void)
 		RmgrCleanup();
 
 		ereport(LOG,
-				(errmsg("redo done at %X/%X system usage: %s",
+				(errmsg("redo done at %X/%08X system usage: %s",
 						LSN_FORMAT_ARGS(xlogreader->ReadRecPtr),
 						pg_rusage_show(&ru0))));
 		xtime = GetLatestXTime();
@@ -2092,7 +2092,7 @@ xlogrecovery_redo(XLogReaderState *record, TimeLineID replayTLI)
 
 		memcpy(&xlrec, XLogRecGetData(record), sizeof(xl_overwrite_contrecord));
 		if (xlrec.overwritten_lsn != record->overwrittenRecPtr)
-			elog(FATAL, "mismatching overwritten LSN %X/%X -> %X/%X",
+			elog(FATAL, "mismatching overwritten LSN %X/%08X -> %X/%08X",
 				 LSN_FORMAT_ARGS(xlrec.overwritten_lsn),
 				 LSN_FORMAT_ARGS(record->overwrittenRecPtr));
 
@@ -2101,7 +2101,7 @@ xlogrecovery_redo(XLogReaderState *record, TimeLineID replayTLI)
 		missingContrecPtr = InvalidXLogRecPtr;
 
 		ereport(LOG,
-				(errmsg("successfully skipped missing contrecord at %X/%X, overwritten at %s",
+				(errmsg("successfully skipped missing contrecord at %X/%08X, overwritten at %s",
 						LSN_FORMAT_ARGS(xlrec.overwritten_lsn),
 						timestamptz_to_str(xlrec.overwrite_time))));
 
@@ -2129,7 +2129,7 @@ xlogrecovery_redo(XLogReaderState *record, TimeLineID replayTLI)
 			backupEndPoint = lsn;
 		}
 		else
-			elog(DEBUG1, "saw end-of-backup record for backup starting at %X/%X, waiting for %X/%X",
+			elog(DEBUG1, "saw end-of-backup record for backup starting at %X/%08X, waiting for %X/%08X",
 				 LSN_FORMAT_ARGS(startpoint), LSN_FORMAT_ARGS(backupStartPoint));
 	}
 }
@@ -2224,7 +2224,7 @@ CheckRecoveryConsistency(void)
 		backupEndRequired = false;
 
 		ereport(LOG,
-				(errmsg("completed backup recovery with redo LSN %X/%X and end LSN %X/%X",
+				(errmsg("completed backup recovery with redo LSN %X/%08X and end LSN %X/%08X",
 						LSN_FORMAT_ARGS(saveBackupStartPoint),
 						LSN_FORMAT_ARGS(saveBackupEndPoint))));
 	}
@@ -2255,7 +2255,7 @@ CheckRecoveryConsistency(void)
 		reachedConsistency = true;
 		SendPostmasterSignal(PMSIGNAL_RECOVERY_CONSISTENT);
 		ereport(LOG,
-				(errmsg("consistent recovery state reached at %X/%X",
+				(errmsg("consistent recovery state reached at %X/%08X",
 						LSN_FORMAT_ARGS(lastReplayedEndRecPtr))));
 	}
 
@@ -2293,7 +2293,7 @@ rm_redo_error_callback(void *arg)
 	xlog_block_info(&buf, record);
 
 	/* translator: %s is a WAL record description */
-	errcontext("WAL redo at %X/%X for %s",
+	errcontext("WAL redo at %X/%08X for %s",
 			   LSN_FORMAT_ARGS(record->ReadRecPtr),
 			   buf.data);
 
@@ -2328,7 +2328,7 @@ xlog_outdesc(StringInfo buf, XLogReaderState *record)
 static void
 xlog_outrec(StringInfo buf, XLogReaderState *record)
 {
-	appendStringInfo(buf, "prev %X/%X; xid %u",
+	appendStringInfo(buf, "prev %X/%08X; xid %u",
 					 LSN_FORMAT_ARGS(XLogRecGetPrev(record)),
 					 XLogRecGetXid(record));
 
@@ -2416,7 +2416,7 @@ checkTimeLineSwitch(XLogRecPtr lsn, TimeLineID newTLI, TimeLineID prevTLI,
 		lsn < minRecoveryPoint &&
 		newTLI > minRecoveryPointTLI)
 		ereport(PANIC,
-				(errmsg("unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u",
+				(errmsg("unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u",
 						newTLI,
 						LSN_FORMAT_ARGS(minRecoveryPoint),
 						minRecoveryPointTLI)));
@@ -2621,7 +2621,7 @@ recoveryStopsBefore(XLogReaderState *record)
 		recoveryStopTime = 0;
 		recoveryStopName[0] = '\0';
 		ereport(LOG,
-				(errmsg("recovery stopping before WAL location (LSN) \"%X/%X\"",
+				(errmsg("recovery stopping before WAL location (LSN) \"%X/%08X\"",
 						LSN_FORMAT_ARGS(recoveryStopLSN))));
 		return true;
 	}
@@ -2789,7 +2789,7 @@ recoveryStopsAfter(XLogReaderState *record)
 		recoveryStopTime = 0;
 		recoveryStopName[0] = '\0';
 		ereport(LOG,
-				(errmsg("recovery stopping after WAL location (LSN) \"%X/%X\"",
+				(errmsg("recovery stopping after WAL location (LSN) \"%X/%08X\"",
 						LSN_FORMAT_ARGS(recoveryStopLSN))));
 		return true;
 	}
@@ -2910,7 +2910,7 @@ getRecoveryStopReason(void)
 				 timestamptz_to_str(recoveryStopTime));
 	else if (recoveryTarget == RECOVERY_TARGET_LSN)
 		snprintf(reason, sizeof(reason),
-				 "%s LSN %X/%X\n",
+				 "%s LSN %X/%08X\n",
 				 recoveryStopAfter ? "after" : "before",
 				 LSN_FORMAT_ARGS(recoveryStopLSN));
 	else if (recoveryTarget == RECOVERY_TARGET_NAME)
@@ -3213,7 +3213,7 @@ ReadRecord(XLogPrefetcher *xlogprefetcher, int emode,
 			XLogFileName(fname, xlogreader->seg.ws_tli, segno,
 						 wal_segment_size);
 			ereport(emode_for_corrupt_record(emode, xlogreader->EndRecPtr),
-					(errmsg("unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u",
+					(errmsg("unexpected timeline ID %u in WAL segment %s, LSN %X/%08X, offset %u",
 							xlogreader->latestPageTLI,
 							fname,
 							LSN_FORMAT_ARGS(xlogreader->latestPagePtr),
@@ -3429,14 +3429,14 @@ retry:
 			errno = save_errno;
 			ereport(emode_for_corrupt_record(emode, targetPagePtr + reqLen),
 					(errcode_for_file_access(),
-					 errmsg("could not read from WAL segment %s, LSN %X/%X, offset %u: %m",
+					 errmsg("could not read from WAL segment %s, LSN %X/%08X, offset %u: %m",
 							fname, LSN_FORMAT_ARGS(targetPagePtr),
 							readOff)));
 		}
 		else
 			ereport(emode_for_corrupt_record(emode, targetPagePtr + reqLen),
 					(errcode(ERRCODE_DATA_CORRUPTED),
-					 errmsg("could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu",
+					 errmsg("could not read from WAL segment %s, LSN %X/%08X, offset %u: read %d of %zu",
 							fname, LSN_FORMAT_ARGS(targetPagePtr),
 							readOff, r, (Size) XLOG_BLCKSZ)));
 		goto next_record_is_invalid;
@@ -3718,7 +3718,7 @@ WaitForWALToBecomeAvailable(XLogRecPtr RecPtr, bool randAccess,
 						wait_time = wal_retrieve_retry_interval -
 							TimestampDifferenceMilliseconds(last_fail_time, now);
 
-						elog(LOG, "waiting for WAL to become available at %X/%X",
+						elog(LOG, "waiting for WAL to become available at %X/%08X",
 							 LSN_FORMAT_ARGS(RecPtr));
 
 						/* Do background tasks that might benefit us later. */
@@ -3864,7 +3864,7 @@ WaitForWALToBecomeAvailable(XLogRecPtr RecPtr, bool randAccess,
 							tli = tliOfPointInHistory(tliRecPtr, expectedTLEs);
 
 							if (curFileTLI > 0 && tli < curFileTLI)
-								elog(ERROR, "according to history file, WAL location %X/%X belongs to timeline %u, but previous recovered WAL file came from timeline %u",
+								elog(ERROR, "according to history file, WAL location %X/%08X belongs to timeline %u, but previous recovered WAL file came from timeline %u",
 									 LSN_FORMAT_ARGS(tliRecPtr),
 									 tli, curFileTLI);
 						}
@@ -4177,7 +4177,7 @@ rescanLatestTimeLine(TimeLineID replayTLI, XLogRecPtr replayLSN)
 	if (currentTle->end < replayLSN)
 	{
 		ereport(LOG,
-				(errmsg("new timeline %u forked off current database system timeline %u before current recovery point %X/%X",
+				(errmsg("new timeline %u forked off current database system timeline %u before current recovery point %X/%08X",
 						newtarget,
 						replayTLI,
 						LSN_FORMAT_ARGS(replayLSN))));
diff --git a/src/backend/access/transam/xlogutils.c b/src/backend/access/transam/xlogutils.c
index c389b27f77d..27ea52fdfee 100644
--- a/src/backend/access/transam/xlogutils.c
+++ b/src/backend/access/transam/xlogutils.c
@@ -795,7 +795,7 @@ XLogReadDetermineTimeline(XLogReaderState *state, XLogRecPtr wantPage,
 
 		list_free_deep(timelineHistory);
 
-		elog(DEBUG3, "switched to timeline %u valid until %X/%X",
+		elog(DEBUG3, "switched to timeline %u valid until %X/%08X",
 			 state->currTLI,
 			 LSN_FORMAT_ARGS(state->currTLIValidUntil));
 	}
diff --git a/src/backend/backup/backup_manifest.c b/src/backend/backup/backup_manifest.c
index 22e2be37c95..d05252f383c 100644
--- a/src/backend/backup/backup_manifest.c
+++ b/src/backend/backup/backup_manifest.c
@@ -281,7 +281,7 @@ AddWALInfoToBackupManifest(backup_manifest_info *manifest, XLogRecPtr startptr,
 		}
 
 		AppendToManifest(manifest,
-						 "%s{ \"Timeline\": %u, \"Start-LSN\": \"%X/%X\", \"End-LSN\": \"%X/%X\" }",
+						 "%s{ \"Timeline\": %u, \"Start-LSN\": \"%X/%08X\", \"End-LSN\": \"%X/%08X\" }",
 						 first_wal_range ? "" : ",\n",
 						 entry->tli,
 						 LSN_FORMAT_ARGS(tl_beginptr),
diff --git a/src/backend/backup/basebackup_copy.c b/src/backend/backup/basebackup_copy.c
index a284ce318ff..18b0b5a52d3 100644
--- a/src/backend/backup/basebackup_copy.c
+++ b/src/backend/backup/basebackup_copy.c
@@ -361,7 +361,7 @@ SendXlogRecPtrResult(XLogRecPtr ptr, TimeLineID tli)
 	tstate = begin_tup_output_tupdesc(dest, tupdesc, &TTSOpsVirtual);
 
 	/* Data row */
-	values[0] = CStringGetTextDatum(psprintf("%X/%X", LSN_FORMAT_ARGS(ptr)));
+	values[0] = CStringGetTextDatum(psprintf("%X/%08X", LSN_FORMAT_ARGS(ptr)));
 	values[1] = Int64GetDatum(tli);
 	do_tup_output(tstate, values, nulls);
 
diff --git a/src/backend/backup/basebackup_incremental.c b/src/backend/backup/basebackup_incremental.c
index 28491b1e0ab..a0d48ff0fef 100644
--- a/src/backend/backup/basebackup_incremental.c
+++ b/src/backend/backup/basebackup_incremental.c
@@ -409,7 +409,7 @@ PrepareForIncrementalBackup(IncrementalBackupInfo *ib,
 			if (range->start_lsn < tlep[i]->begin)
 				ereport(ERROR,
 						(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
-						 errmsg("manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X",
+						 errmsg("manifest requires WAL from initial timeline %u starting at %X/%08X, but that timeline begins at %X/%08X",
 								range->tli,
 								LSN_FORMAT_ARGS(range->start_lsn),
 								LSN_FORMAT_ARGS(tlep[i]->begin))));
@@ -419,7 +419,7 @@ PrepareForIncrementalBackup(IncrementalBackupInfo *ib,
 			if (range->start_lsn != tlep[i]->begin)
 				ereport(ERROR,
 						(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
-						 errmsg("manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X",
+						 errmsg("manifest requires WAL from continuation timeline %u starting at %X/%08X, but that timeline begins at %X/%08X",
 								range->tli,
 								LSN_FORMAT_ARGS(range->start_lsn),
 								LSN_FORMAT_ARGS(tlep[i]->begin))));
@@ -430,7 +430,7 @@ PrepareForIncrementalBackup(IncrementalBackupInfo *ib,
 			if (range->end_lsn > backup_state->startpoint)
 				ereport(ERROR,
 						(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
-						 errmsg("manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X",
+						 errmsg("manifest requires WAL from final timeline %u ending at %X/%08X, but this backup starts at %X/%08X",
 								range->tli,
 								LSN_FORMAT_ARGS(range->end_lsn),
 								LSN_FORMAT_ARGS(backup_state->startpoint)),
@@ -441,7 +441,7 @@ PrepareForIncrementalBackup(IncrementalBackupInfo *ib,
 			if (range->end_lsn != tlep[i]->end)
 				ereport(ERROR,
 						(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
-						 errmsg("manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X",
+						 errmsg("manifest requires WAL from non-final timeline %u ending at %X/%08X, but this server switched timelines at %X/%08X",
 								range->tli,
 								LSN_FORMAT_ARGS(range->end_lsn),
 								LSN_FORMAT_ARGS(tlep[i]->end))));
@@ -522,18 +522,18 @@ PrepareForIncrementalBackup(IncrementalBackupInfo *ib,
 			if (XLogRecPtrIsInvalid(tli_missing_lsn))
 				ereport(ERROR,
 						(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
-						 errmsg("WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist",
+						 errmsg("WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but no summaries for that timeline and LSN range exist",
 								tle->tli,
 								LSN_FORMAT_ARGS(tli_start_lsn),
 								LSN_FORMAT_ARGS(tli_end_lsn))));
 			else
 				ereport(ERROR,
 						(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
-						 errmsg("WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete",
+						 errmsg("WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but the summaries for that timeline and LSN range are incomplete",
 								tle->tli,
 								LSN_FORMAT_ARGS(tli_start_lsn),
 								LSN_FORMAT_ARGS(tli_end_lsn)),
-						 errdetail("The first unsummarized LSN in this range is %X/%X.",
+						 errdetail("The first unsummarized LSN in this range is %X/%08X.",
 								   LSN_FORMAT_ARGS(tli_missing_lsn))));
 		}
 
diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c
index 4ff246cd943..e23b0de7242 100644
--- a/src/backend/commands/subscriptioncmds.c
+++ b/src/backend/commands/subscriptioncmds.c
@@ -1539,7 +1539,7 @@ AlterSubscription(ParseState *pstate, AlterSubscriptionStmt *stmt,
 					if (!XLogRecPtrIsInvalid(remote_lsn) && opts.lsn < remote_lsn)
 						ereport(ERROR,
 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
-								 errmsg("skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X",
+								 errmsg("skip WAL location (LSN %X/%08X) must be greater than origin LSN %X/%08X",
 										LSN_FORMAT_ARGS(opts.lsn),
 										LSN_FORMAT_ARGS(remote_lsn))));
 				}
diff --git a/src/backend/po/de.po b/src/backend/po/de.po
index 19f1a2abea0..61ba89cdcd9 100644
--- a/src/backend/po/de.po
+++ b/src/backend/po/de.po
@@ -2210,18 +2210,18 @@ msgstr "Fehlgeschlagen beim Anlegen eines WAL-Leseprozessors."
 
 #: access/transam/twophase.c:1445
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X: %s"
-msgstr "konnte Zweiphasen-Status nicht aus dem WAL bei %X/%X lesen: %s"
+msgid "could not read two-phase state from WAL at %X/%08X: %s"
+msgstr "konnte Zweiphasen-Status nicht aus dem WAL bei %X/%08X lesen: %s"
 
 #: access/transam/twophase.c:1450
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "konnte Zweiphasen-Status nicht aus dem WAL bei %X/%X lesen"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "konnte Zweiphasen-Status nicht aus dem WAL bei %X/%08X lesen"
 
 #: access/transam/twophase.c:1458
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
-msgstr "erwartete Zweiphasen-Status-Daten sind nicht im WAL bei %X/%X vorhanden"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
+msgstr "erwartete Zweiphasen-Status-Daten sind nicht im WAL bei %X/%08X vorhanden"
 
 #: access/transam/twophase.c:1754
 #, c-format
@@ -2277,8 +2277,8 @@ msgstr "konnte Zweiphasen-Statusdatei für Transaktion %u nicht wiederherstellen
 
 #: access/transam/twophase.c:2526
 #, c-format
-msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
-msgstr "Zweiphasen-Statusdatei wurde in WAL-Eintrag %X/%X gefunden, aber diese Transaktion wurde schon von der Festplatte wiederhergestellt."
+msgid "Two-phase state file has been found in WAL record %X/%08X, but this transaction has already been restored from disk."
+msgstr "Zweiphasen-Statusdatei wurde in WAL-Eintrag %X/%08X gefunden, aber diese Transaktion wurde schon von der Festplatte wiederhergestellt."
 
 #: access/transam/twophase.c:2534 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
 #, c-format
@@ -2437,13 +2437,13 @@ msgstr "kann nicht mehr als 2^32-1 Subtransaktionen in einer Transaktion haben"
 
 #: access/transam/xlog.c:1536
 #, c-format
-msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
-msgstr "Flush hinter das Ende des erzeugten WAL angefordert; Anforderung %X/%X, aktuelle Position %X/%X"
+msgid "request to flush past end of generated WAL; request %X/%08X, current position %X/%08X"
+msgstr "Flush hinter das Ende des erzeugten WAL angefordert; Anforderung %X/%08X, aktuelle Position %X/%08X"
 
 #: access/transam/xlog.c:1763
 #, c-format
-msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X"
-msgstr "kann nicht hinter das Ende des erzeugten WAL lesen: Anforderung %X/%X, aktuelle Position %X/%X"
+msgid "cannot read past end of generated WAL: requested %X/%08X, current position %X/%08X"
+msgstr "kann nicht hinter das Ende des erzeugten WAL lesen: Anforderung %X/%08X, aktuelle Position %X/%08X"
 
 #: access/transam/xlog.c:2204 access/transam/xlog.c:4495
 #, c-format
@@ -2754,13 +2754,13 @@ msgstr "Checkpoint beginnt:%s%s%s%s%s%s%s%s"
 
 #: access/transam/xlog.c:6668
 #, c-format
-msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr "Restart-Punkt komplett: %d Puffer geschrieben (%.1f%%); %d WAL-Datei(en) hinzugefügt, %d entfernt, %d wiederverwendet; Schreiben=%ld,%03d s, Sync=%ld,%03d s, gesamt=%ld,%03d s; sync. Dateien=%d, längste=%ld,%03d s, Durchschnitt=%ld.%03d s; Entfernung=%d kB, Schätzung=%d kB; LSN=%X/%X, Redo-LSN=%X/%X"
+msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
+msgstr "Restart-Punkt komplett: %d Puffer geschrieben (%.1f%%); %d WAL-Datei(en) hinzugefügt, %d entfernt, %d wiederverwendet; Schreiben=%ld,%03d s, Sync=%ld,%03d s, gesamt=%ld,%03d s; sync. Dateien=%d, längste=%ld,%03d s, Durchschnitt=%ld.%03d s; Entfernung=%d kB, Schätzung=%d kB; LSN=%X/%08X, Redo-LSN=%X/%08X"
 
 #: access/transam/xlog.c:6691
 #, c-format
-msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr "Checkpoint komplett: %d Puffer geschrieben (%.1f%%); %d WAL-Datei(en) hinzugefügt, %d entfernt, %d wiederverwendet; Schreiben=%ld,%03d s, Sync=%ld,%03d s, gesamt=%ld,%03d s; sync. Dateien=%d, längste=%ld,%03d s, Durchschnitt=%ld.%03d s; Entfernung=%d kB, Schätzung=%d kB; LSN=%X/%X, Redo-LSN=%X/%X"
+msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
+msgstr "Checkpoint komplett: %d Puffer geschrieben (%.1f%%); %d WAL-Datei(en) hinzugefügt, %d entfernt, %d wiederverwendet; Schreiben=%ld,%03d s, Sync=%ld,%03d s, gesamt=%ld,%03d s; sync. Dateien=%d, längste=%ld,%03d s, Durchschnitt=%ld.%03d s; Entfernung=%d kB, Schätzung=%d kB; LSN=%X/%08X, Redo-LSN=%X/%08X"
 
 #: access/transam/xlog.c:7165
 #, c-format
@@ -2769,8 +2769,8 @@ msgstr "gleichzeitige Write-Ahead-Log-Aktivität während das Datenbanksystem he
 
 #: access/transam/xlog.c:7749
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "Recovery-Restart-Punkt bei %X/%X"
+msgid "recovery restart point at %X/%08X"
+msgstr "Recovery-Restart-Punkt bei %X/%08X"
 
 #: access/transam/xlog.c:7751
 #, c-format
@@ -2779,8 +2779,8 @@ msgstr "Die letzte vollständige Transaktion war bei Logzeit %s."
 
 #: access/transam/xlog.c:8013
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "Restore-Punkt »%s« erzeugt bei %X/%X"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "Restore-Punkt »%s« erzeugt bei %X/%08X"
 
 #: access/transam/xlog.c:8220
 #, c-format
@@ -3041,53 +3041,53 @@ msgstr "»recovery_prefetch« wird auf Plattformen ohne posix_fadvise() nicht un
 
 #: access/transam/xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "ungültiger Datensatz-Offset bei %X/%X: mindestens %u erwartet, %u erhalten"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "ungültiger Datensatz-Offset bei %X/%08X: mindestens %u erwartet, %u erhalten"
 
 #: access/transam/xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "Contrecord angefordert von %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "Contrecord angefordert von %X/%08X"
 
 #: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "ungültige Datensatzlänge bei %X/%X: mindestens %u erwartet, %u erhalten"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "ungültige Datensatzlänge bei %X/%08X: mindestens %u erwartet, %u erhalten"
 
 #: access/transam/xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "keine Contrecord-Flag bei %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "keine Contrecord-Flag bei %X/%08X"
 
 #: access/transam/xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "ungültige Contrecord-Länge %u (erwartet %lld) bei %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "ungültige Contrecord-Länge %u (erwartet %lld) bei %X/%08X"
 
 #: access/transam/xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ungültige Resource-Manager-ID %u bei %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ungültige Resource-Manager-ID %u bei %X/%08X"
 
 #: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "Datensatz mit falschem Prev-Link %X/%X bei %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "Datensatz mit falschem Prev-Link %X/%08X bei %X/%08X"
 
 #: access/transam/xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "ungültige Resource-Manager-Datenprüfsumme in Datensatz bei %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "ungültige Resource-Manager-Datenprüfsumme in Datensatz bei %X/%08X"
 
 #: access/transam/xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ungültige magische Zahl %04X in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ungültige magische Zahl %04X in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ungültige Info-Bits %04X in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ungültige Info-Bits %04X in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: access/transam/xlogreader.c:1274
 #, c-format
@@ -3106,63 +3106,63 @@ msgstr "WAL-Datei ist von einem anderen Datenbanksystem: falsche XLOG_BLCKSZ im
 
 #: access/transam/xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "unerwartete Pageaddr %X/%X in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "unerwartete Pageaddr %X/%08X in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: access/transam/xlogreader.c:1346
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: access/transam/xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u außer der Reihe bei %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %u außer der Reihe bei %X/%08X"
 
 #: access/transam/xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA gesetzt, aber keine Daten enthalten bei %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA gesetzt, aber keine Daten enthalten bei %X/%08X"
 
 #: access/transam/xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA nicht gesetzt, aber Datenlänge ist %u bei %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA nicht gesetzt, aber Datenlänge ist %u bei %X/%08X"
 
 #: access/transam/xlogreader.c:1816
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE gesetzt, aber Loch Offset %u Länge %u Block-Abbild-Länge %u bei %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE gesetzt, aber Loch Offset %u Länge %u Block-Abbild-Länge %u bei %X/%08X"
 
 #: access/transam/xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE nicht gesetzt, aber Loch Offset %u Länge %u bei %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE nicht gesetzt, aber Loch Offset %u Länge %u bei %X/%08X"
 
 #: access/transam/xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%08X"
 
 #: access/transam/xlogreader.c:1861
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%08X"
 
 #: access/transam/xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL gesetzt, aber keine vorangehende Relation bei %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL gesetzt, aber keine vorangehende Relation bei %X/%08X"
 
 #: access/transam/xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "ungültige block_id %u bei %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "ungültige block_id %u bei %X/%08X"
 
 #: access/transam/xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "Datensatz mit ungültiger Länge bei %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "Datensatz mit ungültiger Länge bei %X/%08X"
 
 #: access/transam/xlogreader.c:1982
 #, c-format
@@ -3171,38 +3171,38 @@ msgstr "konnte Backup-Block mit ID %d nicht im WAL-Eintrag finden"
 
 #: access/transam/xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "konnte Abbild bei %X/%X mit ungültigem angegebenen Block %d nicht wiederherstellen"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "konnte Abbild bei %X/%08X mit ungültigem angegebenen Block %d nicht wiederherstellen"
 
 #: access/transam/xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "konnte Abbild mit ungültigem Zustand bei %X/%X nicht wiederherstellen, Block %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "konnte Abbild mit ungültigem Zustand bei %X/%08X nicht wiederherstellen, Block %d"
 
 #: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "konnte Abbild bei %X/%X nicht wiederherstellen, komprimiert mit %s, nicht unterstützt von dieser Installation, Block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "konnte Abbild bei %X/%08X nicht wiederherstellen, komprimiert mit %s, nicht unterstützt von dieser Installation, Block %d"
 
 #: access/transam/xlogreader.c:2126
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "konnte Abbild bei %X/%X nicht wiederherstellen, komprimiert mit unbekannter Methode, Block %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "konnte Abbild bei %X/%08X nicht wiederherstellen, komprimiert mit unbekannter Methode, Block %d"
 
 #: access/transam/xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "konnte Abbild bei %X/%X nicht dekomprimieren, Block %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "konnte Abbild bei %X/%08X nicht dekomprimieren, Block %d"
 
 #: access/transam/xlogrecovery.c:617
 #, c-format
-msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u"
-msgstr "starte Wiederherstellung aus Backup mit Redo-LSN %X/%X, Checkpoint-LSN %X/%X, auf Zeitleisten-ID %u"
+msgid "starting backup recovery with redo LSN %X/%08X, checkpoint LSN %X/%08X, on timeline ID %u"
+msgstr "starte Wiederherstellung aus Backup mit Redo-LSN %X/%08X, Checkpoint-LSN %X/%08X, auf Zeitleisten-ID %u"
 
 #: access/transam/xlogrecovery.c:649
 #, fuzzy, c-format
 #| msgid "could not find redo location referenced by checkpoint record"
-msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X"
+msgid "could not find redo location %X/%08X referenced by checkpoint record at %X/%08X"
 msgstr "konnte die vom Checkpoint-Datensatz referenzierte Redo-Position nicht finden"
 
 #: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662
@@ -3218,8 +3218,8 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:660
 #, c-format
-msgid "could not locate required checkpoint record at %X/%X"
-msgstr "konnte den nötigen Checkpoint-Datensatz bei %X/%X nicht finden"
+msgid "could not locate required checkpoint record at %X/%08X"
+msgstr "konnte den nötigen Checkpoint-Datensatz bei %X/%08X nicht finden"
 
 #: access/transam/xlogrecovery.c:690 commands/tablespace.c:664
 #, c-format
@@ -3243,13 +3243,13 @@ msgstr "Konnte Datei »%s« nicht in »%s« umbenennen: %m."
 
 #: access/transam/xlogrecovery.c:770
 #, c-format
-msgid "restarting backup recovery with redo LSN %X/%X"
-msgstr "starte Wiederherstellung aus Backup neu mit Redo-LSN %X/%X"
+msgid "restarting backup recovery with redo LSN %X/%08X"
+msgstr "starte Wiederherstellung aus Backup neu mit Redo-LSN %X/%08X"
 
 #: access/transam/xlogrecovery.c:795
 #, c-format
-msgid "could not locate a valid checkpoint record at %X/%X"
-msgstr "konnte keinen gültigen Checkpoint-Datensatz bei %X/%X finden"
+msgid "could not locate a valid checkpoint record at %X/%08X"
+msgstr "konnte keinen gültigen Checkpoint-Datensatz bei %X/%08X finden"
 
 #: access/transam/xlogrecovery.c:806
 #, c-format
@@ -3273,8 +3273,8 @@ msgstr "starte Point-in-Time-Recovery bis »%s«"
 
 #: access/transam/xlogrecovery.c:821
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "starte Point-in-Time-Recovery bis WAL-Position (LSN) »%X/%X«"
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
+msgstr "starte Point-in-Time-Recovery bis WAL-Position (LSN) »%X/%08X«"
 
 #: access/transam/xlogrecovery.c:825
 #, c-format
@@ -3293,13 +3293,13 @@ msgstr "angeforderte Zeitleiste %u ist kein Kind der History dieses Servers"
 
 #: access/transam/xlogrecovery.c:851
 #, c-format
-msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
-msgstr "Neuester Checkpoint ist bei %X/%X auf Zeitleiste %u, aber in der History der angeforderten Zeitleiste zweigte der Server von dieser Zeitleiste bei %X/%X ab."
+msgid "Latest checkpoint is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
+msgstr "Neuester Checkpoint ist bei %X/%08X auf Zeitleiste %u, aber in der History der angeforderten Zeitleiste zweigte der Server von dieser Zeitleiste bei %X/%08X ab."
 
 #: access/transam/xlogrecovery.c:865
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
-msgstr "angeforderte Zeitleiste %u enthält nicht den minimalen Wiederherstellungspunkt %X/%X auf Zeitleiste %u"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
+msgstr "angeforderte Zeitleiste %u enthält nicht den minimalen Wiederherstellungspunkt %X/%08X auf Zeitleiste %u"
 
 #: access/transam/xlogrecovery.c:893
 #, c-format
@@ -3390,18 +3390,18 @@ msgstr "Verwenden Sie pg_combinebackup, um ein gültiges Datenverzeichnis zu rek
 
 #: access/transam/xlogrecovery.c:1717
 #, c-format
-msgid "unexpected record type found at redo point %X/%X"
-msgstr "unerwarteter Datensatztyp bei Redo-Position %X/%X gefunden"
+msgid "unexpected record type found at redo point %X/%08X"
+msgstr "unerwarteter Datensatztyp bei Redo-Position %X/%08X gefunden"
 
 #: access/transam/xlogrecovery.c:1740
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "Redo beginnt bei %X/%X"
+msgid "redo starts at %X/%08X"
+msgstr "Redo beginnt bei %X/%08X"
 
 #: access/transam/xlogrecovery.c:1753
 #, c-format
-msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
-msgstr "Redo im Gang, abgelaufene Zeit: %ld.%02d s, aktuelle LSN: %X/%X"
+msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%08X"
+msgstr "Redo im Gang, abgelaufene Zeit: %ld.%02d s, aktuelle LSN: %X/%08X"
 
 #: access/transam/xlogrecovery.c:1843
 #, c-format
@@ -3410,8 +3410,8 @@ msgstr "angeforderter Recovery-Endpunkt ist vor konsistentem Recovery-Punkt"
 
 #: access/transam/xlogrecovery.c:1875
 #, c-format
-msgid "redo done at %X/%X system usage: %s"
-msgstr "Redo fertig bei %X/%X Systembenutzung: %s"
+msgid "redo done at %X/%08X system usage: %s"
+msgstr "Redo fertig bei %X/%08X Systembenutzung: %s"
 
 #: access/transam/xlogrecovery.c:1881
 #, c-format
@@ -3430,8 +3430,8 @@ msgstr "Wiederherstellung endete bevor das konfigurierte Wiederherstellungsziel
 
 #: access/transam/xlogrecovery.c:2095
 #, c-format
-msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
-msgstr "fehlender Contrecord bei %X/%X erfolgreich übersprungen, überschrieben am %s"
+msgid "successfully skipped missing contrecord at %X/%08X, overwritten at %s"
+msgstr "fehlender Contrecord bei %X/%08X erfolgreich übersprungen, überschrieben am %s"
 
 #: access/transam/xlogrecovery.c:2162
 #, c-format
@@ -3450,19 +3450,19 @@ msgstr "Entfernen Sie diese Verzeichnisse oder setzen Sie »allow_in_place_table
 
 #: access/transam/xlogrecovery.c:2217
 #, c-format
-msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X"
-msgstr "Wiederherstellung aus Backup abgeschlossen mit Redo-LSN %X/%X und End-LSN %X/%X"
+msgid "completed backup recovery with redo LSN %X/%08X and end LSN %X/%08X"
+msgstr "Wiederherstellung aus Backup abgeschlossen mit Redo-LSN %X/%08X und End-LSN %X/%08X"
 
 #: access/transam/xlogrecovery.c:2247
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "konsistenter Wiederherstellungszustand erreicht bei %X/%X"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "konsistenter Wiederherstellungszustand erreicht bei %X/%08X"
 
 #. translator: %s is a WAL record description
 #: access/transam/xlogrecovery.c:2285
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "WAL-Redo bei %X/%X für %s"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "WAL-Redo bei %X/%08X für %s"
 
 #: access/transam/xlogrecovery.c:2383
 #, c-format
@@ -3476,8 +3476,8 @@ msgstr "unerwartete Zeitleisten-ID %u (nach %u) im Checkpoint-Datensatz"
 
 #: access/transam/xlogrecovery.c:2408
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
-msgstr "unerwartete Zeitleisten-ID %u in Checkpoint-Datensatz, bevor der minimale Wiederherstellungspunkt %X/%X auf Zeitleiste %u erreicht wurde"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
+msgstr "unerwartete Zeitleisten-ID %u in Checkpoint-Datensatz, bevor der minimale Wiederherstellungspunkt %X/%08X auf Zeitleiste %u erreicht wurde"
 
 #: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868
 #, c-format
@@ -3486,8 +3486,8 @@ msgstr "Wiederherstellung beendet nachdem Konsistenz erreicht wurde"
 
 #: access/transam/xlogrecovery.c:2613
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "Wiederherstellung beendet vor WAL-Position (LSN) »%X/%X«"
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "Wiederherstellung beendet vor WAL-Position (LSN) »%X/%08X«"
 
 #: access/transam/xlogrecovery.c:2703
 #, c-format
@@ -3506,8 +3506,8 @@ msgstr "Wiederherstellung beendet bei Restore-Punkt »%s«, Zeit %s"
 
 #: access/transam/xlogrecovery.c:2781
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "Wiederherstellung beendet nach WAL-Position (LSN) »%X/%X«"
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "Wiederherstellung beendet nach WAL-Position (LSN) »%X/%08X«"
 
 #: access/transam/xlogrecovery.c:2848
 #, c-format
@@ -3541,18 +3541,18 @@ msgstr "Führen Sie pg_wal_replay_resume() aus um fortzusetzen."
 
 #: access/transam/xlogrecovery.c:3205
 #, c-format
-msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "unerwartete Zeitleisten-ID %u in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "unerwartete Zeitleisten-ID %u in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: access/transam/xlogrecovery.c:3413
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
-msgstr "konnte nicht aus WAL-Segment %s, LSN %X/%X, Position %u lesen: %m"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: %m"
+msgstr "konnte nicht aus WAL-Segment %s, LSN %X/%08X, Position %u lesen: %m"
 
 #: access/transam/xlogrecovery.c:3420
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
-msgstr "konnte nicht aus WAL-Segment %s, LSN %X/%X, Position %u lesen: %d von %zu gelesen"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: read %d of %zu"
+msgstr "konnte nicht aus WAL-Segment %s, LSN %X/%08X, Position %u lesen: %d von %zu gelesen"
 
 #: access/transam/xlogrecovery.c:4060
 #, c-format
@@ -3586,8 +3586,8 @@ msgstr "neue Zeitleiste %u ist kein Kind der Datenbanksystemzeitleiste %u"
 
 #: access/transam/xlogrecovery.c:4158
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
-msgstr "neue Zeitleiste %u zweigte von der aktuellen Datenbanksystemzeitleiste %u vor dem aktuellen Wiederherstellungspunkt %X/%X ab"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
+msgstr "neue Zeitleiste %u zweigte von der aktuellen Datenbanksystemzeitleiste %u vor dem aktuellen Wiederherstellungspunkt %X/%08X ab"
 
 #: access/transam/xlogrecovery.c:4177
 #, c-format
@@ -3897,26 +3897,26 @@ msgstr "Zeitleiste %u wurde im Manifest gefunden, aber nicht in der History dies
 
 #: backup/basebackup_incremental.c:420
 #, fuzzy, c-format
-#| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X"
-msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt"
+#| msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgid "manifest requires WAL from initial timeline %u starting at %X/%08X, but that timeline begins at %X/%08X"
+msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%08X, aber gab an, dass nächste Zeitleiste %u bei %X/%08X beginnt"
 
 #: backup/basebackup_incremental.c:430
 #, fuzzy, c-format
-#| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X"
-msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt"
+#| msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgid "manifest requires WAL from continuation timeline %u starting at %X/%08X, but that timeline begins at %X/%08X"
+msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%08X, aber gab an, dass nächste Zeitleiste %u bei %X/%08X beginnt"
 
 #: backup/basebackup_incremental.c:441
 #, c-format
-msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X"
+msgid "manifest requires WAL from final timeline %u ending at %X/%08X, but this backup starts at %X/%08X"
 msgstr ""
 
 #: backup/basebackup_incremental.c:451
 #, fuzzy, c-format
-#| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X"
-msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt"
+#| msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgid "manifest requires WAL from non-final timeline %u ending at %X/%08X, but this server switched timelines at %X/%08X"
+msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%08X, aber gab an, dass nächste Zeitleiste %u bei %X/%08X beginnt"
 
 #: backup/basebackup_incremental.c:518
 #, c-format
@@ -3925,33 +3925,33 @@ msgstr ""
 
 #: backup/basebackup_incremental.c:519
 #, c-format
-msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory."
+msgid "Summarization is needed through %X/%08X, but is stuck at %X/%08X on disk and %X/%08X in memory."
 msgstr ""
 
 #: backup/basebackup_incremental.c:532
 #, c-format
-msgid "still waiting for WAL summarization through %X/%X after %ld seconds"
+msgid "still waiting for WAL summarization through %X/%08X after %ld seconds"
 msgstr ""
 
 #: backup/basebackup_incremental.c:535
 #, c-format
-msgid "Summarization has reached %X/%X on disk and %X/%X in memory."
+msgid "Summarization has reached %X/%08X on disk and %X/%08X in memory."
 msgstr ""
 
 #: backup/basebackup_incremental.c:604
 #, c-format
-msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist"
+msgid "WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but no summaries for that timeline and LSN range exist"
 msgstr ""
 
 #: backup/basebackup_incremental.c:611
 #, c-format
-msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete"
+msgid "WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but the summaries for that timeline and LSN range are incomplete"
 msgstr ""
 
 #: backup/basebackup_incremental.c:615
 #, c-format
-msgid "The first unsummarized LSN in this range is %X/%X."
-msgstr "Die erste nicht zusammengefasste LSN in diesem Bereich ist %X/%X."
+msgid "The first unsummarized LSN in this range is %X/%08X."
+msgstr "Die erste nicht zusammengefasste LSN in diesem Bereich ist %X/%08X."
 
 #: backup/basebackup_incremental.c:1015
 #, c-format
@@ -10389,8 +10389,8 @@ msgstr "Verwenden Sie ALTER SUBSCRIPTION ... REFRESH mit copy_data = false, oder
 
 #: commands/subscriptioncmds.c:1473
 #, c-format
-msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
-msgstr "zu überspringende WAL-Position (LSN %X/%X) muss größer als Origin-LSN %X/%X sein"
+msgid "skip WAL location (LSN %X/%08X) must be greater than origin LSN %X/%08X"
+msgstr "zu überspringende WAL-Position (LSN %X/%08X) muss größer als Origin-LSN %X/%08X sein"
 
 #: commands/subscriptioncmds.c:1594
 #, c-format
@@ -20608,32 +20608,32 @@ msgstr "automatische Rotation abgeschaltet (SIGHUP zum Wiederanschalten verwende
 
 #: postmaster/walsummarizer.c:384
 #, c-format
-msgid "switch point from TLI %u to TLI %u is at %X/%X"
+msgid "switch point from TLI %u to TLI %u is at %X/%08X"
 msgstr ""
 
 #: postmaster/walsummarizer.c:885
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "konnte keinen gültigen Datensatz nach %X/%X finden"
+msgid "could not find a valid record after %X/%08X"
+msgstr "konnte keinen gültigen Datensatz nach %X/%08X finden"
 
 #: postmaster/walsummarizer.c:930
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X: %s"
-msgstr "konnte WAL aus Zeitleiste %u bei %X/%X nicht lesen: %s"
+msgid "could not read WAL from timeline %u at %X/%08X: %s"
+msgstr "konnte WAL aus Zeitleiste %u bei %X/%08X nicht lesen: %s"
 
 #: postmaster/walsummarizer.c:936
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X"
-msgstr "konnte WAL aus Zeitleiste %u bei %X/%X nicht lesen"
+msgid "could not read WAL from timeline %u at %X/%08X"
+msgstr "konnte WAL aus Zeitleiste %u bei %X/%08X nicht lesen"
 
 #: postmaster/walsummarizer.c:1077
 #, c-format
-msgid "summarized WAL on TLI %u from %X/%X to %X/%X"
+msgid "summarized WAL on TLI %u from %X/%08X to %X/%08X"
 msgstr ""
 
 #: postmaster/walsummarizer.c:1385
 #, c-format
-msgid "timeline %u became historic, can read up to %X/%X"
+msgid "timeline %u became historic, can read up to %X/%08X"
 msgstr ""
 
 #: regex/regc_pg_locale.c:244
@@ -20933,13 +20933,13 @@ msgstr "starte logisches Dekodieren für Slot »%s«"
 
 #: replication/logical/logical.c:629
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
-msgstr "Streaming beginnt bei Transaktionen, die nach %X/%X committen; lese WAL ab %X/%X."
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
+msgstr "Streaming beginnt bei Transaktionen, die nach %X/%08X committen; lese WAL ab %X/%08X."
 
 #: replication/logical/logical.c:777
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
-msgstr "Slot »%s«, Ausgabe-Plugin »%s«, im Callback %s, zugehörige LSN %X/%X"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
+msgstr "Slot »%s«, Ausgabe-Plugin »%s«, im Callback %s, zugehörige LSN %X/%08X"
 
 #: replication/logical/logical.c:783
 #, c-format
@@ -21037,8 +21037,8 @@ msgstr "konnte keinen freien Replication-State finden, erhöhen Sie »max_replic
 
 #: replication/logical/origin.c:806
 #, c-format
-msgid "recovered replication state of node %d to %X/%X"
-msgstr "Replikationszustand von Knoten %d auf %X/%X wiederhergestellt"
+msgid "recovered replication state of node %d to %X/%08X"
+msgstr "Replikationszustand von Knoten %d auf %X/%08X wiederhergestellt"
 
 #: replication/logical/origin.c:816
 #, c-format
@@ -21143,7 +21143,7 @@ msgstr ""
 
 #: replication/logical/slotsync.c:217
 #, c-format
-msgid "Remote slot has LSN %X/%X and catalog xmin %u, but local slot has LSN %X/%X and catalog xmin %u."
+msgid "Remote slot has LSN %X/%08X and catalog xmin %u, but local slot has LSN %X/%08X and catalog xmin %u."
 msgstr ""
 
 #: replication/logical/slotsync.c:459
@@ -21160,9 +21160,9 @@ msgstr "konnte Datei »%s« nicht fsyncen: %m"
 
 #: replication/logical/slotsync.c:580
 #, fuzzy, c-format
-#| msgid "logical decoding found consistent point at %X/%X"
-msgid "Logical decoding cannot find consistent point from local slot's LSN %X/%X."
-msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%X"
+#| msgid "logical decoding found consistent point at %X/%08X"
+msgid "Logical decoding cannot find consistent point from local slot's LSN %X/%08X."
+msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%08X"
 
 #: replication/logical/slotsync.c:589
 #, c-format
@@ -21171,7 +21171,7 @@ msgstr ""
 
 #: replication/logical/slotsync.c:628
 #, c-format
-msgid "skipping slot synchronization as the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X"
+msgid "skipping slot synchronization as the received slot sync LSN %X/%08X for slot \"%s\" is ahead of the standby position %X/%08X"
 msgstr ""
 
 #: replication/logical/slotsync.c:650
@@ -21293,8 +21293,8 @@ msgstr[1] "logischer Dekodierungs-Snapshot exportiert: »%s« mit %u Transaktion
 #: replication/logical/snapbuild.c:1392 replication/logical/snapbuild.c:1484
 #: replication/logical/snapbuild.c:2000
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%X"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%08X"
 
 #: replication/logical/snapbuild.c:1394
 #, c-format
@@ -21303,8 +21303,8 @@ msgstr "Keine laufenden Transaktionen."
 
 #: replication/logical/snapbuild.c:1436
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "logisches Dekodieren fand initialen Startpunkt bei %X/%X"
+msgid "logical decoding found initial starting point at %X/%08X"
+msgstr "logisches Dekodieren fand initialen Startpunkt bei %X/%08X"
 
 #: replication/logical/snapbuild.c:1438 replication/logical/snapbuild.c:1462
 #, c-format
@@ -21313,8 +21313,8 @@ msgstr "Warten auf Abschluss der Transaktionen (ungefähr %d), die älter als %u
 
 #: replication/logical/snapbuild.c:1460
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
-msgstr "logisches Dekodieren fand initialen konsistenten Punkt bei %X/%X"
+msgid "logical decoding found initial consistent point at %X/%08X"
+msgstr "logisches Dekodieren fand initialen konsistenten Punkt bei %X/%08X"
 
 #: replication/logical/snapbuild.c:1486
 #, c-format
@@ -21505,13 +21505,13 @@ msgstr "Subskription »%s« wurde wegen eines Fehlers deaktiviert"
 
 #: replication/logical/worker.c:4782
 #, c-format
-msgid "logical replication starts skipping transaction at LSN %X/%X"
-msgstr "logische Replikation beginnt Überspringen von Transaktion bei %X/%X"
+msgid "logical replication starts skipping transaction at LSN %X/%08X"
+msgstr "logische Replikation beginnt Überspringen von Transaktion bei %X/%08X"
 
 #: replication/logical/worker.c:4796
 #, c-format
-msgid "logical replication completed skipping transaction at LSN %X/%X"
-msgstr "logische Replikation beendet Überspringen von Transaktion bei %X/%X"
+msgid "logical replication completed skipping transaction at LSN %X/%08X"
+msgstr "logische Replikation beendet Überspringen von Transaktion bei %X/%08X"
 
 #: replication/logical/worker.c:4878
 #, c-format
@@ -21520,8 +21520,8 @@ msgstr "Skip-LSN von Subskription »%s« gelöscht"
 
 #: replication/logical/worker.c:4879
 #, c-format
-msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X."
-msgstr "Die WAL-Endposition (LSN) %X/%X der Remote-Transaktion stimmte nicht mit der Skip-LSN %X/%X überein."
+msgid "Remote transaction's finish WAL location (LSN) %X/%08X did not match skip-LSN %X/%08X."
+msgstr "Die WAL-Endposition (LSN) %X/%08X der Remote-Transaktion stimmte nicht mit der Skip-LSN %X/%08X überein."
 
 #: replication/logical/worker.c:4905
 #, c-format
@@ -21535,8 +21535,8 @@ msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachric
 
 #: replication/logical/worker.c:4914
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X"
-msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« in Transaktion %u, beendet bei %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%08X"
+msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« in Transaktion %u, beendet bei %X/%08X"
 
 #: replication/logical/worker.c:4925
 #, c-format
@@ -21545,8 +21545,8 @@ msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachric
 
 #: replication/logical/worker.c:4932
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X"
-msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« in Transaktion %u, beendet bei %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%08X"
+msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« in Transaktion %u, beendet bei %X/%08X"
 
 #: replication/logical/worker.c:4943
 #, c-format
@@ -21555,8 +21555,8 @@ msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachric
 
 #: replication/logical/worker.c:4951
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X"
-msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« Spalte »%s« in Transaktion %u, beendet bei %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%08X"
+msgstr "Verarbeiten empfangener Daten für Replication-Origin »%s« bei Nachrichtentyp »%s« für Replikationszielrelation »%s.%s« Spalte »%s« in Transaktion %u, beendet bei %X/%08X"
 
 #: replication/pgoutput/pgoutput.c:315
 #, c-format
@@ -21757,10 +21757,10 @@ msgstr "Nur Rollen mit dem %s-Attribut können Replikations-Slots verwenden."
 
 #: replication/slot.c:1498
 #, c-format
-msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte."
-msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes."
-msgstr[0] "Die restart_lsn des Slots %X/%X überschreitet das Maximum um %llu Byte."
-msgstr[1] "Die restart_lsn des Slots %X/%X überschreitet das Maximum um %llu Bytes."
+msgid "The slot's restart_lsn %X/%08X exceeds the limit by %llu byte."
+msgid_plural "The slot's restart_lsn %X/%08X exceeds the limit by %llu bytes."
+msgstr[0] "Die restart_lsn des Slots %X/%08X überschreitet das Maximum um %llu Byte."
+msgstr[1] "Die restart_lsn des Slots %X/%08X überschreitet das Maximum um %llu Bytes."
 
 #: replication/slot.c:1506
 #, c-format
@@ -21905,8 +21905,8 @@ msgstr "Diese Slot hat nie zuvor WAL reserviert oder er wurde ungültig gemacht.
 
 #: replication/slotfuncs.c:566
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
-msgstr "Replikations-Slot kann nicht auf %X/%X vorwärtsgesetzt werden, Minimum ist %X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
+msgstr "Replikations-Slot kann nicht auf %X/%08X vorwärtsgesetzt werden, Minimum ist %X/%08X"
 
 #: replication/slotfuncs.c:673
 #, c-format
@@ -22006,13 +22006,13 @@ msgstr "höchste Zeitleiste %u des primären Servers liegt hinter Wiederherstell
 
 #: replication/walreceiver.c:419
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
-msgstr "WAL-Streaming vom Primärserver gestartet bei %X/%X auf Zeitleiste %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
+msgstr "WAL-Streaming vom Primärserver gestartet bei %X/%08X auf Zeitleiste %u"
 
 #: replication/walreceiver.c:423
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "WAL-Streaming neu gestartet bei %X/%X auf Zeitleiste %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
+msgstr "WAL-Streaming neu gestartet bei %X/%08X auf Zeitleiste %u"
 
 #: replication/walreceiver.c:458
 #, c-format
@@ -22026,8 +22026,8 @@ msgstr "Replikation wurde durch Primärserver beendet"
 
 #: replication/walreceiver.c:503
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "WAL-Ende erreicht auf Zeitleiste %u bei %X/%X."
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "WAL-Ende erreicht auf Zeitleiste %u bei %X/%08X."
 
 #: replication/walreceiver.c:593
 #, c-format
@@ -22076,18 +22076,18 @@ msgstr "logischer Replikations-Slot kann nicht für physische Replikation verwen
 
 #: replication/walsender.c:919
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
-msgstr "angeforderter Startpunkt %X/%X auf Zeitleiste %u ist nicht in der History dieses Servers"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
+msgstr "angeforderter Startpunkt %X/%08X auf Zeitleiste %u ist nicht in der History dieses Servers"
 
 #: replication/walsender.c:922
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "Die History dieses Servers zweigte von Zeitleiste %u bei %X/%X ab."
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "Die History dieses Servers zweigte von Zeitleiste %u bei %X/%08X ab."
 
 #: replication/walsender.c:966
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
-msgstr "angeforderter Startpunkt %X/%X ist vor der WAL-Flush-Position dieses Servers %X/%X"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
+msgstr "angeforderter Startpunkt %X/%08X ist vor der WAL-Flush-Position dieses Servers %X/%08X"
 
 #: replication/walsender.c:1160
 #, c-format
diff --git a/src/backend/po/es.po b/src/backend/po/es.po
index e2593b52271..3492c4b81cb 100644
--- a/src/backend/po/es.po
+++ b/src/backend/po/es.po
@@ -2270,18 +2270,18 @@ msgstr "Falló mientras se emplazaba un procesador de lectura de WAL."
 
 #: access/transam/twophase.c:1429
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X: %s"
-msgstr "no se pudo leer el archivo de estado de dos fases desde WAL en %X/%X: %s"
+msgid "could not read two-phase state from WAL at %X/%08X: %s"
+msgstr "no se pudo leer el archivo de estado de dos fases desde WAL en %X/%08X: %s"
 
 #: access/transam/twophase.c:1434
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "no se pudo leer el archivo de estado de dos fases desde WAL en %X/%X"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "no se pudo leer el archivo de estado de dos fases desde WAL en %X/%08X"
 
 #: access/transam/twophase.c:1442
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
-msgstr "los datos de estado de dos fases esperados no están presentes en WAL en %X/%X"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
+msgstr "los datos de estado de dos fases esperados no están presentes en WAL en %X/%08X"
 
 #: access/transam/twophase.c:1745
 #, c-format
@@ -2337,8 +2337,8 @@ msgstr "no se pudo recuperar el archivo de estado de dos fases para la transacci
 
 #: access/transam/twophase.c:2516
 #, c-format
-msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
-msgstr "El archivo de estado en dos fases ha sido encontrado en el registro de WAL %X/%X, pero esta transacción ya ha sido restaurada desde disco."
+msgid "Two-phase state file has been found in WAL record %X/%08X, but this transaction has already been restored from disk."
+msgstr "El archivo de estado en dos fases ha sido encontrado en el registro de WAL %X/%08X, pero esta transacción ya ha sido restaurada desde disco."
 
 #: access/transam/twophase.c:2524 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
 #, c-format
@@ -2506,13 +2506,13 @@ msgstr "no se pueden tener más de 2^32-1 subtransacciones en una transacción"
 
 #: access/transam/xlog.c:1542
 #, c-format
-msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
-msgstr "petición para sincronizar (flush) más allá del final del WAL generado; petición %X/%X, posición actual %X/%X"
+msgid "request to flush past end of generated WAL; request %X/%08X, current position %X/%08X"
+msgstr "petición para sincronizar (flush) más allá del final del WAL generado; petición %X/%08X, posición actual %X/%08X"
 
 #: access/transam/xlog.c:1769
 #, c-format
-msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X"
-msgstr "no se puede ler más allá del final del WAL generado; petición %X/%X, posición actual %X/%X"
+msgid "cannot read past end of generated WAL: requested %X/%08X, current position %X/%08X"
+msgstr "no se puede ler más allá del final del WAL generado; petición %X/%08X, posición actual %X/%08X"
 
 #: access/transam/xlog.c:2210 access/transam/xlog.c:4501
 #, c-format
@@ -2823,13 +2823,13 @@ msgstr "empezando checkpoint:%s%s%s%s%s%s%s%s"
 
 #: access/transam/xlog.c:6728
 #, c-format
-msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr "restartpoint completo: escritos %d búfers (%.1f%%); %d archivos WAL añadidos, %d eliminados, %d reciclados; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimación=%d kB; lsn=%X/%X, lsn de redo=%X/%X"
+msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
+msgstr "restartpoint completo: escritos %d búfers (%.1f%%); %d archivos WAL añadidos, %d eliminados, %d reciclados; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimación=%d kB; lsn=%X/%08X, lsn de redo=%X/%08X"
 
 #: access/transam/xlog.c:6751
 #, c-format
-msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr "checkpoint completo: escritos %d búfers (%.1f%%); %d archivos WAL añadidos, %d eliminados, %d reciclados; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimación=%d kB; lsn=%X/%X, lsn de redo=%X/%X"
+msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
+msgstr "checkpoint completo: escritos %d búfers (%.1f%%); %d archivos WAL añadidos, %d eliminados, %d reciclados; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimación=%d kB; lsn=%X/%08X, lsn de redo=%X/%08X"
 
 #: access/transam/xlog.c:7233
 #, c-format
@@ -2838,8 +2838,8 @@ msgstr "hay actividad de WAL mientras el sistema se está apagando"
 
 #: access/transam/xlog.c:7818
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "restartpoint de recuperación en %X/%X"
+msgid "recovery restart point at %X/%08X"
+msgstr "restartpoint de recuperación en %X/%08X"
 
 #: access/transam/xlog.c:7820
 #, c-format
@@ -2848,8 +2848,8 @@ msgstr "Última transacción completada al tiempo de registro %s."
 
 #: access/transam/xlog.c:8082
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "punto de recuperación «%s» creado en %X/%X"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "punto de recuperación «%s» creado en %X/%08X"
 
 #: access/transam/xlog.c:8289
 #, c-format
@@ -3110,53 +3110,53 @@ msgstr "«recovery_prefetch» no está soportado en plataformas que no tienen po
 
 #: access/transam/xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "desplazamiento de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "desplazamiento de registro no válido en %X/%08X: se esperaba al menos %u, se obtuvo %u"
 
 #: access/transam/xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord solicitado por %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord solicitado por %X/%08X"
 
 #: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "largo de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "largo de registro no válido en %X/%08X: se esperaba al menos %u, se obtuvo %u"
 
 #: access/transam/xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "no hay bandera de contrecord en %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "no hay bandera de contrecord en %X/%08X"
 
 #: access/transam/xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%08X"
 
 #: access/transam/xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ID de gestor de recursos %u no válido en %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ID de gestor de recursos %u no válido en %X/%08X"
 
 #: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "registro con prev-link %X/%X incorrecto en %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "registro con prev-link %X/%08X incorrecto en %X/%08X"
 
 #: access/transam/xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%08X"
 
 #: access/transam/xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "número mágico %04X no válido en segmento WAL %s, LSN %X/%X, posición %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "número mágico %04X no válido en segmento WAL %s, LSN %X/%08X, posición %u"
 
 #: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "info bits %04X no válidos en segment WAL %s, LSN %X/%X, posición %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "info bits %04X no válidos en segment WAL %s, LSN %X/%08X, posición %u"
 
 #: access/transam/xlogreader.c:1274
 #, c-format
@@ -3175,63 +3175,63 @@ msgstr "archivo WAL es de un sistema de bases de datos distinto: XLOG_BLCKSZ inc
 
 #: access/transam/xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "pageaddr %X/%08X inesperado en segmento WAL %s, LSN %X/%08X, posición %u"
 
 #: access/transam/xlogreader.c:1346
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ID de timeline %u fuera de secuencia (después de %u) en segmento WAL %s, LSN %X/%X, posición %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ID de timeline %u fuera de secuencia (después de %u) en segmento WAL %s, LSN %X/%08X, posición %u"
 
 #: access/transam/xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u fuera de orden en %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %u fuera de orden en %X/%08X"
 
 #: access/transam/xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA está definido, pero no hay datos en %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA está definido, pero no hay datos en %X/%08X"
 
 #: access/transam/xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA no está definido, pero el largo de los datos es %u en %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA no está definido, pero el largo de los datos es %u en %X/%08X"
 
 #: access/transam/xlogreader.c:1816
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE está definido, pero posición del agujero es %u largo %u largo de imagen %u en %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE está definido, pero posición del agujero es %u largo %u largo de imagen %u en %X/%08X"
 
 #: access/transam/xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE no está definido, pero posición del agujero es %u largo %u en %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE no está definido, pero posición del agujero es %u largo %u en %X/%08X"
 
 #: access/transam/xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%08X"
 
 #: access/transam/xlogreader.c:1861
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED están definidos, pero el largo de imagen de bloque es %u en %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED están definidos, pero el largo de imagen de bloque es %u en %X/%08X"
 
 #: access/transam/xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL está definido, pero no hay «rel» anterior en %X/%X "
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL está definido, pero no hay «rel» anterior en %X/%08X "
 
 #: access/transam/xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "block_id %u no válido en %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "block_id %u no válido en %X/%08X"
 
 #: access/transam/xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "registro con largo no válido en %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "registro con largo no válido en %X/%08X"
 
 #: access/transam/xlogreader.c:1982
 #, c-format
@@ -3240,38 +3240,38 @@ msgstr "no se pudo localizar un bloque de respaldo con ID %d en el registro WAL"
 
 #: access/transam/xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "no se pudo restaurar la imagen en %X/%X con bloque especifica %d no válido"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "no se pudo restaurar la imagen en %X/%08X con bloque especifica %d no válido"
 
 #: access/transam/xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "no se pudo restaurar la imagen en %X/%X con estado no válido, bloque %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "no se pudo restaurar la imagen en %X/%08X con estado no válido, bloque %d"
 
 #: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "no se pudo restaurar la imagen en %X/%X comprimida con %s que no está soportado por esta instalación, bloque %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "no se pudo restaurar la imagen en %X/%08X comprimida con %s que no está soportado por esta instalación, bloque %d"
 
 #: access/transam/xlogreader.c:2126
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "no se pudo restaurar la imagen en %X/%X comprimida con un método desconocido, bloque %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "no se pudo restaurar la imagen en %X/%08X comprimida con un método desconocido, bloque %d"
 
 #: access/transam/xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "no se pudo descomprimir la imagen en %X/%X, bloque %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "no se pudo descomprimir la imagen en %X/%08X, bloque %d"
 
 #: access/transam/xlogrecovery.c:617
 #, c-format
-msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u"
-msgstr "iniciando recuperación de backup con LSN de redo %X/%X, LSN de checkpoint %X/%X, en timeline %u"
+msgid "starting backup recovery with redo LSN %X/%08X, checkpoint LSN %X/%08X, on timeline ID %u"
+msgstr "iniciando recuperación de backup con LSN de redo %X/%08X, LSN de checkpoint %X/%08X, en timeline %u"
 
 #: access/transam/xlogrecovery.c:649
 #, c-format
-msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X"
-msgstr "no se pudo encontrar la ubicación de redo %X/%X referida por el registro de checkpoint en %X/%X"
+msgid "could not find redo location %X/%08X referenced by checkpoint record at %X/%08X"
+msgstr "no se pudo encontrar la ubicación de redo %X/%08X referida por el registro de checkpoint en %X/%08X"
 
 # Purposefully deviate from quoting convention here, since argument is a shell command.
 #: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662
@@ -3287,8 +3287,8 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:660
 #, c-format
-msgid "could not locate required checkpoint record at %X/%X"
-msgstr "no se pudo localizar el registro de checkpoint requerido en %X/%X"
+msgid "could not locate required checkpoint record at %X/%08X"
+msgstr "no se pudo localizar el registro de checkpoint requerido en %X/%08X"
 
 #: access/transam/xlogrecovery.c:690 commands/tablespace.c:664
 #, c-format
@@ -3312,13 +3312,13 @@ msgstr "No se pudo renombrar el archivo de «%s» a «%s»: %m."
 
 #: access/transam/xlogrecovery.c:770
 #, c-format
-msgid "restarting backup recovery with redo LSN %X/%X"
-msgstr "reiniciando recuperación del backup con LSN de redo «%X/%X»"
+msgid "restarting backup recovery with redo LSN %X/%08X"
+msgstr "reiniciando recuperación del backup con LSN de redo «%X/%08X»"
 
 #: access/transam/xlogrecovery.c:795
 #, c-format
-msgid "could not locate a valid checkpoint record at %X/%X"
-msgstr "no se pudo localizar un registro de válido en %X/%X"
+msgid "could not locate a valid checkpoint record at %X/%08X"
+msgstr "no se pudo localizar un registro de válido en %X/%08X"
 
 #: access/transam/xlogrecovery.c:806
 #, c-format
@@ -3342,8 +3342,8 @@ msgstr "comenzando el proceso de recuperación hasta «%s»"
 
 #: access/transam/xlogrecovery.c:821
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "comenzando el proceso de recuperación punto-en-el-tiempo a la ubicación (LSN) de WAL «%X/%X»"
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
+msgstr "comenzando el proceso de recuperación punto-en-el-tiempo a la ubicación (LSN) de WAL «%X/%08X»"
 
 #: access/transam/xlogrecovery.c:825
 #, c-format
@@ -3362,13 +3362,13 @@ msgstr "el timeline solicitado %u no es un hijo de la historia de este servidor"
 
 #: access/transam/xlogrecovery.c:851
 #, c-format
-msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
-msgstr "El checkpoint más reciente está en %X/%X en el timeline %u, pero en la historia del timeline solicitado, el servidor se desvió desde ese timeline en %X/%X."
+msgid "Latest checkpoint is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
+msgstr "El checkpoint más reciente está en %X/%08X en el timeline %u, pero en la historia del timeline solicitado, el servidor se desvió desde ese timeline en %X/%08X."
 
 #: access/transam/xlogrecovery.c:865
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
-msgstr "el timeline solicitado %u no contiene el punto mínimo de recuperación %X/%X en el timeline %u"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
+msgstr "el timeline solicitado %u no contiene el punto mínimo de recuperación %X/%08X en el timeline %u"
 
 #: access/transam/xlogrecovery.c:893
 #, c-format
@@ -3459,18 +3459,18 @@ msgstr "Use pg_combinebackup para reconstruir un directorio de datos válido."
 
 #: access/transam/xlogrecovery.c:1717
 #, c-format
-msgid "unexpected record type found at redo point %X/%X"
-msgstr "se encontró registro de tipo inesperada en el punto de redo %X/%X"
+msgid "unexpected record type found at redo point %X/%08X"
+msgstr "se encontró registro de tipo inesperada en el punto de redo %X/%08X"
 
 #: access/transam/xlogrecovery.c:1740
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "redo comienza en %X/%X"
+msgid "redo starts at %X/%08X"
+msgstr "redo comienza en %X/%08X"
 
 #: access/transam/xlogrecovery.c:1753
 #, c-format
-msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
-msgstr "redo en progreso, tiempo transcurrido: %ld.%02d s, LSN actual: %X/%X"
+msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%08X"
+msgstr "redo en progreso, tiempo transcurrido: %ld.%02d s, LSN actual: %X/%08X"
 
 #: access/transam/xlogrecovery.c:1843
 #, c-format
@@ -3479,8 +3479,8 @@ msgstr "el punto de detención de recuperación pedido es antes del punto de rec
 
 #: access/transam/xlogrecovery.c:1875
 #, c-format
-msgid "redo done at %X/%X system usage: %s"
-msgstr "redo listo en %X/%X utilización del sistema: %s"
+msgid "redo done at %X/%08X system usage: %s"
+msgstr "redo listo en %X/%08X utilización del sistema: %s"
 
 #: access/transam/xlogrecovery.c:1881
 #, c-format
@@ -3499,8 +3499,8 @@ msgstr "la recuperación terminó antes de alcanzar el punto configurado como de
 
 #: access/transam/xlogrecovery.c:2095
 #, c-format
-msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
-msgstr "se omitió con éxito contrecord no encontrado en %X/%X, sobrescrito en %s"
+msgid "successfully skipped missing contrecord at %X/%08X, overwritten at %s"
+msgstr "se omitió con éxito contrecord no encontrado en %X/%08X, sobrescrito en %s"
 
 #: access/transam/xlogrecovery.c:2162
 #, c-format
@@ -3519,19 +3519,19 @@ msgstr "Elimine esos directorios, o defina «allow_in_place_tablespaces» a ON t
 
 #: access/transam/xlogrecovery.c:2217
 #, c-format
-msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X"
-msgstr "se completó la recuperación de backup con LSN de redo %X/%X y LSN de término %X/%X"
+msgid "completed backup recovery with redo LSN %X/%08X and end LSN %X/%08X"
+msgstr "se completó la recuperación de backup con LSN de redo %X/%08X y LSN de término %X/%08X"
 
 #: access/transam/xlogrecovery.c:2247
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "el estado de recuperación consistente fue alcanzado en %X/%X"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "el estado de recuperación consistente fue alcanzado en %X/%08X"
 
 #. translator: %s is a WAL record description
 #: access/transam/xlogrecovery.c:2285
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "redo WAL en %X/%X para %s"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "redo WAL en %X/%08X para %s"
 
 #: access/transam/xlogrecovery.c:2383
 #, c-format
@@ -3545,8 +3545,8 @@ msgstr "ID de timeline %u inesperado (después de %u) en el registro de checkpoi
 
 #: access/transam/xlogrecovery.c:2408
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
-msgstr "timeline ID %u inesperado en registro de checkpoint, antes de alcanzar el punto mínimo de recuperación %X/%X en el timeline %u"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
+msgstr "timeline ID %u inesperado en registro de checkpoint, antes de alcanzar el punto mínimo de recuperación %X/%08X en el timeline %u"
 
 #: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868
 #, c-format
@@ -3555,8 +3555,8 @@ msgstr "deteniendo recuperación al alcanzar un estado consistente"
 
 #: access/transam/xlogrecovery.c:2613
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "deteniendo recuperación antes de la ubicación (LSN) de WAL «%X/%X»"
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "deteniendo recuperación antes de la ubicación (LSN) de WAL «%X/%08X»"
 
 #: access/transam/xlogrecovery.c:2703
 #, c-format
@@ -3575,8 +3575,8 @@ msgstr "deteniendo recuperación en el punto de recuperación «%s», hora %s"
 
 #: access/transam/xlogrecovery.c:2781
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "deteniendo recuperación después de la ubicación (LSN) de WAL «%X/%X»"
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "deteniendo recuperación después de la ubicación (LSN) de WAL «%X/%08X»"
 
 #: access/transam/xlogrecovery.c:2848
 #, c-format
@@ -3610,18 +3610,18 @@ msgstr "Ejecute pg_wal_replay_resume() para continuar."
 
 #: access/transam/xlogrecovery.c:3205
 #, c-format
-msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ID de timeline %u inesperado en segmento WAL %s, LSN %X/%X, posición %u"
+msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ID de timeline %u inesperado en segmento WAL %s, LSN %X/%08X, posición %u"
 
 #: access/transam/xlogrecovery.c:3413
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
-msgstr "no se pudo leer desde el segmento de WAL %s, LSN %X/%X, posición %u: %m"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: %m"
+msgstr "no se pudo leer desde el segmento de WAL %s, LSN %X/%08X, posición %u: %m"
 
 #: access/transam/xlogrecovery.c:3420
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
-msgstr "no se pudo leer del segmento de WAL %s, LSN %X/%X, posición %u: leídos %d de %zu"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: read %d of %zu"
+msgstr "no se pudo leer del segmento de WAL %s, LSN %X/%08X, posición %u: leídos %d de %zu"
 
 #: access/transam/xlogrecovery.c:4061
 #, c-format
@@ -3655,8 +3655,8 @@ msgstr "el nuevo timeline %u especificado no es hijo del timeline de sistema %u"
 
 #: access/transam/xlogrecovery.c:4159
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
-msgstr "el nuevo timeline %u bifurcó del timeline del sistema actual %u antes del punto re recuperación actual %X/%X"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
+msgstr "el nuevo timeline %u bifurcó del timeline del sistema actual %u antes del punto re recuperación actual %X/%08X"
 
 #: access/transam/xlogrecovery.c:4178
 #, c-format
@@ -3966,18 +3966,18 @@ msgstr "el timeline %u fue encontrado en el manifiesto, pero no en la historia d
 
 #: backup/basebackup_incremental.c:414
 #, c-format
-msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X"
-msgstr "el manifiesto requiere WAL en el timeline inicial %u desde %X/%X, pero ese timeline inicia en %X/%X"
+msgid "manifest requires WAL from initial timeline %u starting at %X/%08X, but that timeline begins at %X/%08X"
+msgstr "el manifiesto requiere WAL en el timeline inicial %u desde %X/%08X, pero ese timeline inicia en %X/%08X"
 
 #: backup/basebackup_incremental.c:424
 #, c-format
-msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X"
-msgstr "el manifiesto requiere WAL del timeline de continuación %u desde %X/%X, pero ese timeline empieza en %X/%X"
+msgid "manifest requires WAL from continuation timeline %u starting at %X/%08X, but that timeline begins at %X/%08X"
+msgstr "el manifiesto requiere WAL del timeline de continuación %u desde %X/%08X, pero ese timeline empieza en %X/%08X"
 
 #: backup/basebackup_incremental.c:435
 #, c-format
-msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X"
-msgstr "el manifiesto requiere WAL del timeline final %u terminado en %X/%X, pero este backup empieza en %X/%X"
+msgid "manifest requires WAL from final timeline %u ending at %X/%08X, but this backup starts at %X/%08X"
+msgstr "el manifiesto requiere WAL del timeline final %u terminado en %X/%08X, pero este backup empieza en %X/%08X"
 
 #: backup/basebackup_incremental.c:439
 #, c-format
@@ -3986,23 +3986,23 @@ msgstr "Esto puede pasar para backups incrementales en un standby si hubo insufi
 
 #: backup/basebackup_incremental.c:446
 #, c-format
-msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X"
-msgstr "el manifiesto requiere WAL del timeline no-final %u terminando en %X/%X, pero este servidor cambió de timelines en %X/%X"
+msgid "manifest requires WAL from non-final timeline %u ending at %X/%08X, but this server switched timelines at %X/%08X"
+msgstr "el manifiesto requiere WAL del timeline no-final %u terminando en %X/%08X, pero este servidor cambió de timelines en %X/%08X"
 
 #: backup/basebackup_incremental.c:527
 #, c-format
-msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist"
-msgstr "se requieren sumarizaciones de WAL en el timeline %u desde %X/%X hasta %X/%X, pero no existen sumarizaciones para ese timeline y rango de LSN"
+msgid "WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but no summaries for that timeline and LSN range exist"
+msgstr "se requieren sumarizaciones de WAL en el timeline %u desde %X/%08X hasta %X/%08X, pero no existen sumarizaciones para ese timeline y rango de LSN"
 
 #: backup/basebackup_incremental.c:534
 #, c-format
-msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete"
-msgstr "se requieren sumarizaciones de WAL en el timeline %u desde %X/%X hasta %X/%X, pero las sumarizaciones en ese timeline y rango de LSN están incompletos"
+msgid "WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but the summaries for that timeline and LSN range are incomplete"
+msgstr "se requieren sumarizaciones de WAL en el timeline %u desde %X/%08X hasta %X/%08X, pero las sumarizaciones en ese timeline y rango de LSN están incompletos"
 
 #: backup/basebackup_incremental.c:538
 #, c-format
-msgid "The first unsummarized LSN in this range is %X/%X."
-msgstr "El primer LSN sin sumarización en este rango es %X/%X."
+msgid "The first unsummarized LSN in this range is %X/%08X."
+msgstr "El primer LSN sin sumarización en este rango es %X/%08X."
 
 #: backup/basebackup_incremental.c:938
 #, c-format
@@ -10371,8 +10371,8 @@ msgstr "Use ALTER SUBSCRIPTION ... REFRESH con copy_data = false, o use DROP/CRE
 
 #: commands/subscriptioncmds.c:1473
 #, c-format
-msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
-msgstr "la ubicación de WAL a saltar (LSN %X/%X) debe ser mayor que el LSN de origen %X/%X"
+msgid "skip WAL location (LSN %X/%08X) must be greater than origin LSN %X/%08X"
+msgstr "la ubicación de WAL a saltar (LSN %X/%08X) debe ser mayor que el LSN de origen %X/%08X"
 
 #: commands/subscriptioncmds.c:1594
 #, c-format
@@ -20022,35 +20022,35 @@ msgstr "la sumarización de WAL no está progresando"
 
 #: postmaster/walsummarizer.c:741
 #, c-format
-msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory."
-msgstr "La sumarización de WAL se necesita hasta %X/%X, pero está detenido en %X/%X en disco y %X/%X en memoria."
+msgid "Summarization is needed through %X/%08X, but is stuck at %X/%08X on disk and %X/%08X in memory."
+msgstr "La sumarización de WAL se necesita hasta %X/%08X, pero está detenido en %X/%08X en disco y %X/%08X en memoria."
 
 #: postmaster/walsummarizer.c:755
 #, c-format
-msgid "still waiting for WAL summarization through %X/%X after %ld second"
-msgid_plural "still waiting for WAL summarization through %X/%X after %ld seconds"
-msgstr[0] "todavía esperando al resumen de WAL hasta %X/%X después de %ld segundo"
-msgstr[1] "todavía esperando al resumen de WAL hasta %X/%X después de %ld segundos"
+msgid "still waiting for WAL summarization through %X/%08X after %ld second"
+msgid_plural "still waiting for WAL summarization through %X/%08X after %ld seconds"
+msgstr[0] "todavía esperando al resumen de WAL hasta %X/%08X después de %ld segundo"
+msgstr[1] "todavía esperando al resumen de WAL hasta %X/%08X después de %ld segundos"
 
 #: postmaster/walsummarizer.c:760
 #, c-format
-msgid "Summarization has reached %X/%X on disk and %X/%X in memory."
-msgstr "El resumen ha alcanzado %X/%X en disco y %X/%X en memoria."
+msgid "Summarization has reached %X/%08X on disk and %X/%08X in memory."
+msgstr "El resumen ha alcanzado %X/%08X en disco y %X/%08X en memoria."
 
 #: postmaster/walsummarizer.c:1000
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "no se pudo encontrar un registro válido después de %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "no se pudo encontrar un registro válido después de %X/%08X"
 
 #: postmaster/walsummarizer.c:1045
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X: %s"
-msgstr "no se pudo leer WAL del timeline %u en %X/%X: %s"
+msgid "could not read WAL from timeline %u at %X/%08X: %s"
+msgstr "no se pudo leer WAL del timeline %u en %X/%08X: %s"
 
 #: postmaster/walsummarizer.c:1051
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X"
-msgstr "no se pudo leer WAL del timeline %u en %X/%X"
+msgid "could not read WAL from timeline %u at %X/%08X"
+msgstr "no se pudo leer WAL del timeline %u en %X/%08X"
 
 #: regex/regc_pg_locale.c:244
 #, c-format
@@ -20343,13 +20343,13 @@ msgstr "iniciando la decodificación lógica para el slot «%s»"
 
 #: replication/logical/logical.c:630
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
-msgstr "Transacciones en flujo comprometiendo después de %X/%X, leyendo WAL desde %X/%X."
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
+msgstr "Transacciones en flujo comprometiendo después de %X/%08X, leyendo WAL desde %X/%08X."
 
 #: replication/logical/logical.c:778
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
-msgstr "slot «%s», plugin de salida «%s», en el callback %s, LSN asociado %X/%X"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
+msgstr "slot «%s», plugin de salida «%s», en el callback %s, LSN asociado %X/%08X"
 
 # FIXME must quote callback name?  Need a translator: comment?
 #: replication/logical/logical.c:784
@@ -20448,8 +20448,8 @@ msgstr "no se pudo encontrar una estructura de replicación libre, incremente «
 
 #: replication/logical/origin.c:806
 #, c-format
-msgid "recovered replication state of node %d to %X/%X"
-msgstr "recuperado el estado de replicación del nodo %d a %X/%X"
+msgid "recovered replication state of node %d to %X/%08X"
+msgstr "recuperado el estado de replicación del nodo %d a %X/%08X"
 
 #: replication/logical/origin.c:816
 #, c-format
@@ -20555,8 +20555,8 @@ msgstr "no se puede sincronizar el slot de replicación «%s» porque el slot re
 
 #: replication/logical/slotsync.c:217
 #, c-format
-msgid "The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has LSN %X/%X and catalog xmin %u."
-msgstr "El slot remoto tiene LSN %X/%X y xmin de catálogo %u, pero el slot local tiene LSN %X/%X y xmin de catálogo %u."
+msgid "The remote slot has LSN %X/%08X and catalog xmin %u, but the local slot has LSN %X/%08X and catalog xmin %u."
+msgstr "El slot remoto tiene LSN %X/%08X y xmin de catálogo %u, pero el slot local tiene LSN %X/%08X y xmin de catálogo %u."
 
 #: replication/logical/slotsync.c:459
 #, c-format
@@ -20570,8 +20570,8 @@ msgstr "no se pudo sincronizar el slot de replicación «%s»"
 
 #: replication/logical/slotsync.c:580
 #, c-format
-msgid "Logical decoding could not find consistent point from local slot's LSN %X/%X."
-msgstr "La decodificación lógica no pudo encontrar un punto consistente desde el LSN del slot local %X/%X."
+msgid "Logical decoding could not find consistent point from local slot's LSN %X/%08X."
+msgstr "La decodificación lógica no pudo encontrar un punto consistente desde el LSN del slot local %X/%08X."
 
 #: replication/logical/slotsync.c:589
 #, c-format
@@ -20580,8 +20580,8 @@ msgstr "el slot de replicación «%s» recién creado está listo para la sincro
 
 #: replication/logical/slotsync.c:628
 #, c-format
-msgid "skipping slot synchronization because the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X"
-msgstr "omitiendo sincronización de slot porque el LSN %X/%X de sincronización recibido para el slot «%s» está adelantado respecto a la posición del standby %X/%X"
+msgid "skipping slot synchronization because the received slot sync LSN %X/%08X for slot \"%s\" is ahead of the standby position %X/%08X"
+msgstr "omitiendo sincronización de slot porque el LSN %X/%08X de sincronización recibido para el slot «%s» está adelantado respecto a la posición del standby %X/%08X"
 
 #: replication/logical/slotsync.c:650
 #, c-format
@@ -20693,8 +20693,8 @@ msgstr[1] "se exportó un snapshot de decodificación lógica: «%s» con %u IDs
 #: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501
 #: replication/logical/snapbuild.c:2017
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "la decodificación lógica encontró un punto consistente en %X/%X"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "la decodificación lógica encontró un punto consistente en %X/%08X"
 
 #: replication/logical/snapbuild.c:1406
 #, c-format
@@ -20703,8 +20703,8 @@ msgstr "No hay transacciones en ejecución."
 
 #: replication/logical/snapbuild.c:1453
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "decodificación lógica encontró punto de inicio en %X/%X"
+msgid "logical decoding found initial starting point at %X/%08X"
+msgstr "decodificación lógica encontró punto de inicio en %X/%08X"
 
 #: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479
 #, c-format
@@ -20713,8 +20713,8 @@ msgstr "Esperando que las (aproximadamente %d) transacciones más antiguas que %
 
 #: replication/logical/snapbuild.c:1477
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
-msgstr "la decodificación lógica encontró un punto consistente inicial en %X/%X"
+msgid "logical decoding found initial consistent point at %X/%08X"
+msgstr "la decodificación lógica encontró un punto consistente inicial en %X/%08X"
 
 #: replication/logical/snapbuild.c:1503
 #, c-format
@@ -20904,13 +20904,13 @@ msgstr "la suscripción «%s» ha sido inhabilitada debido a un error"
 
 #: replication/logical/worker.c:4806
 #, c-format
-msgid "logical replication starts skipping transaction at LSN %X/%X"
-msgstr "iniciando el ignorado en la replicación lógica de la transacción en el LSN %X/%X"
+msgid "logical replication starts skipping transaction at LSN %X/%08X"
+msgstr "iniciando el ignorado en la replicación lógica de la transacción en el LSN %X/%08X"
 
 #: replication/logical/worker.c:4820
 #, c-format
-msgid "logical replication completed skipping transaction at LSN %X/%X"
-msgstr "finalizó el ignorado en la replicación lógica de la transacción en el LSN %X/%X"
+msgid "logical replication completed skipping transaction at LSN %X/%08X"
+msgstr "finalizó el ignorado en la replicación lógica de la transacción en el LSN %X/%08X"
 
 #: replication/logical/worker.c:4902
 #, c-format
@@ -20919,8 +20919,8 @@ msgstr "el «skip-LSN» de la suscripción «%s» ha sido borrado"
 
 #: replication/logical/worker.c:4903
 #, c-format
-msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X."
-msgstr "La ubicación de WAL (LSN) de término %X/%X de la transacción remota no coincidió con el skip-LSN %X/%X."
+msgid "Remote transaction's finish WAL location (LSN) %X/%08X did not match skip-LSN %X/%08X."
+msgstr "La ubicación de WAL (LSN) de término %X/%08X de la transacción remota no coincidió con el skip-LSN %X/%08X."
 
 #: replication/logical/worker.c:4940
 #, c-format
@@ -20934,8 +20934,8 @@ msgstr "procesando datos remotos de origen de replicación «%s» durante el men
 
 #: replication/logical/worker.c:4949
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X"
-msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s» en la transacción %u, concluida en %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%08X"
+msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s» en la transacción %u, concluida en %X/%08X"
 
 #: replication/logical/worker.c:4960
 #, c-format
@@ -20944,8 +20944,8 @@ msgstr "procesando datos remotos de origen de replicación «%s» durante el men
 
 #: replication/logical/worker.c:4967
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X"
-msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s» para la relación de destino «%s.%s» en la transacción %u, concluida en %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%08X"
+msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s» para la relación de destino «%s.%s» en la transacción %u, concluida en %X/%08X"
 
 #: replication/logical/worker.c:4978
 #, c-format
@@ -20954,8 +20954,8 @@ msgstr "procesando datos remotos de origen de replicación «%s» durante el men
 
 #: replication/logical/worker.c:4986
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X"
-msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s» para la relación de destino «%s.%s» columna «%s» en la transacción %u, concluida en %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%08X"
+msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s» para la relación de destino «%s.%s» columna «%s» en la transacción %u, concluida en %X/%08X"
 
 #: replication/pgoutput/pgoutput.c:322
 #, c-format
@@ -21136,10 +21136,10 @@ msgstr "Sólo roles con el atributo %s pueden usar slots de replicación."
 
 #: replication/slot.c:1498
 #, c-format
-msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte."
-msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes."
-msgstr[0] "El restart_lsn %X/%X del slot excede el límite por %llu byte."
-msgstr[1] "El restart_lsn %X/%X del slot excede el límite por %llu bytes."
+msgid "The slot's restart_lsn %X/%08X exceeds the limit by %llu byte."
+msgid_plural "The slot's restart_lsn %X/%08X exceeds the limit by %llu bytes."
+msgstr[0] "El restart_lsn %X/%08X del slot excede el límite por %llu byte."
+msgstr[1] "El restart_lsn %X/%08X del slot excede el límite por %llu bytes."
 
 #: replication/slot.c:1506
 #, c-format
@@ -21281,8 +21281,8 @@ msgstr "Este slot nunca ha reservado WAL previamente, o ha sido invalidado."
 
 #: replication/slotfuncs.c:566
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
-msgstr "no puede avanzar un slot de replicación a %X/%X, el mínimo es %X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
+msgstr "no puede avanzar un slot de replicación a %X/%08X, el mínimo es %X/%08X"
 
 #: replication/slotfuncs.c:673
 #, c-format
@@ -21382,13 +21382,13 @@ msgstr "el timeline más alto del primario, %u, está más atrás que el timelin
 
 #: replication/walreceiver.c:419
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
-msgstr "iniciando el flujo de WAL desde el primario en %X/%X en el timeline %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
+msgstr "iniciando el flujo de WAL desde el primario en %X/%08X en el timeline %u"
 
 #: replication/walreceiver.c:423
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "reiniciando el flujo de WAL en %X/%X en el timeline %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
+msgstr "reiniciando el flujo de WAL en %X/%08X en el timeline %u"
 
 #: replication/walreceiver.c:458
 #, c-format
@@ -21402,8 +21402,8 @@ msgstr "replicación terminada por el servidor primario"
 
 #: replication/walreceiver.c:503
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "Se alcanzó el fin de WAL en el timeline %u en la posición %X/%X."
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "Se alcanzó el fin de WAL en el timeline %u en la posición %X/%08X."
 
 #: replication/walreceiver.c:593
 #, c-format
@@ -21452,18 +21452,18 @@ msgstr "no se puede usar un slot de replicación lógica para replicación físi
 
 #: replication/walsender.c:919
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
-msgstr "el punto de inicio solicitado %X/%X del timeline %u no está en la historia de este servidor"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
+msgstr "el punto de inicio solicitado %X/%08X del timeline %u no está en la historia de este servidor"
 
 #: replication/walsender.c:922
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "La historia de este servidor bifurcó desde el timeline %u en %X/%X."
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "La historia de este servidor bifurcó desde el timeline %u en %X/%08X."
 
 #: replication/walsender.c:966
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
-msgstr "el punto de inicio solicitado %X/%X está más adelante que la posición de sincronización (flush) de WAL de este servidor %X/%X"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
+msgstr "el punto de inicio solicitado %X/%08X está más adelante que la posición de sincronización (flush) de WAL de este servidor %X/%08X"
 
 #: replication/walsender.c:1160
 #, c-format
diff --git a/src/backend/po/fr.po b/src/backend/po/fr.po
index eca2a961f98..92ba5408ee8 100644
--- a/src/backend/po/fr.po
+++ b/src/backend/po/fr.po
@@ -1816,9 +1816,9 @@ msgstr "l'identifiant du gestionnaire personnalisé de ressources %d est hors de
 
 #: access/transam/rmgr.c:106
 #, fuzzy, c-format
-#| msgid "invalid resource manager ID %u at %X/%X"
+#| msgid "invalid resource manager ID %u at %X/%08X"
 msgid "Provide a custom resource manager ID between %d and %d."
-msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X"
+msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%08X"
 
 #: access/transam/rmgr.c:111 access/transam/rmgr.c:116
 #: access/transam/rmgr.c:128
@@ -2058,20 +2058,20 @@ msgstr "Échec lors de l'allocation d'un processeur de lecture de journaux de tr
 
 #: access/transam/twophase.c:1423
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X: %s"
-msgstr "n'a pas pu lire le fichier d'état de la validation en deux phases depuis les journaux de transactions à %X/%X : %s"
+msgid "could not read two-phase state from WAL at %X/%08X: %s"
+msgstr "n'a pas pu lire le fichier d'état de la validation en deux phases depuis les journaux de transactions à %X/%08X : %s"
 
 #: access/transam/twophase.c:1428
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "n'a pas pu lire le fichier d'état de la validation en deux phases depuis les journaux de transactions à %X/%X"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "n'a pas pu lire le fichier d'état de la validation en deux phases depuis les journaux de transactions à %X/%08X"
 
 #: access/transam/twophase.c:1436
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
 msgstr ""
 "le fichier d'état de la validation en deux phases attendu n'est pas présent\n"
-"dans les journaux de transaction à %X/%X"
+"dans les journaux de transaction à %X/%08X"
 
 #: access/transam/twophase.c:1732
 #, c-format
@@ -2128,7 +2128,7 @@ msgstr "fichier d'état de la validation en deux phases pour la transaction %u c
 
 #: access/transam/twophase.c:2502
 #, c-format
-msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
+msgid "Two-phase state file has been found in WAL record %X/%08X, but this transaction has already been restored from disk."
 msgstr ""
 
 #: access/transam/twophase.c:2510 jit/jit.c:205 utils/fmgr/dfmgr.c:209
@@ -2298,8 +2298,8 @@ msgstr "ne peut pas avoir plus de 2^32-1 sous-transactions dans une transaction"
 
 #: access/transam/xlog.c:1466
 #, c-format
-msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
-msgstr "demande pour vider après la fin du WAL généré ; demande %X/%X, position actuelle %X/%X"
+msgid "request to flush past end of generated WAL; request %X/%08X, current position %X/%08X"
+msgstr "demande pour vider après la fin du WAL généré ; demande %X/%08X, position actuelle %X/%08X"
 
 #: access/transam/xlog.c:2228
 #, c-format
@@ -2638,13 +2638,13 @@ msgstr "début du checkpoint :%s%s%s%s%s%s%s%s"
 #: access/transam/xlog.c:6305
 #, fuzzy, c-format
 #| msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB"
-msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
 msgstr "restartpoint terminé : a écrit %d tampons (%.1f%%); %d fichiers WAL ajoutés, %d supprimés, %d recyclés ; écriture=%ld.%03d s, synchronisation=%ld.%03d s, total=%ld.%03d s; fichiers synchronisés=%d, plus long=%ld.%03d s, moyenne=%ld.%03d s; distance=%d kB, estimation=%d kB"
 
 #: access/transam/xlog.c:6328
 #, fuzzy, c-format
 #| msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB"
-msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
 msgstr "checkpoint terminé : a écrit %d tampons (%.1f%%); %d fichiers WAL ajoutés, %d supprimés, %d recyclés ; écriture=%ld.%03d s, synchronisation=%ld.%03d s, total=%ld.%03d s; fichiers synchronisés=%d, plus long=%ld.%03d s, moyenne=%ld.%03d s; distance=%d kB, estimation=%d kB"
 
 #: access/transam/xlog.c:6766
@@ -2656,8 +2656,8 @@ msgstr ""
 
 #: access/transam/xlog.c:7327
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "la ré-exécution en restauration commence à %X/%X"
+msgid "recovery restart point at %X/%08X"
+msgstr "la ré-exécution en restauration commence à %X/%08X"
 
 #: access/transam/xlog.c:7329
 #, c-format
@@ -2666,8 +2666,8 @@ msgstr "La dernière transaction a eu lieu à %s (moment de la journalisation)."
 
 #: access/transam/xlog.c:7577
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "point de restauration « %s » créé à %X/%X"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "point de restauration « %s » créé à %X/%08X"
 
 #: access/transam/xlog.c:7784
 #, c-format
@@ -2938,55 +2938,55 @@ msgstr "effective_io_concurrency doit être positionné à 0 sur les plateformes
 
 #: access/transam/xlogreader.c:593
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "décalage invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "décalage invalide de l'enregistrement à %X/%08X : attendait au moins %u, a eu %u"
 
 #: access/transam/xlogreader.c:602
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "« contrecord » est requis par %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "« contrecord » est requis par %X/%08X"
 
 #: access/transam/xlogreader.c:643 access/transam/xlogreader.c:1108
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "longueur invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "longueur invalide de l'enregistrement à %X/%08X : attendait au moins %u, a eu %u"
 
 #: access/transam/xlogreader.c:732
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "il n'existe pas de drapeau contrecord à %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "il n'existe pas de drapeau contrecord à %X/%08X"
 
 #: access/transam/xlogreader.c:745
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%08X"
 
 #: access/transam/xlogreader.c:1116
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%08X"
 
 #: access/transam/xlogreader.c:1129 access/transam/xlogreader.c:1145
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "enregistrement avec prev-link %X/%X incorrect à %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "enregistrement avec prev-link %X/%08X incorrect à %X/%08X"
 
 #: access/transam/xlogreader.c:1183
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
 msgstr ""
 "somme de contrôle des données du gestionnaire de ressources incorrecte à\n"
-"l'enregistrement %X/%X"
+"l'enregistrement %X/%08X"
 
 #: access/transam/xlogreader.c:1217
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "numéro magique invalide %04X dans le segment WAL %s, LSN %X/%X, décalage %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "numéro magique invalide %04X dans le segment WAL %s, LSN %X/%08X, décalage %u"
 
 #: access/transam/xlogreader.c:1232 access/transam/xlogreader.c:1274
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "bits d'information %04X invalides dans le segment WAL %s, LSN %X/%X, décalage %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "bits d'information %04X invalides dans le segment WAL %s, LSN %X/%08X, décalage %u"
 
 #: access/transam/xlogreader.c:1248
 #, c-format
@@ -3005,63 +3005,63 @@ msgstr "Le fichier WAL provient d'une instance différente : XLOG_BLCKSZ incorre
 
 #: access/transam/xlogreader.c:1294
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, LSN %X/%X, segment %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "pageaddr %X/%08X inattendue dans le journal de transactions %s, LSN %X/%08X, segment %u"
 
 #: access/transam/xlogreader.c:1320
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment WAL %s, LSN %X/%X, décalage %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment WAL %s, LSN %X/%08X, décalage %u"
 
 #: access/transam/xlogreader.c:1726
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u désordonné à %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %u désordonné à %X/%08X"
 
 #: access/transam/xlogreader.c:1750
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%08X"
 
 #: access/transam/xlogreader.c:1757
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%08X"
 
 #: access/transam/xlogreader.c:1793
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%08X"
 
 #: access/transam/xlogreader.c:1809
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%08X"
 
 #: access/transam/xlogreader.c:1823
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%08X"
 
 #: access/transam/xlogreader.c:1838
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%08X"
 
 #: access/transam/xlogreader.c:1854
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%08X"
 
 #: access/transam/xlogreader.c:1866
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "block_id %u invalide à %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "block_id %u invalide à %X/%08X"
 
 #: access/transam/xlogreader.c:1933
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "enregistrement de longueur invalide à %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "enregistrement de longueur invalide à %X/%08X"
 
 #: access/transam/xlogreader.c:1959
 #, c-format
@@ -3070,28 +3070,28 @@ msgstr "n'a pas pu localiser le bloc de sauvegarde d'ID %d dans l'enregistrement
 
 #: access/transam/xlogreader.c:2043
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "n'a pas pu restaurer l'image à %X/%08X avec le bloc invalide %d indiqué"
 
 #: access/transam/xlogreader.c:2050
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "n'a pas pu restaurer l'image à %X/%X avec un état invalide, bloc %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "n'a pas pu restaurer l'image à %X/%08X avec un état invalide, bloc %d"
 
 #: access/transam/xlogreader.c:2077 access/transam/xlogreader.c:2094
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec %s, qui est non supporté par le serveur, bloc %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "n'a pas pu restaurer l'image à %X/%08X compressé avec %s, qui est non supporté par le serveur, bloc %d"
 
 #: access/transam/xlogreader.c:2103
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec une méthode inconnue, bloc %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "n'a pas pu restaurer l'image à %X/%08X compressé avec une méthode inconnue, bloc %d"
 
 #: access/transam/xlogreader.c:2111
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "n'a pas pu décompresser l'image à %X/%08X, bloc %d"
 
 #: access/transam/xlogrecovery.c:547
 #, c-format
@@ -3115,8 +3115,8 @@ msgstr "début de la restauration PITR à « %s »"
 
 #: access/transam/xlogrecovery.c:562
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "début de la restauration PITR à l'emplacement WAL (LSN) « %X/%X »"
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
+msgstr "début de la restauration PITR à l'emplacement WAL (LSN) « %X/%08X »"
 
 #: access/transam/xlogrecovery.c:566
 #, c-format
@@ -3181,13 +3181,13 @@ msgstr "la timeline requise %u n'est pas un fils de l'historique de ce serveur"
 
 #: access/transam/xlogrecovery.c:812
 #, c-format
-msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
-msgstr "Le dernier checkpoint est à %X/%X sur la timeline %u, mais dans l'historique de la timeline demandée, le serveur est sorti de cette timeline à %X/%X."
+msgid "Latest checkpoint is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
+msgstr "Le dernier checkpoint est à %X/%08X sur la timeline %u, mais dans l'historique de la timeline demandée, le serveur est sorti de cette timeline à %X/%08X."
 
 #: access/transam/xlogrecovery.c:826
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
-msgstr "la timeline requise, %u, ne contient pas le point de restauration minimum (%X/%X) sur la timeline %u"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
+msgstr "la timeline requise, %u, ne contient pas le point de restauration minimum (%X/%08X) sur la timeline %u"
 
 #: access/transam/xlogrecovery.c:854
 #, c-format
@@ -3277,12 +3277,12 @@ msgstr "L'identifiant de timeline parsé est %u, mais %u était attendu."
 
 #: access/transam/xlogrecovery.c:1662
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "la ré-exécution commence à %X/%X"
+msgid "redo starts at %X/%08X"
+msgstr "la ré-exécution commence à %X/%08X"
 
 #: access/transam/xlogrecovery.c:1675
 #, c-format
-msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
+msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%08X"
 msgstr ""
 
 #: access/transam/xlogrecovery.c:1767
@@ -3294,8 +3294,8 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:1799
 #, c-format
-msgid "redo done at %X/%X system usage: %s"
-msgstr "rejeu exécuté à %X/%X utilisation système : %s"
+msgid "redo done at %X/%08X system usage: %s"
+msgstr "rejeu exécuté à %X/%08X utilisation système : %s"
 
 #: access/transam/xlogrecovery.c:1805
 #, c-format
@@ -3314,8 +3314,8 @@ msgstr "la restauration s'est terminée avant d'avoir atteint la cible configur
 
 #: access/transam/xlogrecovery.c:2019
 #, c-format
-msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
-msgstr "ignore avec succès le contrecord manquant à %X/%X, surchargé à %s"
+msgid "successfully skipped missing contrecord at %X/%08X, overwritten at %s"
+msgstr "ignore avec succès le contrecord manquant à %X/%08X, surchargé à %s"
 
 #: access/transam/xlogrecovery.c:2086
 #, fuzzy, c-format
@@ -3335,14 +3335,14 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:2163
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "état de restauration cohérent atteint à %X/%X"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "état de restauration cohérent atteint à %X/%08X"
 
 #. translator: %s is a WAL record description
 #: access/transam/xlogrecovery.c:2201
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "rejeu des WAL à %X/%X pour %s"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "rejeu des WAL à %X/%08X pour %s"
 
 #: access/transam/xlogrecovery.c:2299
 #, c-format
@@ -3358,8 +3358,8 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:2324
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
-msgstr "identifiant timeline %u inattendu dans l'enregistrement du checkpoint, avant d'atteindre le point de restauration minimum %X/%X sur la timeline %u"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
+msgstr "identifiant timeline %u inattendu dans l'enregistrement du checkpoint, avant d'atteindre le point de restauration minimum %X/%08X sur la timeline %u"
 
 #: access/transam/xlogrecovery.c:2508 access/transam/xlogrecovery.c:2784
 #, c-format
@@ -3368,8 +3368,8 @@ msgstr "arrêt de la restauration après avoir atteint le point de cohérence"
 
 #: access/transam/xlogrecovery.c:2529
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "arrêt de la restauration avant l'emplacement WAL (LSN) « %X/%X »"
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "arrêt de la restauration avant l'emplacement WAL (LSN) « %X/%08X »"
 
 #: access/transam/xlogrecovery.c:2619
 #, c-format
@@ -3388,8 +3388,8 @@ msgstr "restauration en arrêt au point de restauration « %s », heure %s"
 
 #: access/transam/xlogrecovery.c:2697
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "arrêt de la restauration après l'emplacement WAL (LSN) « %X/%X »"
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "arrêt de la restauration après l'emplacement WAL (LSN) « %X/%08X »"
 
 #: access/transam/xlogrecovery.c:2764
 #, c-format
@@ -3424,19 +3424,19 @@ msgstr "Exécuter pg_wal_replay_resume() pour continuer."
 #: access/transam/xlogrecovery.c:3121
 #, fuzzy, c-format
 #| msgid "unexpected timeline ID %u in log segment %s, offset %u"
-msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
+msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "identifiant timeline %u inattendu dans le journal de transactions %s, décalage %u"
 
 #: access/transam/xlogrecovery.c:3329
 #, fuzzy, c-format
 #| msgid "could not read from log segment %s, offset %u: %m"
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: %m"
 msgstr "n'a pas pu lire le journal de transactions %s, décalage %u : %m"
 
 #: access/transam/xlogrecovery.c:3336
 #, fuzzy, c-format
 #| msgid "could not read from log segment %s, offset %u: read %d of %zu"
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: read %d of %zu"
 msgstr "n'a pas pu lire à partir du segment %s du journal de transactions, décalage %u: lu %d sur %zu"
 
 #: access/transam/xlogrecovery.c:3976
@@ -3472,10 +3472,10 @@ msgstr "la nouvelle timeline %u n'est pas une enfant de la timeline %u du systè
 
 #: access/transam/xlogrecovery.c:4074
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
 msgstr ""
 "la nouvelle timeline %u a été créée à partir de la timeline de la base de données système %u\n"
-"avant le point de restauration courant %X/%X"
+"avant le point de restauration courant %X/%08X"
 
 #: access/transam/xlogrecovery.c:4093
 #, c-format
@@ -10292,7 +10292,7 @@ msgstr "Utilisez ALTER SUBSCRIPTION ... REFRESH with copy_data = false, ou utili
 
 #: commands/subscriptioncmds.c:1428
 #, c-format
-msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
+msgid "skip WAL location (LSN %X/%08X) must be greater than origin LSN %X/%08X"
 msgstr ""
 
 #: commands/subscriptioncmds.c:1513
@@ -21051,13 +21051,13 @@ msgstr "début du décodage logique pour le slot « %s »"
 
 #: replication/logical/logical.c:610
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
-msgstr "Envoi des transactions validées après %X/%X, lecture des journaux à partir de %X/%X."
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
+msgstr "Envoi des transactions validées après %X/%08X, lecture des journaux à partir de %X/%08X."
 
 #: replication/logical/logical.c:758
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
-msgstr "slot « %s », plugin de sortie « %s », dans la fonction d'appel %s, associé au LSN %X/%X"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
+msgstr "slot « %s », plugin de sortie « %s », dans la fonction d'appel %s, associé au LSN %X/%08X"
 
 #: replication/logical/logical.c:764
 #, c-format
@@ -21158,9 +21158,9 @@ msgstr "n'a pas pu trouver d'état de réplication libre, augmentez max_replicat
 
 #: replication/logical/origin.c:806
 #, fuzzy, c-format
-#| msgid "recovered replication state of node %u to %X/%X"
-msgid "recovered replication state of node %d to %X/%X"
-msgstr "restauration de l'état de réplication du nœud %u à %X/%X"
+#| msgid "recovered replication state of node %u to %X/%08X"
+msgid "recovered replication state of node %d to %X/%08X"
+msgstr "restauration de l'état de réplication du nœud %u à %X/%08X"
 
 #: replication/logical/origin.c:816
 #, c-format
@@ -21278,8 +21278,8 @@ msgstr[1] "snapshot exporté pour le décodage logique : « %s » avec %u identi
 #: replication/logical/snapbuild.c:1388 replication/logical/snapbuild.c:1480
 #: replication/logical/snapbuild.c:1996
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "le décodage logique a trouvé le point de cohérence à %X/%X"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "le décodage logique a trouvé le point de cohérence à %X/%08X"
 
 #: replication/logical/snapbuild.c:1390
 #, c-format
@@ -21288,8 +21288,8 @@ msgstr "Il n'existe pas de transactions en cours."
 
 #: replication/logical/snapbuild.c:1432
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "le décodage logique a trouvé le point de démarrage à %X/%X"
+msgid "logical decoding found initial starting point at %X/%08X"
+msgstr "le décodage logique a trouvé le point de démarrage à %X/%08X"
 
 #: replication/logical/snapbuild.c:1434 replication/logical/snapbuild.c:1458
 #, c-format
@@ -21298,8 +21298,8 @@ msgstr "En attente de transactions (approximativement %d) plus anciennes que %u
 
 #: replication/logical/snapbuild.c:1456
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
-msgstr "le décodage logique a trouvé le point de cohérence initial à %X/%X"
+msgid "logical decoding found initial consistent point at %X/%08X"
+msgstr "le décodage logique a trouvé le point de cohérence initial à %X/%08X"
 
 #: replication/logical/snapbuild.c:1482
 #, c-format
@@ -21493,12 +21493,12 @@ msgstr "le curseur « %s » est déclaré mais non ouvert"
 #: replication/logical/worker.c:4805
 #, fuzzy, c-format
 #| msgid "cannot create logical replication slot in transaction that has performed writes"
-msgid "logical replication starts skipping transaction at LSN %X/%X"
+msgid "logical replication starts skipping transaction at LSN %X/%08X"
 msgstr "ne peut pas créer un slot de réplication logique dans une transaction qui a fait des écritures"
 
 #: replication/logical/worker.c:4819
 #, c-format
-msgid "logical replication completed skipping transaction at LSN %X/%X"
+msgid "logical replication completed skipping transaction at LSN %X/%08X"
 msgstr ""
 
 #: replication/logical/worker.c:4901
@@ -21509,7 +21509,7 @@ msgstr "la souscription « %s » existe déjà"
 
 #: replication/logical/worker.c:4902
 #, c-format
-msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X."
+msgid "Remote transaction's finish WAL location (LSN) %X/%08X did not match skip-LSN %X/%08X."
 msgstr ""
 
 #: replication/logical/worker.c:4928
@@ -21527,7 +21527,7 @@ msgstr "traitement des données distantes pour la relation cible « %s.%s » de
 #: replication/logical/worker.c:4937
 #, fuzzy, c-format
 #| msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\""
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%08X"
 msgstr "traitement des données distantes pour la relation cible « %s.%s » de réplication logique, colonne « %s »"
 
 #: replication/logical/worker.c:4948
@@ -21539,7 +21539,7 @@ msgstr "traitement des données distantes pour la relation cible « %s.%s » de
 #: replication/logical/worker.c:4955
 #, fuzzy, c-format
 #| msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\""
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%08X"
 msgstr "traitement des données distantes pour la relation cible « %s.%s » de réplication logique, colonne « %s »"
 
 #: replication/logical/worker.c:4966
@@ -21551,7 +21551,7 @@ msgstr "traitement des données distantes pour la relation cible « %s.%s » de
 #: replication/logical/worker.c:4974
 #, fuzzy, c-format
 #| msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\""
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%08X"
 msgstr "traitement des données distantes pour la relation cible « %s.%s » de réplication logique, colonne « %s »"
 
 #: replication/pgoutput/pgoutput.c:317
@@ -21688,8 +21688,8 @@ msgstr ""
 
 #: replication/slot.c:1271
 #, c-format
-msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte."
-msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes."
+msgid "The slot's restart_lsn %X/%08X exceeds the limit by %llu byte."
+msgid_plural "The slot's restart_lsn %X/%08X exceeds the limit by %llu bytes."
 msgstr[0] ""
 msgstr[1] ""
 
@@ -21778,8 +21778,8 @@ msgstr "Ce slot n'a jamais réservé de WAL précédemment, ou a été invalidé
 
 #: replication/slotfuncs.c:641
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
-msgstr "impossible d'avancer le slot de réplication vers %X/%X, le minimum est %X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
+msgstr "impossible d'avancer le slot de réplication vers %X/%08X, le minimum est %X/%08X"
 
 #: replication/slotfuncs.c:748
 #, c-format
@@ -21886,13 +21886,13 @@ msgstr "la plus grande timeline %u du serveur principal est derrière la timelin
 
 #: replication/walreceiver.c:417
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
-msgstr "démarré le flux des journaux depuis le principal à %X/%X sur la timeline %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
+msgstr "démarré le flux des journaux depuis le principal à %X/%08X sur la timeline %u"
 
 #: replication/walreceiver.c:421
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "recommence le flux WAL à %X/%X sur la timeline %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
+msgstr "recommence le flux WAL à %X/%08X sur la timeline %u"
 
 #: replication/walreceiver.c:457
 #, c-format
@@ -21906,8 +21906,8 @@ msgstr "réplication terminée par le serveur primaire"
 
 #: replication/walreceiver.c:502
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "Fin du WAL atteint sur la timeline %u à %X/%X."
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "Fin du WAL atteint sur la timeline %u à %X/%08X."
 
 #: replication/walreceiver.c:592
 #, c-format
@@ -21959,18 +21959,18 @@ msgstr "ne peut pas utiliser un slot de réplication logique pour une réplicati
 
 #: replication/walsender.c:770
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
-msgstr "le point de reprise %X/%X de la timeline %u n'est pas dans l'historique du serveur"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
+msgstr "le point de reprise %X/%08X de la timeline %u n'est pas dans l'historique du serveur"
 
 #: replication/walsender.c:773
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "L'historique du serveur a changé à partir de la timeline %u à %X/%X."
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "L'historique du serveur a changé à partir de la timeline %u à %X/%08X."
 
 #: replication/walsender.c:817
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
-msgstr "le point de reprise requis %X/%X est devant la position de vidage des WAL de ce serveur %X/%X"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
+msgstr "le point de reprise requis %X/%08X est devant la position de vidage des WAL de ce serveur %X/%08X"
 
 #: replication/walsender.c:1010
 #, fuzzy, c-format
@@ -31488,8 +31488,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ "FROM."
 
 #, c-format
-#~ msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
-#~ msgstr "BKPIMAGE_IS_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
+#~ msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%08X"
+#~ msgstr "BKPIMAGE_IS_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%08X"
 
 #~ msgid "COPY BINARY is not supported to stdout or from stdin"
 #~ msgstr "COPY BINARY n'est pas supporté vers stdout ou à partir de stdin"
@@ -33140,8 +33140,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgid "changing return type of function %s from %s to %s"
 #~ msgstr "changement du type de retour de la fonction %s de %s vers %s"
 
-#~ msgid "checkpoint record is at %X/%X"
-#~ msgstr "l'enregistrement du point de vérification est à %X/%X"
+#~ msgid "checkpoint record is at %X/%08X"
+#~ msgstr "l'enregistrement du point de vérification est à %X/%08X"
 
 #~ msgid "checkpoint skipped because system is idle"
 #~ msgstr "checkpoint ignoré car le système est inactif"
@@ -34047,8 +34047,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgid "inconsistent use of year %04d and \"BC\""
 #~ msgstr "utilisation non cohérente de l'année %04d et de « BC »"
 
-#~ msgid "incorrect hole size in record at %X/%X"
-#~ msgstr "taille du trou incorrect à l'enregistrement %X/%X"
+#~ msgid "incorrect hole size in record at %X/%08X"
+#~ msgstr "taille du trou incorrect à l'enregistrement %X/%08X"
 
 #, c-format
 #~ msgid "incorrect test message transmission on socket for statistics collector"
@@ -34056,8 +34056,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ "transmission incorrecte du message de tests sur la socket du récupérateur de\n"
 #~ "statistiques"
 
-#~ msgid "incorrect total length in record at %X/%X"
-#~ msgstr "longueur totale incorrecte à l'enregistrement %X/%X"
+#~ msgid "incorrect total length in record at %X/%08X"
+#~ msgstr "longueur totale incorrecte à l'enregistrement %X/%08X"
 
 #~ msgid "index \"%s\" is not a b-tree"
 #~ msgstr "l'index « %s » n'est pas un btree"
@@ -34129,22 +34129,22 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgid "invalid WAL message received from primary"
 #~ msgstr "format du message invalide"
 
-#~ msgid "invalid backup block size in record at %X/%X"
-#~ msgstr "taille du bloc de sauvegarde invalide dans l'enregistrement à %X/%X"
+#~ msgid "invalid backup block size in record at %X/%08X"
+#~ msgstr "taille du bloc de sauvegarde invalide dans l'enregistrement à %X/%08X"
 
 #, c-format
 #~ msgid "invalid checkpoint link in backup_label file"
 #~ msgstr "lien du point de vérification invalide dans le fichier backup_label"
 
 #, c-format
-#~ msgid "invalid compressed image at %X/%X, block %d"
-#~ msgstr "image compressée invalide à %X/%X, bloc %d"
+#~ msgid "invalid compressed image at %X/%08X, block %d"
+#~ msgstr "image compressée invalide à %X/%08X, bloc %d"
 
 #~ msgid "invalid concatenation of jsonb objects"
 #~ msgstr "concaténation invalide d'objets jsonb"
 
-#~ msgid "invalid contrecord length %u at %X/%X reading %X/%X, expected %u"
-#~ msgstr "longueur %u invalide du contrecord à %X/%X en lisant %X/%X, attendait %u"
+#~ msgid "invalid contrecord length %u at %X/%08X reading %X/%08X, expected %u"
+#~ msgstr "longueur %u invalide du contrecord à %X/%08X en lisant %X/%08X, attendait %u"
 
 #~ msgid "invalid contrecord length %u in log file %u, segment %u, offset %u"
 #~ msgstr ""
@@ -34289,16 +34289,16 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgid "invalid publish list"
 #~ msgstr "liste de publication invalide"
 
-#~ msgid "invalid record length at %X/%X"
-#~ msgstr "longueur invalide de l'enregistrement à %X/%X"
+#~ msgid "invalid record length at %X/%08X"
+#~ msgstr "longueur invalide de l'enregistrement à %X/%08X"
 
 #, c-format
-#~ msgid "invalid record length at %X/%X: wanted %u, got %u"
-#~ msgstr "longueur invalide de l'enregistrement à %X/%X : voulait %u, a eu %u"
+#~ msgid "invalid record length at %X/%08X: wanted %u, got %u"
+#~ msgstr "longueur invalide de l'enregistrement à %X/%08X : voulait %u, a eu %u"
 
 #, c-format
-#~ msgid "invalid record offset at %X/%X"
-#~ msgstr "décalage invalide de l'enregistrement %X/%X"
+#~ msgid "invalid record offset at %X/%08X"
+#~ msgstr "décalage invalide de l'enregistrement %X/%08X"
 
 #~ msgid "invalid regexp option: \"%c\""
 #~ msgstr "option invalide de l'expression rationnelle : « %c »"
@@ -34359,8 +34359,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgid "invalid xl_info in secondary checkpoint record"
 #~ msgstr "xl_info invalide  dans l'enregistrement du point de vérification secondaire"
 
-#~ msgid "invalid xlog switch record at %X/%X"
-#~ msgstr "enregistrement de basculement du journal de transaction invalide à %X/%X"
+#~ msgid "invalid xlog switch record at %X/%08X"
+#~ msgstr "enregistrement de basculement du journal de transaction invalide à %X/%08X"
 
 #~ msgid "invalid zero-length item array in MVDependencies"
 #~ msgstr "tableau d'éléments de longueur zéro invalide dans MVDependencies"
@@ -34369,8 +34369,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgstr "tableau d'élément de longueur zéro invalide dans MVNDistinct"
 
 #, c-format
-#~ msgid "invalidating slot \"%s\" because its restart_lsn %X/%X exceeds max_slot_wal_keep_size"
-#~ msgstr "invalidation du slot « %s » parce que son restart_lsn %X/%X dépasse max_slot_wal_keep_size"
+#~ msgid "invalidating slot \"%s\" because its restart_lsn %X/%08X exceeds max_slot_wal_keep_size"
+#~ msgstr "invalidation du slot « %s » parce que son restart_lsn %X/%08X dépasse max_slot_wal_keep_size"
 
 #~ msgid "krb5 authentication is not supported on local sockets"
 #~ msgstr ""
@@ -34468,8 +34468,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgstr "opérateur d'affectation manquant"
 
 #, c-format
-#~ msgid "missing contrecord at %X/%X"
-#~ msgstr "contrecord manquant à %X/%X"
+#~ msgid "missing contrecord at %X/%08X"
+#~ msgstr "contrecord manquant à %X/%08X"
 
 #~ msgid "missing data for OID column"
 #~ msgstr "données manquantes pour la colonne OID"
@@ -34673,8 +34673,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgstr "doit avoir l'attribut CREATEROLE"
 
 #, c-format
-#~ msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
-#~ msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_IS_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
+#~ msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%08X"
+#~ msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_IS_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%08X"
 
 #~ msgid "neither input type is an array"
 #~ msgstr "aucun type de données n'est un tableau"
@@ -34918,18 +34918,18 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgstr "paquet du mot de passe reçu"
 
 #, c-format
-#~ msgid "record length %u at %X/%X too long"
-#~ msgstr "longueur trop importante de l'enregistrement %u à %X/%X"
+#~ msgid "record length %u at %X/%08X too long"
+#~ msgstr "longueur trop importante de l'enregistrement %u à %X/%08X"
 
-#~ msgid "record with zero length at %X/%X"
-#~ msgstr "enregistrement de longueur nulle à %X/%X"
+#~ msgid "record with zero length at %X/%08X"
+#~ msgstr "enregistrement de longueur nulle à %X/%08X"
 
 #~ msgid "recovery is still in progress, can't accept WAL streaming connections"
 #~ msgstr "la restauration est en cours, ne peut pas accepter les connexions de flux WAL"
 
-#~ msgid "recovery restart point at %X/%X with latest known log time %s"
+#~ msgid "recovery restart point at %X/%08X with latest known log time %s"
 #~ msgstr ""
-#~ "point de relancement de la restauration sur %X/%X avec %s comme dernière\n"
+#~ "point de relancement de la restauration sur %X/%08X avec %s comme dernière\n"
 #~ "date connue du journal"
 
 #~ msgid "recovery_target_time is not a valid timestamp: \"%s\""
@@ -34941,11 +34941,11 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgid "recycled write-ahead log file \"%s\""
 #~ msgstr "recyclage du journal de transactions « %s »"
 
-#~ msgid "redo record is at %X/%X; shutdown %s"
-#~ msgstr "l'enregistrement à ré-exécuter se trouve à %X/%X ; arrêt %s"
+#~ msgid "redo record is at %X/%08X; shutdown %s"
+#~ msgstr "l'enregistrement à ré-exécuter se trouve à %X/%08X ; arrêt %s"
 
-#~ msgid "redo starts at %X/%X, consistency will be reached at %X/%X"
-#~ msgstr "la restauration comme à %X/%X, la cohérence sera atteinte à %X/%X"
+#~ msgid "redo starts at %X/%08X, consistency will be reached at %X/%08X"
+#~ msgstr "la restauration comme à %X/%08X, la cohérence sera atteinte à %X/%08X"
 
 #, c-format
 #~ msgid "reference to parent directory (\"..\") not allowed"
@@ -35128,8 +35128,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgid "skipping redundant vacuum to prevent wraparound of table \"%s.%s.%s\""
 #~ msgstr "ignore un VACUUM redondant pour éviter le rebouclage des identifiants dans la table \"%s.%s.%s\""
 
-#~ msgid "skipping restartpoint, already performed at %X/%X"
-#~ msgstr "ignore le point de redémarrage, déjà réalisé à %X/%X"
+#~ msgid "skipping restartpoint, already performed at %X/%08X"
+#~ msgstr "ignore le point de redémarrage, déjà réalisé à %X/%08X"
 
 #~ msgid "skipping restartpoint, recovery has already ended"
 #~ msgstr "restartpoint ignoré, la récupération est déjà terminée"
@@ -35328,8 +35328,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgid "there are objects dependent on %s"
 #~ msgstr "des objets dépendent de %s"
 
-#~ msgid "there is no contrecord flag at %X/%X reading %X/%X"
-#~ msgstr "il n'existe pas de drapeau contrecord à %X/%X en lisant %X/%X"
+#~ msgid "there is no contrecord flag at %X/%08X reading %X/%08X"
+#~ msgstr "il n'existe pas de drapeau contrecord à %X/%08X en lisant %X/%08X"
 
 #~ msgid "there is no contrecord flag in log file %u, segment %u, offset %u"
 #~ msgstr ""
@@ -35449,8 +35449,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgstr "fin de ligne ou de lexeme inattendu sur la ligne %d du thesaurus « %s »"
 
 #, c-format
-#~ msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
-#~ msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, segment %u"
+#~ msgid "unexpected pageaddr %X/%08X in log segment %s, offset %u"
+#~ msgstr "pageaddr %X/%08X inattendue dans le journal de transactions %s, segment %u"
 
 #~ msgid "unexpected standby message type \"%c\", after receiving CopyDone"
 #~ msgstr "type de message standby « %c » inattendu, après avoir reçu CopyDone"
@@ -35495,8 +35495,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgid "unsupported language \"%s\""
 #~ msgstr "langage non supporté « %s »"
 
-#~ msgid "updated min recovery point to %X/%X on timeline %u"
-#~ msgstr "mise à jour du point minimum de restauration sur %X/%X pour la timeline %u"
+#~ msgid "updated min recovery point to %X/%08X on timeline %u"
+#~ msgstr "mise à jour du point minimum de restauration sur %X/%08X pour la timeline %u"
 
 #~ msgid "updated partition constraint for default partition \"%s\" is implied by existing constraints"
 #~ msgstr "la contrainte de partitionnement pour la partition par défaut « %s » est implicite du fait de contraintes existantes"
@@ -35512,8 +35512,8 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ "utilisation des informations de pg_pltemplate au lieu des paramètres de\n"
 #~ "CREATE LANGUAGE"
 
-#~ msgid "using previous checkpoint record at %X/%X"
-#~ msgstr "utilisation du précédent enregistrement d'un point de vérification à %X/%X"
+#~ msgid "using previous checkpoint record at %X/%08X"
+#~ msgstr "utilisation du précédent enregistrement d'un point de vérification à %X/%08X"
 
 #, c-format
 #~ msgid "using stale statistics instead of current ones because stats collector is not responding"
diff --git a/src/backend/po/id.po b/src/backend/po/id.po
index d5d484132b7..f9b0b0b9d8a 100644
--- a/src/backend/po/id.po
+++ b/src/backend/po/id.po
@@ -911,8 +911,8 @@ msgstr "tidak dapat menulis ke file log %s pada offset %u, panjang %lu : %m"
 
 #: access/transam/xlog.c:1877
 #, c-format
-msgid "updated min recovery point to %X/%X on timeline %u"
-msgstr "point pemulihan diperbaharui %X/%X pada lini waktu %u"
+msgid "updated min recovery point to %X/%08X on timeline %u"
+msgstr "point pemulihan diperbaharui %X/%08X pada lini waktu %u"
 
 #: access/transam/xlog.c:2452
 #, c-format
@@ -1001,10 +1001,10 @@ msgstr "lini waktu baru %u bukan anak dari lini waktu sistem database %u"
 
 #: access/transam/xlog.c:3438
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
 msgstr ""
 "la nouvelle timeline %u a été créée à partir de la timeline de la base de données système %u\n"
-"avant le point de restauration courant %X/%X"
+"avant le point de restauration courant %X/%08X"
 
 #: access/transam/xlog.c:3457
 #, c-format
@@ -1372,8 +1372,8 @@ msgstr "Gagal ketika prosesor membaca pengalokasian XLog "
 
 #: access/transam/xlog.c:5029 access/transam/xlog.c:5096
 #, c-format
-msgid "checkpoint record is at %X/%X"
-msgstr "'chechpoint record' pada %X/%X"
+msgid "checkpoint record is at %X/%08X"
+msgstr "'chechpoint record' pada %X/%08X"
 
 #: access/transam/xlog.c:5043
 #, c-format
@@ -1397,8 +1397,8 @@ msgstr "tidak dapat menemukan 'checkpoint record' yang valid"
 
 #: access/transam/xlog.c:5115
 #, c-format
-msgid "using previous checkpoint record at %X/%X"
-msgstr "mengunakan 'checkpoint record' sebelumnya pada %X/%X"
+msgid "using previous checkpoint record at %X/%08X"
+msgstr "mengunakan 'checkpoint record' sebelumnya pada %X/%08X"
 
 #: access/transam/xlog.c:5145
 #, c-format
@@ -1407,18 +1407,18 @@ msgstr "lini waktu yang diperlukan %u bukan anak dari histori server ini"
 
 #: access/transam/xlog.c:5147
 #, c-format
-msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
-msgstr "'checkpoint' terakhir pada %X/%X dalam lini waktu %u, tapi dalam histori dari lini waktu yang diperlukan,'forked' server mati dari lini waktu ini pada %X/%X."
+msgid "Latest checkpoint is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
+msgstr "'checkpoint' terakhir pada %X/%08X dalam lini waktu %u, tapi dalam histori dari lini waktu yang diperlukan,'forked' server mati dari lini waktu ini pada %X/%08X."
 
 #: access/transam/xlog.c:5163
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
-msgstr "lini waktu yang diperlukan, %u, tidak termasuk titik pemulihan minimal (%X/%X) dalam lini waktu%u"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
+msgstr "lini waktu yang diperlukan, %u, tidak termasuk titik pemulihan minimal (%X/%08X) dalam lini waktu%u"
 
 #: access/transam/xlog.c:5172
 #, c-format
-msgid "redo record is at %X/%X; shutdown %s"
-msgstr "'redo record' pada %X/%X ; mati %s"
+msgid "redo record is at %X/%08X; shutdown %s"
+msgstr "'redo record' pada %X/%08X ; mati %s"
 
 #: access/transam/xlog.c:5176
 #, c-format
@@ -1484,13 +1484,13 @@ msgstr "initisasi untuk « Hot Standby »"
 
 #: access/transam/xlog.c:5530
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "memulai kembali %X/%X"
+msgid "redo starts at %X/%08X"
+msgstr "memulai kembali %X/%08X"
 
 #: access/transam/xlog.c:5722
 #, c-format
-msgid "redo done at %X/%X"
-msgstr "'redo' selesai pada %X/%X"
+msgid "redo done at %X/%08X"
+msgstr "'redo' selesai pada %X/%08X"
 
 #: access/transam/xlog.c:5727 access/transam/xlog.c:7582
 #, c-format
@@ -1534,8 +1534,8 @@ msgstr "ID lini waktu baru yang dipilih : %u"
 
 #: access/transam/xlog.c:6203
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "status pemulihan yang sesuai dijangkau pada %X/%X"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "status pemulihan yang sesuai dijangkau pada %X/%08X"
 
 #: access/transam/xlog.c:6386
 #, c-format
@@ -1634,18 +1634,18 @@ msgstr "melewatkan 'restartpoint', pemulihan telah selesai"
 
 #: access/transam/xlog.c:7419
 #, c-format
-msgid "skipping restartpoint, already performed at %X/%X"
-msgstr "melewatkan 'restartpoint', sudah dilakukan pada %X/%X"
+msgid "skipping restartpoint, already performed at %X/%08X"
+msgstr "melewatkan 'restartpoint', sudah dilakukan pada %X/%08X"
 
 #: access/transam/xlog.c:7580
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "pemulihan 'restart point' pada %X/%X"
+msgid "recovery restart point at %X/%08X"
+msgstr "pemulihan 'restart point' pada %X/%08X"
 
 #: access/transam/xlog.c:7706
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "pemulihan 'point' « %s » dibuat pada %X/%X"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "pemulihan 'point' « %s » dibuat pada %X/%08X"
 
 #: access/transam/xlog.c:7921
 #, c-format
@@ -1659,8 +1659,8 @@ msgstr "ID lini waktu tidak terduga %u (setelah %u) pada 'checkpoint record'"
 
 #: access/transam/xlog.c:7946
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
-msgstr "ID lini waktu tidak terduga %u pada 'chechpoint record', sebelum mencapai titik pemulihan minimal %X/%X pada lini waktu %u"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
+msgstr "ID lini waktu tidak terduga %u pada 'chechpoint record', sebelum mencapai titik pemulihan minimal %X/%08X pada lini waktu %u"
 
 #: access/transam/xlog.c:8013
 #, c-format
@@ -12862,13 +12862,13 @@ msgstr "lini waktu paling tinggi %u dari yang utama ada di belakang lini waktu p
 
 #: replication/walreceiver.c:364
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
-msgstr "memulai streaming WAL dari yang utama di %X/%X pada lini waktu %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
+msgstr "memulai streaming WAL dari yang utama di %X/%08X pada lini waktu %u"
 
 #: replication/walreceiver.c:369
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "memulai ulang perubahan WAL pada %X/%X dari liniwaktu %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
+msgstr "memulai ulang perubahan WAL pada %X/%08X dari liniwaktu %u"
 
 #: replication/walreceiver.c:403
 #, c-format
@@ -12882,8 +12882,8 @@ msgstr "replikasi diputus oleh server utama"
 
 #: replication/walreceiver.c:441
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "Akhir WAL sudah tercapai pada lini waktu %u sampai %X/%X"
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "Akhir WAL sudah tercapai pada lini waktu %u sampai %X/%08X"
 
 #: replication/walreceiver.c:488
 #, c-format
@@ -12922,18 +12922,18 @@ msgstr "tak dapat mencapai awal file « %s » : %m"
 
 #: replication/walsender.c:484
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
-msgstr "titik mulai yang diminta %X/%X dari lini waktu %u tidak ada dalam histori server ini"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
+msgstr "titik mulai yang diminta %X/%08X dari lini waktu %u tidak ada dalam histori server ini"
 
 #: replication/walsender.c:488
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "Histori server ini berasal dari lini waktu %u di %X/%X."
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "Histori server ini berasal dari lini waktu %u di %X/%08X."
 
 #: replication/walsender.c:533
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
-msgstr "titik mulai yg diminta %X/%X lebih awal dari posisi pengosongan WAL server ini %X/%X"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
+msgstr "titik mulai yg diminta %X/%08X lebih awal dari posisi pengosongan WAL server ini %X/%08X"
 
 #: replication/walsender.c:707 replication/walsender.c:757 replication/walsender.c:806
 #, c-format
diff --git a/src/backend/po/it.po b/src/backend/po/it.po
index 51b69431edd..b08b7a816ef 100644
--- a/src/backend/po/it.po
+++ b/src/backend/po/it.po
@@ -1785,18 +1785,18 @@ msgstr "Errore nell'allocazione di un processore di lettura del WAL."
 
 #: access/transam/twophase.c:1424
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X: %s"
-msgstr "impossibile leggere lo stato a due fasi del WAL a %X/%X: %s"
+msgid "could not read two-phase state from WAL at %X/%08X: %s"
+msgstr "impossibile leggere lo stato a due fasi del WAL a %X/%08X: %s"
 
 #: access/transam/twophase.c:1429
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "lettura dello stato a due fasi dal WAL a %X/%X fallita"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "lettura dello stato a due fasi dal WAL a %X/%08X fallita"
 
 #: access/transam/twophase.c:1437
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
-msgstr "i dati attesi sullo stato a due fasi non sono presenti nel WAL a %X/%X"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
+msgstr "i dati attesi sullo stato a due fasi non sono presenti nel WAL a %X/%08X"
 
 #: access/transam/twophase.c:1733
 #, c-format
@@ -1982,8 +1982,8 @@ msgstr "non è possibile avere più di 2^32-1 comandi in una sottotransazione"
 
 #: access/transam/xlog.c:1463
 #, c-format
-msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
-msgstr "richiesta di svuotare oltre la fine del WAL generato; richiesta %X/%X, posizione attuale %X/%X"
+msgid "request to flush past end of generated WAL; request %X/%08X, current position %X/%08X"
+msgstr "richiesta di svuotare oltre la fine del WAL generato; richiesta %X/%08X, posizione attuale %X/%08X"
 
 #: access/transam/xlog.c:2224
 #, c-format
@@ -2271,8 +2271,8 @@ msgstr "attività concorrente del log write-ahead mentre il database è in fase
 
 #: access/transam/xlog.c:7163
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "punto di avvio del ripristino in %X/%X"
+msgid "recovery restart point at %X/%08X"
+msgstr "punto di avvio del ripristino in %X/%08X"
 
 #: access/transam/xlog.c:7165
 #, c-format
@@ -2281,8 +2281,8 @@ msgstr "L'ultima transazione completata è stata registrata all'ora %s."
 
 #: access/transam/xlog.c:7412
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "punto di ripristino \"%s\" creato in %X/%X"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "punto di ripristino \"%s\" creato in %X/%08X"
 
 #: access/transam/xlog.c:7619
 #, c-format
@@ -2516,18 +2516,18 @@ msgstr "recovery_prefetch non è supportato su piattaforme prive di posix_fadvis
 
 #: access/transam/xlogreader.c:625
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "offset del record non valido a %X/%X"
+msgid "invalid record offset at %X/%08X"
+msgstr "offset del record non valido a %X/%08X"
 
 #: access/transam/xlogreader.c:633
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord richiesto da %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord richiesto da %X/%08X"
 
 #: access/transam/xlogreader.c:674 access/transam/xlogreader.c:1121
 #, c-format
-msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "lunghezza del record a %X/%X non valida: atteso %u, ricevuto %u"
+msgid "invalid record length at %X/%08X: wanted %u, got %u"
+msgstr "lunghezza del record a %X/%08X non valida: atteso %u, ricevuto %u"
 
 #: access/transam/xlogreader.c:703
 #, c-format
@@ -2536,38 +2536,38 @@ msgstr "memoria insufficiente durante il tentativo di decodificare un record di
 
 #: access/transam/xlogreader.c:725
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "lunghezza del record %u a %X/%X eccessiva"
+msgid "record length %u at %X/%08X too long"
+msgstr "lunghezza del record %u a %X/%08X eccessiva"
 
 #: access/transam/xlogreader.c:774
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "non c'è un flag di contrecord a %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "non c'è un flag di contrecord a %X/%08X"
 
 #: access/transam/xlogreader.c:787
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "lunghezza contrada non valida %u (prevista %lld) a %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "lunghezza contrada non valida %u (prevista %lld) a %X/%08X"
 
 #: access/transam/xlogreader.c:922
 #, c-format
-msgid "missing contrecord at %X/%X"
-msgstr "record mancante a %X/%X"
+msgid "missing contrecord at %X/%08X"
+msgstr "record mancante a %X/%08X"
 
 #: access/transam/xlogreader.c:1129
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ID gestore risorse %u non valido su %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ID gestore risorse %u non valido su %X/%08X"
 
 #: access/transam/xlogreader.c:1142 access/transam/xlogreader.c:1158
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "record con link-precedente %X/%X non corretto a %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "record con link-precedente %X/%08X non corretto a %X/%08X"
 
 #: access/transam/xlogreader.c:1194
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "checksum dei dati del manager di risorse non corretto nel record a %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "checksum dei dati del manager di risorse non corretto nel record a %X/%08X"
 
 #: access/transam/xlogreader.c:1231
 #, c-format
@@ -2596,8 +2596,8 @@ msgstr "Il file di WAL è di un database diverso: XLOG_BLCKSZ non corretto nell'
 
 #: access/transam/xlogreader.c:1305
 #, c-format
-msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
-msgstr "pageaddr inaspettato %X/%X nel segmento di log %s, offset %u"
+msgid "unexpected pageaddr %X/%08X in log segment %s, offset %u"
+msgstr "pageaddr inaspettato %X/%08X nel segmento di log %s, offset %u"
 
 #: access/transam/xlogreader.c:1330
 #, c-format
@@ -2606,53 +2606,53 @@ msgstr "rilevato ID della timeline %u (dopo %u) fuori sequenza nel segmento di l
 
 #: access/transam/xlogreader.c:1735
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id fuori sequenza %u a %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id fuori sequenza %u a %X/%08X"
 
 #: access/transam/xlogreader.c:1759
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA impostato, ma dati non inclusi a %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA impostato, ma dati non inclusi a %X/%08X"
 
 #: access/transam/xlogreader.c:1766
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA non impostato, ma la lunghezza dei dati è %u a %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA non impostato, ma la lunghezza dei dati è %u a %X/%08X"
 
 #: access/transam/xlogreader.c:1802
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE impostato, ma offset buco %u lunghezza %u lunghezza dell'immagine del blocco %u a %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE impostato, ma offset buco %u lunghezza %u lunghezza dell'immagine del blocco %u a %X/%08X"
 
 #: access/transam/xlogreader.c:1818
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE non impostato, ma offset buco %u lunghezza %u a %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE non impostato, ma offset buco %u lunghezza %u a %X/%08X"
 
 #: access/transam/xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED impostato, ma blocca la lunghezza dell'immagine %u a %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED impostato, ma blocca la lunghezza dell'immagine %u a %X/%08X"
 
 #: access/transam/xlogreader.c:1847
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "né BKPIMAGE_HAS_HOLE né BKPIMAGE_COMPRESSED impostati, ma la lunghezza dell'immagine del blocco è %u a %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "né BKPIMAGE_HAS_HOLE né BKPIMAGE_COMPRESSED impostati, ma la lunghezza dell'immagine del blocco è %u a %X/%08X"
 
 #: access/transam/xlogreader.c:1863
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL impostato ma non c'è un rel precedente a %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL impostato ma non c'è un rel precedente a %X/%08X"
 
 #: access/transam/xlogreader.c:1875
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "block_id %u non valido a %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "block_id %u non valido a %X/%08X"
 
 #: access/transam/xlogreader.c:1942
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "record con lunghezza non valida a %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "record con lunghezza non valida a %X/%08X"
 
 #: access/transam/xlogreader.c:1967
 #, c-format
@@ -2661,28 +2661,28 @@ msgstr "impossibile individuare il blocco di backup con ID %d nel record WAL"
 
 #: access/transam/xlogreader.c:2051
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "impossibile ripristinare l'immagine in %X/%X con il blocco %d non valido specificato"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "impossibile ripristinare l'immagine in %X/%08X con il blocco %d non valido specificato"
 
 #: access/transam/xlogreader.c:2058
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "impossibile ripristinare l'immagine in %X/%X con stato non valido, blocco %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "impossibile ripristinare l'immagine in %X/%08X con stato non valido, blocco %d"
 
 #: access/transam/xlogreader.c:2085 access/transam/xlogreader.c:2102
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "impossibile ripristinare l'immagine in %X/%X compressa con %s non supportata da build, blocco %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "impossibile ripristinare l'immagine in %X/%08X compressa con %s non supportata da build, blocco %d"
 
 #: access/transam/xlogreader.c:2111
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "impossibile ripristinare l'immagine in %X/%X compressa con metodo sconosciuto, blocco %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "impossibile ripristinare l'immagine in %X/%08X compressa con metodo sconosciuto, blocco %d"
 
 #: access/transam/xlogreader.c:2119
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "impossibile decomprimere l'immagine in %X/%X, blocco %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "impossibile decomprimere l'immagine in %X/%08X, blocco %d"
 
 #: access/transam/xlogrecovery.c:526
 #, c-format
@@ -2706,8 +2706,8 @@ msgstr "avvio del ripristino point-in-time a \"%s\""
 
 #: access/transam/xlogrecovery.c:541
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "avvio del ripristino point-in-time alla locazione WAL (LSN) \"%X/%X\""
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
+msgstr "avvio del ripristino point-in-time alla locazione WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:545
 #, c-format
@@ -2772,13 +2772,13 @@ msgstr "la timeline richiesta %u non è figlia della storia di questo server"
 
 #: access/transam/xlogrecovery.c:791
 #, c-format
-msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
-msgstr "L'ultimo checkpoint è a %X/%X sulla timeline %u, ma nella storia della timeline richiesta, il server si è separato da quella timeline a %X/%X."
+msgid "Latest checkpoint is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
+msgstr "L'ultimo checkpoint è a %X/%08X sulla timeline %u, ma nella storia della timeline richiesta, il server si è separato da quella timeline a %X/%08X."
 
 #: access/transam/xlogrecovery.c:805
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
-msgstr "la timeline richiesta %u non contiene il punto di recupero minimo %X/%X sulla timeline %u"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
+msgstr "la timeline richiesta %u non contiene il punto di recupero minimo %X/%08X sulla timeline %u"
 
 #: access/transam/xlogrecovery.c:833
 #, c-format
@@ -2852,13 +2852,13 @@ msgstr "L'ID sequenza temporale analizzato è %u, ma previsto %u."
 
 #: access/transam/xlogrecovery.c:1641
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "il redo inizia in %X/%X"
+msgid "redo starts at %X/%08X"
+msgstr "il redo inizia in %X/%08X"
 
 #: access/transam/xlogrecovery.c:1654
 #, c-format
-msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
-msgstr "ripetizione in corso, tempo trascorso: %ld.%02d s, LSN corrente: %X/%X"
+msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%08X"
+msgstr "ripetizione in corso, tempo trascorso: %ld.%02d s, LSN corrente: %X/%08X"
 
 #: access/transam/xlogrecovery.c:1746
 #, c-format
@@ -2867,8 +2867,8 @@ msgstr "lo stop point di ripristino è posto prima di un punto di ripristino con
 
 #: access/transam/xlogrecovery.c:1778
 #, c-format
-msgid "redo done at %X/%X system usage: %s"
-msgstr "ripetizione eseguita con utilizzo del sistema %X/%X: %s"
+msgid "redo done at %X/%08X system usage: %s"
+msgstr "ripetizione eseguita con utilizzo del sistema %X/%08X: %s"
 
 #: access/transam/xlogrecovery.c:1784
 #, c-format
@@ -2887,8 +2887,8 @@ msgstr "il ripristino è terminato prima del raggiungimento della destinazione d
 
 #: access/transam/xlogrecovery.c:1979
 #, c-format
-msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
-msgstr "saltato con successo il record mancante a %X/%X, sovrascritto a %s"
+msgid "successfully skipped missing contrecord at %X/%08X, overwritten at %s"
+msgstr "saltato con successo il record mancante a %X/%08X, sovrascritto a %s"
 
 #: access/transam/xlogrecovery.c:2046
 #, c-format
@@ -2907,14 +2907,14 @@ msgstr "Rimuovere quelle directory o impostare allow_in_place_tablespaces su ON
 
 #: access/transam/xlogrecovery.c:2123
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "è stato raggiunto uno stato di ripristino consistente a %X/%X"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "è stato raggiunto uno stato di ripristino consistente a %X/%08X"
 
 #. translator: %s is a WAL record description
 #: access/transam/xlogrecovery.c:2161
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "Ripristino WAL a %X/%X per %s"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "Ripristino WAL a %X/%08X per %s"
 
 #: access/transam/xlogrecovery.c:2257
 #, c-format
@@ -2928,8 +2928,8 @@ msgstr "timeline ID %u imprevista (dopo %u) nel record di checkpoint"
 
 #: access/transam/xlogrecovery.c:2282
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
-msgstr "timeline ID %u imprevista nel record di checkpoint, prima di raggiungere il punto di recupero minimo %X/%X sulla timeline %u"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
+msgstr "timeline ID %u imprevista nel record di checkpoint, prima di raggiungere il punto di recupero minimo %X/%08X sulla timeline %u"
 
 #: access/transam/xlogrecovery.c:2466 access/transam/xlogrecovery.c:2737
 #, c-format
@@ -2938,8 +2938,8 @@ msgstr "il ripristino è stato interrotto dopo aver raggiunto la consistenza"
 
 #: access/transam/xlogrecovery.c:2487
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "il ripristino è stato interrotto prima della locazione WAL (LSN) \"%X/%X\""
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "il ripristino è stato interrotto prima della locazione WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:2572
 #, c-format
@@ -2958,8 +2958,8 @@ msgstr "il ripristino è stato interrotto al punto di ripristino \"%s\" alle %s"
 
 #: access/transam/xlogrecovery.c:2650
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "il ripristino è stato interrotto dopo la locazione WAL (LSN) \"%X/%X\""
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "il ripristino è stato interrotto dopo la locazione WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:2717
 #, c-format
@@ -3063,8 +3063,8 @@ msgstr "la nuova timeline %u non è figlia della timeline %u del database"
 
 #: access/transam/xlogrecovery.c:4074
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
-msgstr "la nuova timeline %u si è staccata dalla timeline attuale %u prima del punto di recupero corrente %X/%X"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
+msgstr "la nuova timeline %u si è staccata dalla timeline attuale %u prima del punto di recupero corrente %X/%08X"
 
 #: access/transam/xlogrecovery.c:4093
 #, c-format
@@ -9317,8 +9317,8 @@ msgstr "deve essere superutente per saltare la transazione"
 
 #: commands/subscriptioncmds.c:1278
 #, c-format
-msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
-msgstr "ignora la posizione WAL (LSN %X/%X) deve essere maggiore dell'origine LSN %X/%X"
+msgid "skip WAL location (LSN %X/%08X) must be greater than origin LSN %X/%08X"
+msgstr "ignora la posizione WAL (LSN %X/%08X) deve essere maggiore dell'origine LSN %X/%08X"
 
 #: commands/subscriptioncmds.c:1358
 #, c-format
@@ -19344,13 +19344,13 @@ msgstr "avvio della decodifica logica per lo slot \"%s\""
 
 #: replication/logical/logical.c:570
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
-msgstr "Commit delle transazioni streaming dopo %X/%X, lettura del WAL dopo %X/%X."
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
+msgstr "Commit delle transazioni streaming dopo %X/%08X, lettura del WAL dopo %X/%08X."
 
 #: replication/logical/logical.c:718
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
-msgstr "slot \"%s\", plugin di output \"%s\", nel callback %s, LSN associato %X/%X"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
+msgstr "slot \"%s\", plugin di output \"%s\", nel callback %s, LSN associato %X/%08X"
 
 #: replication/logical/logical.c:724
 #, c-format
@@ -19454,8 +19454,8 @@ msgstr "nessuno stato di replica libero trovato, incrementa \"max_replication_sl
 
 #: replication/logical/origin.c:790
 #, c-format
-msgid "recovered replication state of node %d to %X/%X"
-msgstr "stato di replica ripristinato dal nodo %d a %X/%X"
+msgid "recovered replication state of node %d to %X/%08X"
+msgstr "stato di replica ripristinato dal nodo %d a %X/%08X"
 
 #: replication/logical/origin.c:800
 #, c-format
@@ -19563,8 +19563,8 @@ msgstr[1] "snapshot di decidifica logica esportati: \"%s\" con %u ID di transazi
 
 #: replication/logical/snapbuild.c:1357 replication/logical/snapbuild.c:1464 replication/logical/snapbuild.c:1993
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "la decodifica logica ha trovato un punto consistente a %X/%X"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "la decodifica logica ha trovato un punto consistente a %X/%08X"
 
 #: replication/logical/snapbuild.c:1359
 #, c-format
@@ -19573,8 +19573,8 @@ msgstr "Non ci sono transazioni in corso."
 
 #: replication/logical/snapbuild.c:1415
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "la decodifica logica ha trovato un punto di avvio iniziale a %X/%X"
+msgid "logical decoding found initial starting point at %X/%08X"
+msgstr "la decodifica logica ha trovato un punto di avvio iniziale a %X/%08X"
 
 #: replication/logical/snapbuild.c:1417 replication/logical/snapbuild.c:1441
 #, c-format
@@ -19583,8 +19583,8 @@ msgstr "In attesa che alcune transazioni (circa %d) più vecchie di %u finiscano
 
 #: replication/logical/snapbuild.c:1439
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
-msgstr "la decodifica logica ha trovato il punto iniziale consistente a %X/%X"
+msgid "logical decoding found initial consistent point at %X/%08X"
+msgstr "la decodifica logica ha trovato il punto iniziale consistente a %X/%08X"
 
 #: replication/logical/snapbuild.c:1466
 #, c-format
@@ -19758,13 +19758,13 @@ msgstr "la sottoscrizione \"%s\" è stata disabilitata a causa di un errore"
 
 #: replication/logical/worker.c:3879
 #, c-format
-msgid "logical replication starts skipping transaction at LSN %X/%X"
-msgstr "la replica logica inizia a saltare la transazione su LSN %X/%X"
+msgid "logical replication starts skipping transaction at LSN %X/%08X"
+msgstr "la replica logica inizia a saltare la transazione su LSN %X/%08X"
 
 #: replication/logical/worker.c:3893
 #, c-format
-msgid "logical replication completed skipping transaction at LSN %X/%X"
-msgstr "replica logica completata ignorando la transazione su LSN %X/%X"
+msgid "logical replication completed skipping transaction at LSN %X/%08X"
+msgstr "replica logica completata ignorando la transazione su LSN %X/%08X"
 
 #: replication/logical/worker.c:3975
 #, c-format
@@ -19773,8 +19773,8 @@ msgstr "skip-LSN della sottoscrizione \"%s\" cancellato"
 
 #: replication/logical/worker.c:3976
 #, c-format
-msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X."
-msgstr "La posizione WAL finale (LSN) %X/%X della transazione remota non corrispondeva a skip-LSN %X/%X."
+msgid "Remote transaction's finish WAL location (LSN) %X/%08X did not match skip-LSN %X/%08X."
+msgstr "La posizione WAL finale (LSN) %X/%08X della transazione remota non corrispondeva a skip-LSN %X/%08X."
 
 #: replication/logical/worker.c:4002
 #, c-format
@@ -19788,18 +19788,18 @@ msgstr "elaborazione dei dati remoti per l'origine della replica \"%s\" durante
 
 #: replication/logical/worker.c:4011
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X"
-msgstr "elaborazione dei dati remoti per l'origine della replica \"%s\" durante il tipo di messaggio \"%s\" nella transazione %u, terminata alle %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%08X"
+msgstr "elaborazione dei dati remoti per l'origine della replica \"%s\" durante il tipo di messaggio \"%s\" nella transazione %u, terminata alle %X/%08X"
 
 #: replication/logical/worker.c:4018
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X"
-msgstr "elaborazione dei dati remoti per l'origine della replica \"%s\" durante il tipo di messaggio \"%s\" per la relazione di destinazione della replica \"%s.%s\" nella transazione %u, terminata alle %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%08X"
+msgstr "elaborazione dei dati remoti per l'origine della replica \"%s\" durante il tipo di messaggio \"%s\" per la relazione di destinazione della replica \"%s.%s\" nella transazione %u, terminata alle %X/%08X"
 
 #: replication/logical/worker.c:4026
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X"
-msgstr "elaborazione dei dati remoti per l'origine della replica \"%s\" durante il tipo di messaggio \"%s\" per la relazione di destinazione della replica \"%s.%s\" colonna \"%s\" nella transazione %u, terminata alle %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%08X"
+msgstr "elaborazione dei dati remoti per l'origine della replica \"%s\" durante il tipo di messaggio \"%s\" per la relazione di destinazione della replica \"%s.%s\" colonna \"%s\" nella transazione %u, terminata alle %X/%08X"
 
 #: replication/pgoutput/pgoutput.c:319
 #, c-format
@@ -19923,8 +19923,8 @@ msgstr "terminazione del processo %d per rilasciare lo slot di replica \"%s\""
 
 #: replication/slot.c:1333
 #, c-format
-msgid "invalidating slot \"%s\" because its restart_lsn %X/%X exceeds max_slot_wal_keep_size"
-msgstr "invalidando lo slot \"%s\" perché il suo restart_lsn %X/%X supera max_slot_wal_keep_size"
+msgid "invalidating slot \"%s\" because its restart_lsn %X/%08X exceeds max_slot_wal_keep_size"
+msgstr "invalidando lo slot \"%s\" perché il suo restart_lsn %X/%08X supera max_slot_wal_keep_size"
 
 #: replication/slot.c:1785
 #, c-format
@@ -19983,8 +19983,8 @@ msgstr "lo slot di replica \"%s\" non può essere avanzato"
 
 #: replication/slotfuncs.c:632
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
-msgstr "non è possibile avanzare lo slot di replica a %X/%X, il minimo è %X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
+msgstr "non è possibile avanzare lo slot di replica a %X/%08X, il minimo è %X/%08X"
 
 #: replication/slotfuncs.c:739
 #, c-format
@@ -20083,13 +20083,13 @@ msgstr "la timeline massima %u del primario è dietro la timeline di recupero %u
 
 #: replication/walreceiver.c:404
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
-msgstr "streaming WAL avviato dal primario a %X/%X sulla timeline %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
+msgstr "streaming WAL avviato dal primario a %X/%08X sulla timeline %u"
 
 #: replication/walreceiver.c:408
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "streaming WAL riavviato sulla timeline %X/%X sulla timeline %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
+msgstr "streaming WAL riavviato sulla timeline %X/%08X sulla timeline %u"
 
 #: replication/walreceiver.c:437
 #, c-format
@@ -20103,8 +20103,8 @@ msgstr "replica terminata dal server primario"
 
 #: replication/walreceiver.c:476
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "Fine del WAL raggiunta sulla timeline %u a %X/%X."
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "Fine del WAL raggiunta sulla timeline %u a %X/%08X."
 
 #: replication/walreceiver.c:565
 #, c-format
@@ -20153,18 +20153,18 @@ msgstr "non si può usare una slot di replica logico per la replica fisica"
 
 #: replication/walsender.c:785
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
-msgstr "il punto di avvio richiesto %X/%X sulla timeline %u non è nella storia di questo server"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
+msgstr "il punto di avvio richiesto %X/%08X sulla timeline %u non è nella storia di questo server"
 
 #: replication/walsender.c:788
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "La storia di questo server si è separata dalla timeline %u a %X/%X."
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "La storia di questo server si è separata dalla timeline %u a %X/%08X."
 
 #: replication/walsender.c:832
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
-msgstr "il punto di avvio richiesto %X/%X è più avanti della posizione di flush del WAL %X/%X di questo server"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
+msgstr "il punto di avvio richiesto %X/%08X è più avanti della posizione di flush del WAL %X/%08X di questo server"
 
 #: replication/walsender.c:1015
 #, c-format
diff --git a/src/backend/po/ja.po b/src/backend/po/ja.po
index 5309f0ca14d..8610fc96116 100644
--- a/src/backend/po/ja.po
+++ b/src/backend/po/ja.po
@@ -2012,18 +2012,18 @@ msgstr "WALリーダの割り当てに中に失敗しました。"
 
 #: access/transam/twophase.c:1429
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X: %s"
-msgstr "WALの%X/%Xから2相状態を読み取れませんでした: %s"
+msgid "could not read two-phase state from WAL at %X/%08X: %s"
+msgstr "WALの%X/%08Xから2相状態を読み取れませんでした: %s"
 
 #: access/transam/twophase.c:1434
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "WALの%X/%Xから2相状態を読み取れませんでした"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "WALの%X/%08Xから2相状態を読み取れませんでした"
 
 #: access/transam/twophase.c:1442
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
-msgstr "WALの%X/%Xにあるはずの2相状態のデータがありません"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
+msgstr "WALの%X/%08Xにあるはずの2相状態のデータがありません"
 
 #: access/transam/twophase.c:1744
 #, c-format
@@ -2078,8 +2078,8 @@ msgstr "トランザクション%uの2相状態ファイルを復元できませ
 
 #: access/transam/twophase.c:2515
 #, c-format
-msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
-msgstr "2相状態ファイルがWALレコード%X/%Xで見つかりましたが、このトランザクションはすでにディスクから復元済みです。"
+msgid "Two-phase state file has been found in WAL record %X/%08X, but this transaction has already been restored from disk."
+msgstr "2相状態ファイルがWALレコード%X/%08Xで見つかりましたが、このトランザクションはすでにディスクから復元済みです。"
 
 #: access/transam/twophase.c:2523 storage/file/fd.c:514 utils/fmgr/dfmgr.c:199
 #, c-format
@@ -2235,13 +2235,13 @@ msgstr "1トランザクション内には 2^32-1 個より多くのサブトラ
 
 #: access/transam/xlog.c:1552
 #, c-format
-msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
-msgstr "生成されたWALより先の位置までのフラッシュ要求; 要求 %X/%X, 現在位置 %X/%X"
+msgid "request to flush past end of generated WAL; request %X/%08X, current position %X/%08X"
+msgstr "生成されたWALより先の位置までのフラッシュ要求; 要求 %X/%08X, 現在位置 %X/%08X"
 
 #: access/transam/xlog.c:1779
 #, c-format
-msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X"
-msgstr "生成されたWALより先の位置までの読み込み要求; 要求 %X/%X, 現在位置 %X/%X"
+msgid "cannot read past end of generated WAL: requested %X/%08X, current position %X/%08X"
+msgstr "生成されたWALより先の位置までの読み込み要求; 要求 %X/%08X, 現在位置 %X/%08X"
 
 #: access/transam/xlog.c:2342 access/transam/xlog.c:4690
 #, c-format
@@ -2490,13 +2490,13 @@ msgstr "チェックポイント開始:%s%s%s%s%s%s%s%s"
 
 #: access/transam/xlog.c:6919
 #, c-format
-msgid "restartpoint complete: wrote %d buffers (%.1f%%), wrote %d SLRU buffers; %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr "リスタートポイント完了: %d個のバッファを出力 (%.1f%%), %d個のSLRUバッファを出力; %d個のWALファイルを追加、%d個を削除、%d個を再利用; 書き出し=%ld.%03d秒, 同期=%ld.%03d秒, 全体=%ld.%03d秒; 同期したファイル=%d, 最長=%ld.%03d秒, 平均=%ld.%03d秒; 距離=%d kB, 予測=%d kB; lsn=%X/%X, 再生lsn=%X/%X"
+msgid "restartpoint complete: wrote %d buffers (%.1f%%), wrote %d SLRU buffers; %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
+msgstr "リスタートポイント完了: %d個のバッファを出力 (%.1f%%), %d個のSLRUバッファを出力; %d個のWALファイルを追加、%d個を削除、%d個を再利用; 書き出し=%ld.%03d秒, 同期=%ld.%03d秒, 全体=%ld.%03d秒; 同期したファイル=%d, 最長=%ld.%03d秒, 平均=%ld.%03d秒; 距離=%d kB, 予測=%d kB; lsn=%X/%08X, 再生lsn=%X/%08X"
 
 #: access/transam/xlog.c:6943
 #, c-format
-msgid "checkpoint complete: wrote %d buffers (%.1f%%), wrote %d SLRU buffers; %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr "チェックポイント完了: %d個のバッファを出力 (%.1f%%), %d個のSLRUバッファを出力; %d個のWALファイルを追加、%d個を削除、%d個を再利用; 書き出し=%ld.%03d秒, 同期=%ld.%03d秒, 全体=%ld.%03d秒; 同期したファイル=%d, 最長=%ld.%03d秒, 平均=%ld.%03d秒; 距離=%d kB, 予測=%d kB; lsn=%X/%X, 再生lsn=%X/%X"
+msgid "checkpoint complete: wrote %d buffers (%.1f%%), wrote %d SLRU buffers; %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
+msgstr "チェックポイント完了: %d個のバッファを出力 (%.1f%%), %d個のSLRUバッファを出力; %d個のWALファイルを追加、%d個を削除、%d個を再利用; 書き出し=%ld.%03d秒, 同期=%ld.%03d秒, 全体=%ld.%03d秒; 同期したファイル=%d, 最長=%ld.%03d秒, 平均=%ld.%03d秒; 距離=%d kB, 予測=%d kB; lsn=%X/%08X, 再生lsn=%X/%08X"
 
 #: access/transam/xlog.c:7429
 #, c-format
@@ -2505,8 +2505,8 @@ msgstr "データベースのシャットダウンに並行して、先行書き
 
 #: access/transam/xlog.c:8016
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "リカバリ再開ポイントは%X/%Xです"
+msgid "recovery restart point at %X/%08X"
+msgstr "リカバリ再開ポイントは%X/%08Xです"
 
 #: access/transam/xlog.c:8018
 #, c-format
@@ -2515,8 +2515,8 @@ msgstr "最後に完了したトランザクションはログ時刻 %s のも
 
 #: access/transam/xlog.c:8280
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "復帰ポイント\"%s\"が%X/%Xに作成されました"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "復帰ポイント\"%s\"が%X/%08Xに作成されました"
 
 #: access/transam/xlog.c:8487
 #, c-format
@@ -2764,52 +2764,52 @@ msgstr "\"recovery_prefetch\"は先読み指示の発行をサポートしない
 
 #: access/transam/xlogreader.c:620
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "%X/%Xのレコードオフセットが不正です:最低でも%uを期待していましたが、実際は%uでした"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "%X/%08Xのレコードオフセットが不正です:最低でも%uを期待していましたが、実際は%uでした"
 
 #: access/transam/xlogreader.c:629
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "%X/%Xでは継続レコードが必要です"
+msgid "contrecord is requested by %X/%08X"
+msgstr "%X/%08Xでは継続レコードが必要です"
 
 #: access/transam/xlogreader.c:670 access/transam/xlogreader.c:1135
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "%X/%Xのレコード長が不正です:長さは最低でも%uを期待していましたが、実際は%uでした"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "%X/%08Xのレコード長が不正です:長さは最低でも%uを期待していましたが、実際は%uでした"
 
 #: access/transam/xlogreader.c:759
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "%X/%Xでcontrecordフラグがありません"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "%X/%08Xでcontrecordフラグがありません"
 
 #: access/transam/xlogreader.c:772
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
 msgstr "%3$X/%4$Xの継続レコードの長さ%1$u(正しくは%2$lld)は不正です"
 
 #: access/transam/xlogreader.c:1143
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
 msgstr "%2$X/%3$XのリソースマネージャID %1$uは不正です"
 
 #: access/transam/xlogreader.c:1156 access/transam/xlogreader.c:1172
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
 msgstr "%3$X/%4$Xのレコードの後方リンク%1$X/%2$Xが不正です"
 
 #: access/transam/xlogreader.c:1210
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "%X/%Xのレコード内のリソースマネージャデータのチェックサムが不正です"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "%X/%08Xのレコード内のリソースマネージャデータのチェックサムが不正です"
 
 #: access/transam/xlogreader.c:1244
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント%2$s、LSN %3$X/%4$X、オフセット%5$uで不正なマジックナンバー%1$04X"
 
 #: access/transam/xlogreader.c:1259 access/transam/xlogreader.c:1301
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント %2$s、LSN %3$X/%4$X、オフセット%5$uで不正な情報ビット列%1$04X"
 
 #: access/transam/xlogreader.c:1275
@@ -2829,63 +2829,63 @@ msgstr "WAL ファイルは異なるデータベースシステム由来のも
 
 #: access/transam/xlogreader.c:1321
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント%3$s、LSN %4$X/%5$X、オフセット%6$uで想定外のページアドレス%1$X/%2$X"
 
 #: access/transam/xlogreader.c:1347
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント%3$s、LSN %4$X/%5$X、オフセット%6$uで異常な順序のタイムラインID %1$u(%2$uの後)"
 
 #: access/transam/xlogreader.c:1759
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %uが%X/%Xで不正です"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %uが%X/%08Xで不正です"
 
 #: access/transam/xlogreader.c:1783
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATAが設定されていますが、%X/%Xにデータがありません"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATAが設定されていますが、%X/%08Xにデータがありません"
 
 #: access/transam/xlogreader.c:1790
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
 msgstr "BKPBLOCK_HAS_DATAが設定されていませんが、%2$X/%3$Xのデータ長は%1$uです"
 
 #: access/transam/xlogreader.c:1826
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
 msgstr "BKPIMAGE_HAS_HOLEが設定されていますが、%4$X/%5$Xでホールオフセット%1$u、長さ%2$u、ブロックイメージ長%3$uです"
 
 #: access/transam/xlogreader.c:1842
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr "BKPIMAGE_HAS_HOLEが設定されていませんが、%3$X/%4$Xにおけるホールオフセット%1$uの長さが%2$uです"
 
 #: access/transam/xlogreader.c:1856
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr "BKPIMAGE_COMPRESSEDが設定されていますが、%2$X/%3$Xにおいてブロックイメージ長が%1$uです"
 
 #: access/transam/xlogreader.c:1871
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
 msgstr "BKPIMAGE_HAS_HOLEもBKPIMAGE_COMPRESSEDも設定されていませんが、%2$X/%3$Xにおいてブロックイメージ長が%1$uです"
 
 #: access/transam/xlogreader.c:1887
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_RELが設定されていますが、%X/%Xにおいて以前のリレーションがありません"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_RELが設定されていますが、%X/%08Xにおいて以前のリレーションがありません"
 
 #: access/transam/xlogreader.c:1899
 #, c-format
-msgid "invalid block_id %u at %X/%X"
+msgid "invalid block_id %u at %X/%08X"
 msgstr "%2$X/%3$Xにおけるblock_id %1$uが不正です"
 
 #: access/transam/xlogreader.c:1966
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "%X/%Xのレコードのサイズが不正です"
+msgid "record with invalid length at %X/%08X"
+msgstr "%X/%08Xのレコードのサイズが不正です"
 
 #: access/transam/xlogreader.c:1992
 #, c-format
@@ -2894,37 +2894,37 @@ msgstr "WALレコード中ID %dのバックアップブロックを特定でき
 
 #: access/transam/xlogreader.c:2076
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "%X/%Xで不正なブロック%dが指定されているためイメージが復元できませんでした"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "%X/%08Xで不正なブロック%dが指定されているためイメージが復元できませんでした"
 
 #: access/transam/xlogreader.c:2083
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "%X/%Xでブロック%dのイメージが不正な状態であるため復元できませんでした"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "%X/%08Xでブロック%dのイメージが不正な状態であるため復元できませんでした"
 
 #: access/transam/xlogreader.c:2110 access/transam/xlogreader.c:2127
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
 msgstr "%1$X/%2$Xで、ブロック%4$dがこのビルドでサポートされない圧縮方式%3$sで圧縮されているため復元できませんでした"
 
 #: access/transam/xlogreader.c:2136
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "%X/%Xでブロック%dのイメージが不明な方式で圧縮されているため復元できませんでした"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "%X/%08Xでブロック%dのイメージが不明な方式で圧縮されているため復元できませんでした"
 
 #: access/transam/xlogreader.c:2144
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "%X/%Xのブロック%dが伸張できませんでした"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "%X/%08Xのブロック%dが伸張できませんでした"
 
 #: access/transam/xlogrecovery.c:623
 #, c-format
-msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u"
+msgid "starting backup recovery with redo LSN %X/%08X, checkpoint LSN %X/%08X, on timeline ID %u"
 msgstr "タイムラインID %5$u上でREDO LSN %1$X/%2$X、チェックポイントLSN %3$X/%4$Xからのバックアップ・リカバリを開始しました"
 
 #: access/transam/xlogrecovery.c:655
 #, c-format
-msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X"
+msgid "could not find redo location %X/%08X referenced by checkpoint record at %X/%08X"
 msgstr "%3$X/%4$Xのチェックポイントレコードが参照しているredo位置%1$X/%2$Xを見つけられませんでした"
 
 #: access/transam/xlogrecovery.c:657 access/transam/xlogrecovery.c:668
@@ -2941,8 +2941,8 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:666
 #, c-format
-msgid "could not locate required checkpoint record at %X/%X"
-msgstr "必須のチェックポイントが%X/%Xで見つかりませんでした"
+msgid "could not locate required checkpoint record at %X/%08X"
+msgstr "必須のチェックポイントが%X/%08Xで見つかりませんでした"
 
 #: access/transam/xlogrecovery.c:696 commands/tablespace.c:664
 #, c-format
@@ -2966,13 +2966,13 @@ msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %
 
 #: access/transam/xlogrecovery.c:776
 #, c-format
-msgid "restarting backup recovery with redo LSN %X/%X"
-msgstr "REDO LSN %X/%Xのバックアプリカバリを再開しました"
+msgid "restarting backup recovery with redo LSN %X/%08X"
+msgstr "REDO LSN %X/%08Xのバックアプリカバリを再開しました"
 
 #: access/transam/xlogrecovery.c:801
 #, c-format
-msgid "could not locate a valid checkpoint record at %X/%X"
-msgstr "%X/%Xには有効なチェックポイントレコードがありませんでした"
+msgid "could not locate a valid checkpoint record at %X/%08X"
+msgstr "%X/%08Xには有効なチェックポイントレコードがありませんでした"
 
 #: access/transam/xlogrecovery.c:812
 #, c-format
@@ -2996,8 +2996,8 @@ msgstr "\"%s\"までのポイントインタイムリカバリを開始します
 
 #: access/transam/xlogrecovery.c:827
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "WAL位置(LSN) \"%X/%X\"までのポイントインタイムリカバリを開始します"
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
+msgstr "WAL位置(LSN) \"%X/%08X\"までのポイントインタイムリカバリを開始します"
 
 #: access/transam/xlogrecovery.c:831
 #, c-format
@@ -3017,12 +3017,12 @@ msgstr "要求されたタイムライン%uはこのサーバーの履歴から
 #. translator: %s is a backup_label file or a pg_control file
 #: access/transam/xlogrecovery.c:858
 #, c-format
-msgid "Latest checkpoint in file \"%s\" is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
+msgid "Latest checkpoint in file \"%s\" is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
 msgstr "ファイル\"%1$s\"での最終チェックポイントはタイムライン%4$uの%2$X/%3$Xですが、要求されたタイムラインの履歴上、サーバーはそのタイムラインから%5$X/%6$Xで分岐しています。"
 
 #: access/transam/xlogrecovery.c:873
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
 msgstr "要求されたタイムライン%1$uはタイムライン%4$uの最小リカバリポイント%2$X/%3$Xを含みません"
 
 #: access/transam/xlogrecovery.c:901
@@ -3112,18 +3112,18 @@ msgstr "有効なデータディレクトリを再構築するにはpg_combineba
 
 #: access/transam/xlogrecovery.c:1725
 #, c-format
-msgid "unexpected record type found at redo point %X/%X"
-msgstr "REDOポイント%X/%Xで想定外のレコードタイプが見つかりました"
+msgid "unexpected record type found at redo point %X/%08X"
+msgstr "REDOポイント%X/%08Xで想定外のレコードタイプが見つかりました"
 
 #: access/transam/xlogrecovery.c:1748
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "REDOを%X/%Xから開始します"
+msgid "redo starts at %X/%08X"
+msgstr "REDOを%X/%08Xから開始します"
 
 #: access/transam/xlogrecovery.c:1761
 #, c-format
-msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
-msgstr "REDO進行中、経過時間 %ld.%02d秒, 現在のLSN: %X/%X"
+msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%08X"
+msgstr "REDO進行中、経過時間 %ld.%02d秒, 現在のLSN: %X/%08X"
 
 #: access/transam/xlogrecovery.c:1851
 #, c-format
@@ -3132,8 +3132,8 @@ msgstr "要求されたリカバリ停止ポイントは、一貫性があるリ
 
 #: access/transam/xlogrecovery.c:1883
 #, c-format
-msgid "redo done at %X/%X system usage: %s"
-msgstr "REDOが%X/%Xで終了しました、システム使用状況: %s"
+msgid "redo done at %X/%08X system usage: %s"
+msgstr "REDOが%X/%08Xで終了しました、システム使用状況: %s"
 
 #: access/transam/xlogrecovery.c:1889
 #, c-format
@@ -3152,8 +3152,8 @@ msgstr "指定したリカバリターゲットに到達する前にリカバリ
 
 #: access/transam/xlogrecovery.c:2104
 #, c-format
-msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
-msgstr "%X/%Xで%sに上書きされて失われた継続行を正常にスキップしました"
+msgid "successfully skipped missing contrecord at %X/%08X, overwritten at %s"
+msgstr "%X/%08Xで%sに上書きされて失われた継続行を正常にスキップしました"
 
 #: access/transam/xlogrecovery.c:2171
 #, c-format
@@ -3172,19 +3172,19 @@ msgstr "これらのディレクトリを削除するか、または\"allow_in_p
 
 #: access/transam/xlogrecovery.c:2227
 #, c-format
-msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X"
-msgstr "REDO LSN%X/%X、終了LSN %X/%Xのバックアップ・リカバリが完了しました"
+msgid "completed backup recovery with redo LSN %X/%08X and end LSN %X/%08X"
+msgstr "REDO LSN%X/%08X、終了LSN %X/%08Xのバックアップ・リカバリが完了しました"
 
 #: access/transam/xlogrecovery.c:2258
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "%X/%X でリカバリの一貫性が確保されました"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "%X/%08X でリカバリの一貫性が確保されました"
 
 #. translator: %s is a WAL record description
 #: access/transam/xlogrecovery.c:2296
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "%X/%Xにある%sのWAL再生"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "%X/%08Xにある%sのWAL再生"
 
 #: access/transam/xlogrecovery.c:2394
 #, c-format
@@ -3198,7 +3198,7 @@ msgstr "チェックポイントレコードにおいて想定外のタイムラ
 
 #: access/transam/xlogrecovery.c:2419
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
 msgstr "タイムライン%4$uの最小リカバリポイント%2$X/%3$Xに達する前のチェックポイントレコード内の想定外のタイムラインID%1$u。"
 
 #: access/transam/xlogrecovery.c:2603 access/transam/xlogrecovery.c:2879
@@ -3208,8 +3208,8 @@ msgstr "リカバリ処理は一貫性確保後に停止します"
 
 #: access/transam/xlogrecovery.c:2624
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "リカバリ処理はWAL位置(LSN)\"%X/%X\"の前で停止します"
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "リカバリ処理はWAL位置(LSN)\"%X/%08X\"の前で停止します"
 
 #: access/transam/xlogrecovery.c:2714
 #, c-format
@@ -3228,8 +3228,8 @@ msgstr "リカバリ処理は復元ポイント\"%s\"、時刻%s に停止しま
 
 #: access/transam/xlogrecovery.c:2792
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "リカバリ処理はWAL位置(LSN)\"%X/%X\"の後で停止します"
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "リカバリ処理はWAL位置(LSN)\"%X/%08X\"の後で停止します"
 
 #: access/transam/xlogrecovery.c:2859
 #, c-format
@@ -3263,17 +3263,17 @@ msgstr "再開するには pg_xlog_replay_resume() を実行してください"
 
 #: access/transam/xlogrecovery.c:3216
 #, c-format
-msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
+msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント%2$s、LSN %3$X/%4$X、オフセット%5$uで想定外のタイムラインID%1$u"
 
 #: access/transam/xlogrecovery.c:3432
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
-msgstr "WALセグメント%s、LSN %X/%X、オフセット%uを読み取れませんでした: %m"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: %m"
+msgstr "WALセグメント%s、LSN %X/%08X、オフセット%uを読み取れませんでした: %m"
 
 #: access/transam/xlogrecovery.c:3439
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: read %d of %zu"
 msgstr "WALセグメント%1$s、LSN %2$X/%3$X、オフセット%4$uを読み取れませんでした: %6$zu 中 %5$d の読み込み"
 
 #: access/transam/xlogrecovery.c:4082
@@ -3308,8 +3308,8 @@ msgstr "新しいタイムライン%uはデータベースシステムのタイ
 
 #: access/transam/xlogrecovery.c:4180
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
-msgstr "新しいタイムライン%uは現在のデータベースシステムのタイムライン%uから現在のリカバリポイント%X/%Xより前に分岐しています"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
+msgstr "新しいタイムライン%uは現在のデータベースシステムのタイムライン%uから現在のリカバリポイント%X/%08Xより前に分岐しています"
 
 #: access/transam/xlogrecovery.c:4199
 #, c-format
@@ -3610,17 +3610,17 @@ msgstr "タイムライン%uがマニフェストにありましたが、サー
 
 #: backup/basebackup_incremental.c:412
 #, c-format
-msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X"
+msgid "manifest requires WAL from initial timeline %u starting at %X/%08X, but that timeline begins at %X/%08X"
 msgstr "マニフェストが%2$X/%3$Xから始まる初期タイムライン%1$uのWALを必要としてますが、このタイムラインは%4$X/%5$Xから始まっています"
 
 #: backup/basebackup_incremental.c:422
 #, c-format
-msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X"
+msgid "manifest requires WAL from continuation timeline %u starting at %X/%08X, but that timeline begins at %X/%08X"
 msgstr "マニフェストが%2$X/%3$Xから始まる継続タイムライン%1$uのWALをを必要としてますが、このタイムラインは%4$X/%5$Xから始まっています"
 
 #: backup/basebackup_incremental.c:433
 #, c-format
-msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X"
+msgid "manifest requires WAL from final timeline %u ending at %X/%08X, but this backup starts at %X/%08X"
 msgstr "マニフェストは%2$X/%3$Xで終了する最終タイムライン%1$uからのWALを必要としますが、このバックアップは%4$X/%5$Xで開始されます"
 
 #: backup/basebackup_incremental.c:437
@@ -3630,23 +3630,23 @@ msgstr "これはスタンバイ上の差分バックアップで前回のバッ
 
 #: backup/basebackup_incremental.c:444
 #, c-format
-msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X"
+msgid "manifest requires WAL from non-final timeline %u ending at %X/%08X, but this server switched timelines at %X/%08X"
 msgstr "マニフェストが%2$X/%3$Xで終了する非最終タイムライン%1$uのWALをを必要としてますが、このサーバーではタイムラインが%4$X/%5$Xで切り替わっています"
 
 #: backup/basebackup_incremental.c:525
 #, c-format
-msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist"
-msgstr "WAL集計がタイムライン%u上の%X/%Xから%X/%Xまで必要ですが、そのタイムライン上のそのLSN範囲での集計は存在しません"
+msgid "WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but no summaries for that timeline and LSN range exist"
+msgstr "WAL集計がタイムライン%u上の%X/%08Xから%X/%08Xまで必要ですが、そのタイムライン上のそのLSN範囲での集計は存在しません"
 
 #: backup/basebackup_incremental.c:532
 #, c-format
-msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete"
-msgstr "WAL集計がタイムライン%u上の%X/%Xから%X/%Xまで必要ですが、そのタイムライン上のそのLSN範囲での集計は不完全です"
+msgid "WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but the summaries for that timeline and LSN range are incomplete"
+msgstr "WAL集計がタイムライン%u上の%X/%08Xから%X/%08Xまで必要ですが、そのタイムライン上のそのLSN範囲での集計は不完全です"
 
 #: backup/basebackup_incremental.c:536
 #, c-format
-msgid "The first unsummarized LSN in this range is %X/%X."
-msgstr "この範囲で集計されていない最初のLSNは%X/%Xです。"
+msgid "The first unsummarized LSN in this range is %X/%08X."
+msgstr "この範囲で集計されていない最初のLSNは%X/%08Xです。"
 
 #: backup/basebackup_incremental.c:934
 #, c-format
@@ -10050,8 +10050,8 @@ msgstr "ALTER SUBSCRIPTION ... REFRESH を copy_data = false を指定して実
 
 #: commands/subscriptioncmds.c:1542
 #, c-format
-msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
-msgstr "WAL読み飛ばし位置(LSN %X/%X)は基点LSN %X/%Xより大きくなければなりません"
+msgid "skip WAL location (LSN %X/%08X) must be greater than origin LSN %X/%08X"
+msgstr "WAL読み飛ばし位置(LSN %X/%08X)は基点LSN %X/%08Xより大きくなければなりません"
 
 #: commands/subscriptioncmds.c:1667
 #, c-format
@@ -20438,34 +20438,34 @@ msgstr "WAL集計が進んでいません"
 
 #: postmaster/walsummarizer.c:744
 #, c-format
-msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory."
-msgstr "集計は%X/%Xまで進んでいる必要がありますが、ディスク上では%X/%X、メモリ上では%X/%Xよりあとまで進んでいません。"
+msgid "Summarization is needed through %X/%08X, but is stuck at %X/%08X on disk and %X/%08X in memory."
+msgstr "集計は%X/%08Xまで進んでいる必要がありますが、ディスク上では%X/%08X、メモリ上では%X/%08Xよりあとまで進んでいません。"
 
 #: postmaster/walsummarizer.c:758
 #, c-format
-msgid "still waiting for WAL summarization through %X/%X after %ld second"
-msgid_plural "still waiting for WAL summarization through %X/%X after %ld seconds"
+msgid "still waiting for WAL summarization through %X/%08X after %ld second"
+msgid_plural "still waiting for WAL summarization through %X/%08X after %ld seconds"
 msgstr[0] "%3$ld秒経過しましたが、WAL集計が%1$X/%2$Xに到達するのをまだ待ってます"
 
 #: postmaster/walsummarizer.c:763
 #, c-format
-msgid "Summarization has reached %X/%X on disk and %X/%X in memory."
-msgstr "集計がディスク上で%X/%X、メモリ上で%X/%Xに到達しました。"
+msgid "Summarization has reached %X/%08X on disk and %X/%08X in memory."
+msgstr "集計がディスク上で%X/%08X、メモリ上で%X/%08Xに到達しました。"
 
 #: postmaster/walsummarizer.c:1007
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "%X/%Xの後に有効なレコードが見つかりませんでした"
+msgid "could not find a valid record after %X/%08X"
+msgstr "%X/%08Xの後に有効なレコードが見つかりませんでした"
 
 #: postmaster/walsummarizer.c:1052
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X: %s"
-msgstr "%X/%Xでタイムライン%uのWALを読み取れませんでした: %s"
+msgid "could not read WAL from timeline %u at %X/%08X: %s"
+msgstr "%X/%08Xでタイムライン%uのWALを読み取れませんでした: %s"
 
 #: postmaster/walsummarizer.c:1058
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X"
-msgstr "%X/%Xでタイムライン%uのWALを読み取れませんでした"
+msgid "could not read WAL from timeline %u at %X/%08X"
+msgstr "%X/%08Xでタイムライン%uのWALを読み取れませんでした"
 
 #: regex/regc_pg_locale.c:244
 #, c-format
@@ -20844,13 +20844,13 @@ msgstr "スロット\"%s\"の論理デコードを開始します"
 
 #: replication/logical/logical.c:611
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
 msgstr "%3$X/%4$XからWALを読み取って、%1$X/%2$X以降にコミットされるトランザクションをストリーミングします。"
 
 #: replication/logical/logical.c:759
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
-msgstr "スロット\"%s\", 出力プラグイン\"%s\", %sコールバックの処理中, 関連LSN %X/%X"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
+msgstr "スロット\"%s\", 出力プラグイン\"%s\", %sコールバックの処理中, 関連LSN %X/%08X"
 
 #: replication/logical/logical.c:765
 #, c-format
@@ -20944,8 +20944,8 @@ msgstr "使用可能なレプリケーション状態領域がありません、
 
 #: replication/logical/origin.c:806
 #, c-format
-msgid "recovered replication state of node %d to %X/%X"
-msgstr "ノード%dのレプリケーション状態を%X/%Xに復元します"
+msgid "recovered replication state of node %d to %X/%08X"
+msgstr "ノード%dのレプリケーション状態を%X/%08Xに復元します"
 
 #: replication/logical/origin.c:816
 #, c-format
@@ -21050,8 +21050,8 @@ msgstr "リモートのスロットがローカルのスロットよりも進ん
 
 #: replication/logical/slotsync.c:216
 #, c-format
-msgid "The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has LSN %X/%X and catalog xmin %u."
-msgstr "リモートスロットのLSNは%X/%Xでカタログxminは%uですが, ローカルスロットのLSNは%X/%Xでカタログxminは%uです。"
+msgid "The remote slot has LSN %X/%08X and catalog xmin %u, but the local slot has LSN %X/%08X and catalog xmin %u."
+msgstr "リモートスロットのLSNは%X/%08Xでカタログxminは%uですが, ローカルスロットのLSNは%X/%08Xでカタログxminは%uです。"
 
 #: replication/logical/slotsync.c:460
 #, c-format
@@ -21065,8 +21065,8 @@ msgstr "レプリケーションスロット\"%s\"を同期できませんでし
 
 #: replication/logical/slotsync.c:581
 #, c-format
-msgid "Logical decoding could not find consistent point from local slot's LSN %X/%X."
-msgstr "論理デコードが一貫性ポイントをローカルスロットのLSN%X/%Xから見つけられませんでした。"
+msgid "Logical decoding could not find consistent point from local slot's LSN %X/%08X."
+msgstr "論理デコードが一貫性ポイントをローカルスロットのLSN%X/%08Xから見つけられませんでした。"
 
 #: replication/logical/slotsync.c:590
 #, c-format
@@ -21075,7 +21075,7 @@ msgstr "新規に作成したレプリケーションスロット\"%s\"が同期
 
 #: replication/logical/slotsync.c:629
 #, c-format
-msgid "skipping slot synchronization because the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X"
+msgid "skipping slot synchronization because the received slot sync LSN %X/%08X for slot \"%s\" is ahead of the standby position %X/%08X"
 msgstr "受信したスロット\"%3$s\"のスロット同期LSN%1$X/%2$XがスタンバイのLSN%4$X/%5$Xよりも進んでいるためスロット同期をスキップします"
 
 #: replication/logical/slotsync.c:651
@@ -21183,8 +21183,8 @@ msgstr[0] "エクスポートされた論理デコードスナップショット
 
 #: replication/logical/snapbuild.c:1265 replication/logical/snapbuild.c:1362 replication/logical/snapbuild.c:1868
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "論理デコードは一貫性ポイントを%X/%Xで発見しました"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "論理デコードは一貫性ポイントを%X/%08Xで発見しました"
 
 #: replication/logical/snapbuild.c:1267
 #, c-format
@@ -21193,8 +21193,8 @@ msgstr "実行中のトランザクションはありません。"
 
 #: replication/logical/snapbuild.c:1314
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "論理デコードは初期開始点を%X/%Xで発見しました"
+msgid "logical decoding found initial starting point at %X/%08X"
+msgstr "論理デコードは初期開始点を%X/%08Xで発見しました"
 
 #: replication/logical/snapbuild.c:1316 replication/logical/snapbuild.c:1340
 #, c-format
@@ -21203,8 +21203,8 @@ msgstr "%2$uより古いトランザクション(おおよそ%1$d個)の完了
 
 #: replication/logical/snapbuild.c:1338
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
-msgstr "論理デコードは初期の一貫性ポイントを%X/%Xで発見しました"
+msgid "logical decoding found initial consistent point at %X/%08X"
+msgstr "論理デコードは初期の一貫性ポイントを%X/%08Xで発見しました"
 
 #: replication/logical/snapbuild.c:1364
 #, c-format
@@ -21403,13 +21403,13 @@ msgstr "サブスクリプション\"%s\"はエラーのため無効化されま
 
 #: replication/logical/worker.c:4893
 #, c-format
-msgid "logical replication starts skipping transaction at LSN %X/%X"
-msgstr "論理レプリケーションは%X/%Xででトランザクションのスキップを開始します"
+msgid "logical replication starts skipping transaction at LSN %X/%08X"
+msgstr "論理レプリケーションは%X/%08Xででトランザクションのスキップを開始します"
 
 #: replication/logical/worker.c:4907
 #, c-format
-msgid "logical replication completed skipping transaction at LSN %X/%X"
-msgstr "論理レプリケーションは%X/%Xでトランザクションのスキップを完了しました"
+msgid "logical replication completed skipping transaction at LSN %X/%08X"
+msgstr "論理レプリケーションは%X/%08Xでトランザクションのスキップを完了しました"
 
 #: replication/logical/worker.c:4989
 #, c-format
@@ -21418,8 +21418,8 @@ msgstr "サブスクリプションの\"%s\"スキップLSNをクリアしまし
 
 #: replication/logical/worker.c:4990
 #, c-format
-msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X."
-msgstr "リモートトランザクションの完了WAL位置(LSN) %X/%XがスキップLSN %X/%X と一致しません。"
+msgid "Remote transaction's finish WAL location (LSN) %X/%08X did not match skip-LSN %X/%08X."
+msgstr "リモートトランザクションの完了WAL位置(LSN) %X/%08XがスキップLSN %X/%08X と一致しません。"
 
 #: replication/logical/worker.c:5027
 #, c-format
@@ -21433,7 +21433,7 @@ msgstr "トランザクション%3$u中、メッセージタイプ\"%2$s\"でレ
 
 #: replication/logical/worker.c:5036
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%08X"
 msgstr "%4$X/%5$Xで終了したトランザクション%3$u中、メッセージタイプ\"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中"
 
 #: replication/logical/worker.c:5047
@@ -21443,7 +21443,7 @@ msgstr "レプリケーション起点\"%1$s\"のリモートデータ処理中
 
 #: replication/logical/worker.c:5054
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%08X"
 msgstr "%6$X/%7$Xで終了したトランザクション%5$u中、レプリケーション先リレーション\"%3$s.%4$s\"に対するメッセージタイプ\"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中"
 
 #: replication/logical/worker.c:5065
@@ -21453,7 +21453,7 @@ msgstr "レプリケーション起点\"%1$s\"のリモートデータ処理中
 
 #: replication/logical/worker.c:5073
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%08X"
 msgstr "%7$X/%8$Xで終了したトランザクション%6$u中、レプリケーション先リレーション\"%3$s.%4$s\"、列\"%5$s\"に対するメッセージタイプ\"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中"
 
 #: replication/pgoutput/pgoutput.c:328
@@ -21663,9 +21663,9 @@ msgstr "%s属性を持つロールのみがレプリケーションスロット
 
 #: replication/slot.c:1550
 #, c-format
-msgid "The slot's restart_lsn %X/%X exceeds the limit by %<PRIu64> byte."
-msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %<PRIu64> bytes."
-msgstr[0] "このスロットのrestart_lsn %X/%Xは制限を%<PRIu64>バイト超過しています。"
+msgid "The slot's restart_lsn %X/%08X exceeds the limit by %<PRIu64> byte."
+msgid_plural "The slot's restart_lsn %X/%08X exceeds the limit by %<PRIu64> bytes."
+msgstr[0] "このスロットのrestart_lsn %X/%08Xは制限を%<PRIu64>バイト超過しています。"
 
 #: replication/slot.c:1561
 #, c-format
@@ -21834,8 +21834,8 @@ msgstr "このスロットはWALを留保したことがないか、無効化さ
 
 #: replication/slotfuncs.c:569
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
-msgstr "レプリケーションスロットを %X/%X に進めることはできません、最小値は %X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
+msgstr "レプリケーションスロットを %X/%08X に進めることはできません、最小値は %X/%08X"
 
 #: replication/slotfuncs.c:676
 #, c-format
@@ -21950,12 +21950,12 @@ msgstr "プライマリの最大のタイムライン%uが、リカバリのタ
 
 #: replication/walreceiver.c:389
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
 msgstr "プライマリのタイムライン%3$uの %1$X/%2$XからでWALストリーミングを始めます"
 
 #: replication/walreceiver.c:393
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
 msgstr "タイムライン%3$uの %1$X/%2$XからでWALストリーミングを再開します"
 
 #: replication/walreceiver.c:428
@@ -21970,8 +21970,8 @@ msgstr "プライマリサーバーによりレプリケーションが打ち切
 
 #: replication/walreceiver.c:473
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "タイムライン%uの%X/%XでWALの最後に達しました"
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "タイムライン%uの%X/%08XでWALの最後に達しました"
 
 #: replication/walreceiver.c:573
 #, c-format
@@ -22020,18 +22020,18 @@ msgstr "論理レプリケーションスロットは物理レプリケーショ
 
 #: replication/walsender.c:895
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
 msgstr "タイムライン%3$u上の要求された開始ポイント%1$X/%2$Xはサーバーの履歴にありません"
 
 #: replication/walsender.c:898
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "サーバーの履歴はタイムライン%uの%X/%Xからフォークしました。"
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "サーバーの履歴はタイムライン%uの%X/%08Xからフォークしました。"
 
 #: replication/walsender.c:942
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
-msgstr "要求された開始ポイント%X/%XはサーバーのWALフラッシュ位置%X/%Xより進んでいます"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
+msgstr "要求された開始ポイント%X/%08XはサーバーのWALフラッシュ位置%X/%08Xより進んでいます"
 
 #: replication/walsender.c:1137
 #, c-format
diff --git a/src/backend/po/ka.po b/src/backend/po/ka.po
index 23730e71818..652c7bc50b2 100644
--- a/src/backend/po/ka.po
+++ b/src/backend/po/ka.po
@@ -2008,18 +2008,18 @@ msgstr "შეცდომა WAL კითხვის პროცესორ
 
 #: access/transam/twophase.c:1429
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X: %s"
-msgstr "\"WAL\"-დან 2ფაზიანი მდგომარეობის წაკითხვის შეცდომა მისამართზე %X/%X: %s"
+msgid "could not read two-phase state from WAL at %X/%08X: %s"
+msgstr "\"WAL\"-დან 2ფაზიანი მდგომარეობის წაკითხვის შეცდომა მისამართზე %X/%08X: %s"
 
 #: access/transam/twophase.c:1434
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "\"WAL\"-დან 2ფაზიანი მდგომარეობის წაკითხვის შეცდომა მისამართზე %X/%X"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "\"WAL\"-დან 2ფაზიანი მდგომარეობის წაკითხვის შეცდომა მისამართზე %X/%08X"
 
 #: access/transam/twophase.c:1442
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
-msgstr "\"WAL\"-ში მოსალოდნელი ორფაზიანი მდგომარეობის მონაცემები მისამართზე %X/%X არ არსებობს"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
+msgstr "\"WAL\"-ში მოსალოდნელი ორფაზიანი მდგომარეობის მონაცემები მისამართზე %X/%08X არ არსებობს"
 
 #: access/transam/twophase.c:1744
 #, c-format
@@ -2075,7 +2075,7 @@ msgstr "ორფაზიანი მდგომარეობის ფა
 
 #: access/transam/twophase.c:2515
 #, c-format
-msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
+msgid "Two-phase state file has been found in WAL record %X/%08X, but this transaction has already been restored from disk."
 msgstr ""
 
 #: access/transam/twophase.c:2523 storage/file/fd.c:514 utils/fmgr/dfmgr.c:199
@@ -2232,12 +2232,12 @@ msgstr "ტრანზაქციაში 2^32-1 ქვეტრანზა
 
 #: access/transam/xlog.c:1552
 #, c-format
-msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
+msgid "request to flush past end of generated WAL; request %X/%08X, current position %X/%08X"
 msgstr ""
 
 #: access/transam/xlog.c:1779
 #, c-format
-msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X"
+msgid "cannot read past end of generated WAL: requested %X/%08X, current position %X/%08X"
 msgstr ""
 
 #: access/transam/xlog.c:2342 access/transam/xlog.c:4690
@@ -2488,12 +2488,12 @@ msgstr "საკონტროლო წერტილი იწყება:
 
 #: access/transam/xlog.c:6919
 #, c-format
-msgid "restartpoint complete: wrote %d buffers (%.1f%%), wrote %d SLRU buffers; %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+msgid "restartpoint complete: wrote %d buffers (%.1f%%), wrote %d SLRU buffers; %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
 msgstr ""
 
 #: access/transam/xlog.c:6943
 #, c-format
-msgid "checkpoint complete: wrote %d buffers (%.1f%%), wrote %d SLRU buffers; %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+msgid "checkpoint complete: wrote %d buffers (%.1f%%), wrote %d SLRU buffers; %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
 msgstr ""
 
 #: access/transam/xlog.c:7429
@@ -2503,8 +2503,8 @@ msgstr "კონკურენტული წინასწარ-ჩაწ
 
 #: access/transam/xlog.c:8016
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "აღდგენის გადატვირთვის წერტილი: %X/%X"
+msgid "recovery restart point at %X/%08X"
+msgstr "აღდგენის გადატვირთვის წერტილი: %X/%08X"
 
 #: access/transam/xlog.c:8018
 #, c-format
@@ -2513,8 +2513,8 @@ msgstr "უკანასკნელად დასრულებული 
 
 #: access/transam/xlog.c:8280
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "აღდგენის წერტილი \"%s\" შექმნილია %X/%X -სთან"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "აღდგენის წერტილი \"%s\" შექმნილია %X/%08X -სთან"
 
 #: access/transam/xlog.c:8487
 #, c-format
@@ -2763,53 +2763,53 @@ msgstr "\"recovery_prefetch\" პლატფორმებზე, რომლ
 
 #: access/transam/xlogreader.c:620
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%X: მოველოდი მინიმუმ %u, მივიღე %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%08X: მოველოდი მინიმუმ %u, მივიღე %u"
 
 #: access/transam/xlogreader.c:629
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord მოთხოვნილია %X/%X-ის მიერ"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord მოთხოვნილია %X/%08X-ის მიერ"
 
 #: access/transam/xlogreader.c:670 access/transam/xlogreader.c:1135
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "ჩანაწერის არასწორი სიგრძე მისამართზე %X/%X: მოველოდი მინიმუმ %u, მივიღე %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "ჩანაწერის არასწორი სიგრძე მისამართზე %X/%08X: მოველოდი მინიმუმ %u, მივიღე %u"
 
 #: access/transam/xlogreader.c:759
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "მისამართზე %X/%X contrecord ალამი არ არსებობს"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "მისამართზე %X/%08X contrecord ალამი არ არსებობს"
 
 #: access/transam/xlogreader.c:772
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "contrecord -ის არასწორი სიგრძე %u (მოველოდი %lld) მისამართზე %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "contrecord -ის არასწორი სიგრძე %u (მოველოდი %lld) მისამართზე %X/%08X"
 
 #: access/transam/xlogreader.c:1143
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "რესურსის მმართველის არასწორი ID %u მისამართზე %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "რესურსის მმართველის არასწორი ID %u მისამართზე %X/%08X"
 
 #: access/transam/xlogreader.c:1156 access/transam/xlogreader.c:1172
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "ჩანაწერი არასწორი წინა ბმულით %X/%X მისამართზე %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "ჩანაწერი არასწორი წინა ბმულით %X/%08X მისამართზე %X/%08X"
 
 #: access/transam/xlogreader.c:1210
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "რესურსის მმართველის მონაცემების არასწორი საკონტროლო რიცხვი ჩანაწერში მისამართზე %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "რესურსის მმართველის მონაცემების არასწორი საკონტროლო რიცხვი ჩანაწერში მისამართზე %X/%08X"
 
 #: access/transam/xlogreader.c:1244
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "არასწორი მაგიური რიცხვი %04X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "არასწორი მაგიური რიცხვი %04X ჟურნალის სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: access/transam/xlogreader.c:1259 access/transam/xlogreader.c:1301
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "არასწორი საინფორმაციო ბიტები %04X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "არასწორი საინფორმაციო ბიტები %04X ჟურნალის სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: access/transam/xlogreader.c:1275
 #, c-format
@@ -2828,63 +2828,63 @@ msgstr "WAL ფაილი სხვა მონაცემთა ბაზ
 
 #: access/transam/xlogreader.c:1321
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "მოულოდნელი pageaddr %X/%X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "მოულოდნელი pageaddr %X/%08X ჟურნალის სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: access/transam/xlogreader.c:1347
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "მიმდევრობის-გარე დროის ხაზის ID %u (%u-ის შემდეგ) ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "მიმდევრობის-გარე დროის ხაზის ID %u (%u-ის შემდეგ) ჟურნალის სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: access/transam/xlogreader.c:1759
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "ურიგო block_id %u მისამართზე %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "ურიგო block_id %u მისამართზე %X/%08X"
 
 #: access/transam/xlogreader.c:1783
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ მონაცემები მისამართზე %X/%X არ არსებობს"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ მონაცემები მისამართზე %X/%08X არ არსებობს"
 
 #: access/transam/xlogreader.c:1790
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ არსებობს მონაცემები სიგრძით %u მისამართზე %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ არსებობს მონაცემები სიგრძით %u მისამართზე %X/%08X"
 
 #: access/transam/xlogreader.c:1826
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE დაყენებულია, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u ბლოკის ასლის სიგრძე %u მისამართზე %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE დაყენებულია, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u ბლოკის ასლის სიგრძე %u მისამართზე %X/%08X"
 
 #: access/transam/xlogreader.c:1842
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE დაყენებული არაა, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u მისანართზე %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE დაყენებული არაა, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u მისანართზე %X/%08X"
 
 #: access/transam/xlogreader.c:1856
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED დაყენებულია, მაგრამ ბლოკის ასლის სიგრძეა %u მისამართზე %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED დაყენებულია, მაგრამ ბლოკის ასლის სიგრძეა %u მისამართზე %X/%08X"
 
 #: access/transam/xlogreader.c:1871
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "არც BKPIMAGE_HAS_HOLE და არც BKPIMAGE_COMPRESSED დაყენებული არაა, მაგრამ ბლოკის ასლის სიგრძე %u-ა, მისამართზე %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "არც BKPIMAGE_HAS_HOLE და არც BKPIMAGE_COMPRESSED დაყენებული არაა, მაგრამ ბლოკის ასლის სიგრძე %u-ა, მისამართზე %X/%08X"
 
 #: access/transam/xlogreader.c:1887
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL დაყენებულია, მაგრამ წინა მნიშვნელობა მითითებული არაა მისამართზე %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL დაყენებულია, მაგრამ წინა მნიშვნელობა მითითებული არაა მისამართზე %X/%08X"
 
 #: access/transam/xlogreader.c:1899
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "არასწორი block_id %u %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "არასწორი block_id %u %X/%08X"
 
 #: access/transam/xlogreader.c:1966
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "ჩანაწერი არასწორი სიგრძით მისამართზე %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "ჩანაწერი არასწორი სიგრძით მისამართზე %X/%08X"
 
 #: access/transam/xlogreader.c:1992
 #, c-format
@@ -2893,38 +2893,38 @@ msgstr "შეცდომა WAL ჩანაწერში მარქაფ
 
 #: access/transam/xlogreader.c:2076
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%X, როცა მითითებულია არასწორი ბლოკი %d"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%08X, როცა მითითებულია არასწორი ბლოკი %d"
 
 #: access/transam/xlogreader.c:2083
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "არასწორად შეკუმშული ასლი მისამართზე %X/%X, ბლოკი %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "არასწორად შეკუმშული ასლი მისამართზე %X/%08X, ბლოკი %d"
 
 #: access/transam/xlogreader.c:2110 access/transam/xlogreader.c:2127
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
 msgstr "%3$s მეთოდით შეკუმშული ასლი მისამართზე %1$X/%2$X, ბლოკი %4$d მხარდაუჭერელია ამ აგების მიერ"
 
 #: access/transam/xlogreader.c:2136
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "ასლის აღდგენის შეცდომა მისამართზე %X/%X შეკუმშული უცნობი მეთოდით, ბლოკი %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "ასლის აღდგენის შეცდომა მისამართზე %X/%08X შეკუმშული უცნობი მეთოდით, ბლოკი %d"
 
 #: access/transam/xlogreader.c:2144
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "არასწორად შეკუმშული ასლი მისამართზე %X/%X, ბლოკი %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "არასწორად შეკუმშული ასლი მისამართზე %X/%08X, ბლოკი %d"
 
 #: access/transam/xlogrecovery.c:623
 #, c-format
-msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u"
-msgstr "იწყება მარქაფის აღდგენა გამეორების LSN-ით %X/%X საკონტროლო წერტილზე %X/%X დროის ხაზზე ID-ით %u"
+msgid "starting backup recovery with redo LSN %X/%08X, checkpoint LSN %X/%08X, on timeline ID %u"
+msgstr "იწყება მარქაფის აღდგენა გამეორების LSN-ით %X/%08X საკონტროლო წერტილზე %X/%08X დროის ხაზზე ID-ით %u"
 
 #: access/transam/xlogrecovery.c:655
 #, c-format
-msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X"
-msgstr "ვერ ვიპოვე გამეორების მდებარეობა %X/%X, რომელსაც მიმართავს საკონტროლო წერტილის ჩანაწერი მისამართზე %X/%X"
+msgid "could not find redo location %X/%08X referenced by checkpoint record at %X/%08X"
+msgstr "ვერ ვიპოვე გამეორების მდებარეობა %X/%08X, რომელსაც მიმართავს საკონტროლო წერტილის ჩანაწერი მისამართზე %X/%08X"
 
 #: access/transam/xlogrecovery.c:657 access/transam/xlogrecovery.c:668
 #, c-format
@@ -2936,8 +2936,8 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:666
 #, c-format
-msgid "could not locate required checkpoint record at %X/%X"
-msgstr "აუცილებელი საკონტროლო წერტილის მოძებნა შეუძლებელია მისამართზე %X/%X"
+msgid "could not locate required checkpoint record at %X/%08X"
+msgstr "აუცილებელი საკონტროლო წერტილის მოძებნა შეუძლებელია მისამართზე %X/%08X"
 
 #: access/transam/xlogrecovery.c:696 commands/tablespace.c:664
 #, c-format
@@ -2961,13 +2961,13 @@ msgstr "გადარქმევის შეცდომა %s - %s: %m."
 
 #: access/transam/xlogrecovery.c:776
 #, c-format
-msgid "restarting backup recovery with redo LSN %X/%X"
-msgstr "მარქაფის აღდგენის თავიდან გაშვება გამეორების LSN-ით %X/%X"
+msgid "restarting backup recovery with redo LSN %X/%08X"
+msgstr "მარქაფის აღდგენის თავიდან გაშვება გამეორების LSN-ით %X/%08X"
 
 #: access/transam/xlogrecovery.c:801
 #, c-format
-msgid "could not locate a valid checkpoint record at %X/%X"
-msgstr "სწორი საკონტროლო წერტილის ჩანაწერის მოძებნა შეუძლებელია მისამართზე %X/%X"
+msgid "could not locate a valid checkpoint record at %X/%08X"
+msgstr "სწორი საკონტროლო წერტილის ჩანაწერის მოძებნა შეუძლებელია მისამართზე %X/%08X"
 
 #: access/transam/xlogrecovery.c:812
 #, c-format
@@ -2991,7 +2991,7 @@ msgstr "დროში-მითითებული-წერტილით
 
 #: access/transam/xlogrecovery.c:827
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
 msgstr ""
 
 #: access/transam/xlogrecovery.c:831
@@ -3012,12 +3012,12 @@ msgstr "მოთხოვნილი დროის ხაზი %u სერ
 #. translator: %s is a backup_label file or a pg_control file
 #: access/transam/xlogrecovery.c:858
 #, c-format
-msgid "Latest checkpoint in file \"%s\" is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
+msgid "Latest checkpoint in file \"%s\" is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
 msgstr ""
 
 #: access/transam/xlogrecovery.c:873
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
 msgstr ""
 
 #: access/transam/xlogrecovery.c:901
@@ -3107,18 +3107,18 @@ msgstr "სწორი მონაცემების საქაღალ
 
 #: access/transam/xlogrecovery.c:1725
 #, c-format
-msgid "unexpected record type found at redo point %X/%X"
-msgstr "აღმოჩენილია მოულოდნელი ჩანაწერის ტიპი გამეორების წერტილზე %X/%X"
+msgid "unexpected record type found at redo point %X/%08X"
+msgstr "აღმოჩენილია მოულოდნელი ჩანაწერის ტიპი გამეორების წერტილზე %X/%08X"
 
 #: access/transam/xlogrecovery.c:1748
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "გამეორება დაიწყება მისამართიდან %X/%X"
+msgid "redo starts at %X/%08X"
+msgstr "გამეორება დაიწყება მისამართიდან %X/%08X"
 
 #: access/transam/xlogrecovery.c:1761
 #, c-format
-msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
-msgstr "მიმდინარეობს გამეორება. გასული დრო: %ld.%02d მიმდინარე LSN: %X/%X"
+msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%08X"
+msgstr "მიმდინარეობს გამეორება. გასული დრო: %ld.%02d მიმდინარე LSN: %X/%08X"
 
 #: access/transam/xlogrecovery.c:1851
 #, c-format
@@ -3127,8 +3127,8 @@ msgstr "მოთხოვნილი აღდგენის წერტი
 
 #: access/transam/xlogrecovery.c:1883
 #, c-format
-msgid "redo done at %X/%X system usage: %s"
-msgstr "გამეორება დასრულდა %X/%X -სთან. სისტემის დატვირთვა: %s"
+msgid "redo done at %X/%08X system usage: %s"
+msgstr "გამეორება დასრულდა %X/%08X -სთან. სისტემის დატვირთვა: %s"
 
 #: access/transam/xlogrecovery.c:1889
 #, c-format
@@ -3147,7 +3147,7 @@ msgstr "აღდგენა მითითებული აღდგენ
 
 #: access/transam/xlogrecovery.c:2104
 #, c-format
-msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
+msgid "successfully skipped missing contrecord at %X/%08X, overwritten at %s"
 msgstr ""
 
 #: access/transam/xlogrecovery.c:2171
@@ -3167,19 +3167,19 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:2227
 #, c-format
-msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X"
+msgid "completed backup recovery with redo LSN %X/%08X and end LSN %X/%08X"
 msgstr ""
 
 #: access/transam/xlogrecovery.c:2258
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "თანმიმდევრული აღდგენის მდგომარეობა მიღწეულია მისამართზე %X/%X"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "თანმიმდევრული აღდგენის მდგომარეობა მიღწეულია მისამართზე %X/%08X"
 
 #. translator: %s is a WAL record description
 #: access/transam/xlogrecovery.c:2296
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "WAL გამეორება %X/%X %s-სთვის"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "WAL გამეორება %X/%08X %s-სთვის"
 
 #: access/transam/xlogrecovery.c:2394
 #, c-format
@@ -3193,7 +3193,7 @@ msgstr "მოულოდნელი დროის ხაზის ID %u (%u
 
 #: access/transam/xlogrecovery.c:2419
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
 msgstr ""
 
 #: access/transam/xlogrecovery.c:2603 access/transam/xlogrecovery.c:2879
@@ -3203,8 +3203,8 @@ msgstr "აღდგენა შეთანხმებული მდგო
 
 #: access/transam/xlogrecovery.c:2624
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "აღდგენა შეწყდა WAL-ის მდებარეობამდე (LSN) \"%X/%X\""
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "აღდგენა შეწყდა WAL-ის მდებარეობამდე (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:2714
 #, c-format
@@ -3223,8 +3223,8 @@ msgstr "აღდგენა შეწყდა აღდგენის წე
 
 #: access/transam/xlogrecovery.c:2792
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "აღდგენა შეწყდა WAL-ის მდებარეობამდე (LSN) \"%X/%X\""
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "აღდგენა შეწყდა WAL-ის მდებარეობამდე (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:2859
 #, c-format
@@ -3258,18 +3258,18 @@ msgstr "გასაგრძელებლად გაუშვით pg_wal_
 
 #: access/transam/xlogrecovery.c:3216
 #, c-format
-msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "მოულოდნელი დროის ხაზის ID %u WAL სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "მოულოდნელი დროის ხაზის ID %u WAL სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: access/transam/xlogrecovery.c:3432
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
-msgstr "ჟურნალის სეგმენტიდან (%s, LSN %X/%X, წანაცვლება %u) წაკითხვის შეცდომა: %m"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: %m"
+msgstr "ჟურნალის სეგმენტიდან (%s, LSN %X/%08X, წანაცვლება %u) წაკითხვის შეცდომა: %m"
 
 #: access/transam/xlogrecovery.c:3439
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
-msgstr "ჟურნალის სეგმენტიდან (%s, LSN %X/%X, წანაცვლება %u) წაკითხვის შეცდომა: წავიკითხე %d %zu-დან"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: read %d of %zu"
+msgstr "ჟურნალის სეგმენტიდან (%s, LSN %X/%08X, წანაცვლება %u) წაკითხვის შეცდომა: წავიკითხე %d %zu-დან"
 
 #: access/transam/xlogrecovery.c:4082
 #, c-format
@@ -3303,7 +3303,7 @@ msgstr "ახალი დროის ხაზი %u ბაზის სი
 
 #: access/transam/xlogrecovery.c:4180
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
 msgstr ""
 
 #: access/transam/xlogrecovery.c:4199
@@ -3607,18 +3607,18 @@ msgstr "დროის ხაზი %u ვიპოვე მანიფეს
 
 #: backup/basebackup_incremental.c:412
 #, c-format
-msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X"
-msgstr "მანიფესტი მოითხოვს WAL-ს საწყისი დროის ხაზიდან %u საწყისი წერტილით %X/%X, მაგრამ დროის ხაზი იწყება მნიშვნელობაზე %X/%X"
+msgid "manifest requires WAL from initial timeline %u starting at %X/%08X, but that timeline begins at %X/%08X"
+msgstr "მანიფესტი მოითხოვს WAL-ს საწყისი დროის ხაზიდან %u საწყისი წერტილით %X/%08X, მაგრამ დროის ხაზი იწყება მნიშვნელობაზე %X/%08X"
 
 #: backup/basebackup_incremental.c:422
 #, c-format
-msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X"
-msgstr "მანიფესტი მოითხოვს WAL-ს გაგრძელების დროის ხაზიდან %u საწყისი წერტილით %X/%X, მაგრამ დროის ხაზი იწყება მნიშვნელობაზე %X/%X"
+msgid "manifest requires WAL from continuation timeline %u starting at %X/%08X, but that timeline begins at %X/%08X"
+msgstr "მანიფესტი მოითხოვს WAL-ს გაგრძელების დროის ხაზიდან %u საწყისი წერტილით %X/%08X, მაგრამ დროის ხაზი იწყება მნიშვნელობაზე %X/%08X"
 
 #: backup/basebackup_incremental.c:433
 #, c-format
-msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X"
-msgstr "მანიფესტი მოითხოვს WAL-ს ფინალური დროის ხაზიდან %u საბოლოო წერტილით %X/%X, მაგრამ ეს მარქაფი იწყება მისამართზე %X/%X"
+msgid "manifest requires WAL from final timeline %u ending at %X/%08X, but this backup starts at %X/%08X"
+msgstr "მანიფესტი მოითხოვს WAL-ს ფინალური დროის ხაზიდან %u საბოლოო წერტილით %X/%08X, მაგრამ ეს მარქაფი იწყება მისამართზე %X/%08X"
 
 #: backup/basebackup_incremental.c:437
 #, c-format
@@ -3627,22 +3627,22 @@ msgstr ""
 
 #: backup/basebackup_incremental.c:444
 #, c-format
-msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X"
-msgstr "მანიფესტი მოითხოვს WAL-ს არაფინალური დროის ხაზიდან %u საბოლოო წერტილით %X/%X, მაგრამ ამ სერვერმა გადართო დროის ხაზები მისამართზე %X/%X"
+msgid "manifest requires WAL from non-final timeline %u ending at %X/%08X, but this server switched timelines at %X/%08X"
+msgstr "მანიფესტი მოითხოვს WAL-ს არაფინალური დროის ხაზიდან %u საბოლოო წერტილით %X/%08X, მაგრამ ამ სერვერმა გადართო დროის ხაზები მისამართზე %X/%08X"
 
 #: backup/basebackup_incremental.c:525
 #, c-format
-msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist"
+msgid "WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but no summaries for that timeline and LSN range exist"
 msgstr ""
 
 #: backup/basebackup_incremental.c:532
 #, c-format
-msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete"
+msgid "WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but the summaries for that timeline and LSN range are incomplete"
 msgstr ""
 
 #: backup/basebackup_incremental.c:536
 #, c-format
-msgid "The first unsummarized LSN in this range is %X/%X."
+msgid "The first unsummarized LSN in this range is %X/%08X."
 msgstr ""
 
 #: backup/basebackup_incremental.c:934
@@ -10068,8 +10068,8 @@ msgstr "გამოიყენეთ ALTER SUBSCRIPTION ... REFRESH 'copy_data
 
 #: commands/subscriptioncmds.c:1542
 #, c-format
-msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
-msgstr "გამოტოვება WAL-ის მდებარეობა (LSN %X/%X) საწყის LSN-ზე %X/%X დიდი უნდა იყოს"
+msgid "skip WAL location (LSN %X/%08X) must be greater than origin LSN %X/%08X"
+msgstr "გამოტოვება WAL-ის მდებარეობა (LSN %X/%08X) საწყის LSN-ზე %X/%08X დიდი უნდა იყოს"
 
 #: commands/subscriptioncmds.c:1667
 #, c-format
@@ -20429,35 +20429,35 @@ msgstr ""
 
 #: postmaster/walsummarizer.c:744
 #, c-format
-msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory."
+msgid "Summarization is needed through %X/%08X, but is stuck at %X/%08X on disk and %X/%08X in memory."
 msgstr ""
 
 #: postmaster/walsummarizer.c:758
 #, c-format
-msgid "still waiting for WAL summarization through %X/%X after %ld second"
-msgid_plural "still waiting for WAL summarization through %X/%X after %ld seconds"
+msgid "still waiting for WAL summarization through %X/%08X after %ld second"
+msgid_plural "still waiting for WAL summarization through %X/%08X after %ld seconds"
 msgstr[0] ""
 msgstr[1] ""
 
 #: postmaster/walsummarizer.c:763
 #, c-format
-msgid "Summarization has reached %X/%X on disk and %X/%X in memory."
+msgid "Summarization has reached %X/%08X on disk and %X/%08X in memory."
 msgstr ""
 
 #: postmaster/walsummarizer.c:1007
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "%X/%X -ის შემდეგ სწორი ჩანაწერი არ არსებობს"
+msgid "could not find a valid record after %X/%08X"
+msgstr "%X/%08X -ის შემდეგ სწორი ჩანაწერი არ არსებობს"
 
 #: postmaster/walsummarizer.c:1052
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X: %s"
-msgstr "ვერ წავიკითხე WAL დროის ხაზიდან %u მისამართზე %X/%X: %s"
+msgid "could not read WAL from timeline %u at %X/%08X: %s"
+msgstr "ვერ წავიკითხე WAL დროის ხაზიდან %u მისამართზე %X/%08X: %s"
 
 #: postmaster/walsummarizer.c:1058
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X"
-msgstr "ვერ წავიკითხე WAL დროის ხაზიდან %u მისამართზე %X/%X"
+msgid "could not read WAL from timeline %u at %X/%08X"
+msgstr "ვერ წავიკითხე WAL დროის ხაზიდან %u მისამართზე %X/%08X"
 
 #: regex/regc_pg_locale.c:241
 #, c-format
@@ -20836,12 +20836,12 @@ msgstr "იწყება ლოგიკური გაშიფვრა ს
 
 #: replication/logical/logical.c:611
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
 msgstr ""
 
 #: replication/logical/logical.c:759
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
 msgstr ""
 
 #: replication/logical/logical.c:765
@@ -20936,8 +20936,8 @@ msgstr "თავისუფალი რეპლიკაციის მდ
 
 #: replication/logical/origin.c:806
 #, c-format
-msgid "recovered replication state of node %d to %X/%X"
-msgstr "აღდგენილია კვანძის %d რეპლიკაციის მდგომარეობა %X/%X-მდე"
+msgid "recovered replication state of node %d to %X/%08X"
+msgstr "აღდგენილია კვანძის %d რეპლიკაციის მდგომარეობა %X/%08X-მდე"
 
 #: replication/logical/origin.c:816
 #, c-format
@@ -21044,7 +21044,7 @@ msgstr "რეპლიკაციის სლოტის სინქრო
 
 #: replication/logical/slotsync.c:216
 #, c-format
-msgid "The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has LSN %X/%X and catalog xmin %u."
+msgid "The remote slot has LSN %X/%08X and catalog xmin %u, but the local slot has LSN %X/%08X and catalog xmin %u."
 msgstr ""
 
 #: replication/logical/slotsync.c:460
@@ -21059,7 +21059,7 @@ msgstr "რეპლიკაციის სლოტის \"%s\" სინქ
 
 #: replication/logical/slotsync.c:581
 #, c-format
-msgid "Logical decoding could not find consistent point from local slot's LSN %X/%X."
+msgid "Logical decoding could not find consistent point from local slot's LSN %X/%08X."
 msgstr ""
 
 #: replication/logical/slotsync.c:590
@@ -21069,7 +21069,7 @@ msgstr "ახლად შექმნილი რეპლიკაციი
 
 #: replication/logical/slotsync.c:629
 #, c-format
-msgid "skipping slot synchronization because the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X"
+msgid "skipping slot synchronization because the received slot sync LSN %X/%08X for slot \"%s\" is ahead of the standby position %X/%08X"
 msgstr ""
 
 #: replication/logical/slotsync.c:651
@@ -21178,7 +21178,7 @@ msgstr[1] ""
 
 #: replication/logical/snapbuild.c:1305 replication/logical/snapbuild.c:1402 replication/logical/snapbuild.c:1908
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
+msgid "logical decoding found consistent point at %X/%08X"
 msgstr ""
 
 #: replication/logical/snapbuild.c:1307
@@ -21188,7 +21188,7 @@ msgstr "გაშვებული ტრანზაქციების გ
 
 #: replication/logical/snapbuild.c:1354
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
+msgid "logical decoding found initial starting point at %X/%08X"
 msgstr ""
 
 #: replication/logical/snapbuild.c:1356 replication/logical/snapbuild.c:1380
@@ -21198,7 +21198,7 @@ msgstr ""
 
 #: replication/logical/snapbuild.c:1378
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
+msgid "logical decoding found initial consistent point at %X/%08X"
 msgstr ""
 
 #: replication/logical/snapbuild.c:1404
@@ -21398,13 +21398,13 @@ msgstr "გამოწერა \"%s\" გაითიშა შეცდომ
 
 #: replication/logical/worker.c:4893
 #, c-format
-msgid "logical replication starts skipping transaction at LSN %X/%X"
-msgstr "ლოგიკური რეპლიკაცია იწყებს ტრანზაქციის გამოტოვებას მისამართზე LSN %X/%X"
+msgid "logical replication starts skipping transaction at LSN %X/%08X"
+msgstr "ლოგიკური რეპლიკაცია იწყებს ტრანზაქციის გამოტოვებას მისამართზე LSN %X/%08X"
 
 #: replication/logical/worker.c:4907
 #, c-format
-msgid "logical replication completed skipping transaction at LSN %X/%X"
-msgstr "ლოგიკურმა რეპლიკაციამ დაასრულა ტრანზაქციის გამოტოვება მისამართზე LSN %X/%X"
+msgid "logical replication completed skipping transaction at LSN %X/%08X"
+msgstr "ლოგიკურმა რეპლიკაციამ დაასრულა ტრანზაქციის გამოტოვება მისამართზე LSN %X/%08X"
 
 #: replication/logical/worker.c:4989
 #, c-format
@@ -21413,7 +21413,7 @@ msgstr "skip-LSN გამოწერისთვის \"%s\" გასუფ
 
 #: replication/logical/worker.c:4990
 #, c-format
-msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X."
+msgid "Remote transaction's finish WAL location (LSN) %X/%08X did not match skip-LSN %X/%08X."
 msgstr ""
 
 #: replication/logical/worker.c:5027
@@ -21428,7 +21428,7 @@ msgstr ""
 
 #: replication/logical/worker.c:5036
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%08X"
 msgstr ""
 
 #: replication/logical/worker.c:5047
@@ -21438,7 +21438,7 @@ msgstr ""
 
 #: replication/logical/worker.c:5054
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%08X"
 msgstr ""
 
 #: replication/logical/worker.c:5065
@@ -21448,7 +21448,7 @@ msgstr ""
 
 #: replication/logical/worker.c:5073
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%08X"
 msgstr ""
 
 #: replication/pgoutput/pgoutput.c:328
@@ -21658,8 +21658,8 @@ msgstr ""
 
 #: replication/slot.c:1550
 #, c-format
-msgid "The slot's restart_lsn %X/%X exceeds the limit by %<PRIu64> byte."
-msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %<PRIu64> bytes."
+msgid "The slot's restart_lsn %X/%08X exceeds the limit by %<PRIu64> byte."
+msgid_plural "The slot's restart_lsn %X/%08X exceeds the limit by %<PRIu64> bytes."
 msgstr[0] ""
 msgstr[1] ""
 
@@ -21830,7 +21830,7 @@ msgstr ""
 
 #: replication/slotfuncs.c:569
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
 msgstr ""
 
 #: replication/slotfuncs.c:676
@@ -21945,12 +21945,12 @@ msgstr ""
 
 #: replication/walreceiver.c:389
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
 msgstr ""
 
 #: replication/walreceiver.c:393
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
 msgstr ""
 
 #: replication/walreceiver.c:428
@@ -21965,7 +21965,7 @@ msgstr "რეპლიკაცია შეწყვეტილია ძი
 
 #: replication/walreceiver.c:473
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
+msgid "End of WAL reached on timeline %u at %X/%08X."
 msgstr ""
 
 #: replication/walreceiver.c:573
@@ -22015,17 +22015,17 @@ msgstr ""
 
 #: replication/walsender.c:895
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
 msgstr ""
 
 #: replication/walsender.c:898
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
+msgid "This server's history forked from timeline %u at %X/%08X."
 msgstr ""
 
 #: replication/walsender.c:942
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
 msgstr ""
 
 #: replication/walsender.c:1137
@@ -32280,8 +32280,8 @@ msgstr "სხვა ბაზიდან სწრაფი ასლის 
 #~ msgstr "პარამეტრის არასწორი სახელი \"%s\""
 
 #, c-format
-#~ msgid "invalid record offset at %X/%X"
-#~ msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%X"
+#~ msgid "invalid record offset at %X/%08X"
+#~ msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%08X"
 
 #, c-format
 #~ msgid "invalid resource manager ID in primary checkpoint record"
@@ -32324,8 +32324,8 @@ msgstr "სხვა ბაზიდან სწრაფი ასლის 
 #~ msgstr "მანიფესტის სისტემის იდენფიტიკატორი მთელი რიცხვი არაა"
 
 #, c-format
-#~ msgid "missing contrecord at %X/%X"
-#~ msgstr "მისამართზე %X/%X contrecord ალამი არ არსებობს"
+#~ msgid "missing contrecord at %X/%08X"
+#~ msgstr "მისამართზე %X/%08X contrecord ალამი არ არსებობს"
 
 #, c-format
 #~ msgid "multiple limit options not allowed"
@@ -32474,8 +32474,8 @@ msgstr "სხვა ბაზიდან სწრაფი ასლის 
 #~ msgstr "აკლა პარამეტრი publication_names"
 
 #, c-format
-#~ msgid "record length %u at %X/%X too long"
-#~ msgstr "ჩანაწერის სიგრძე %u მისამართზე %X/%X ძალიან გრძელია"
+#~ msgid "record length %u at %X/%08X too long"
+#~ msgstr "ჩანაწერის სიგრძე %u მისამართზე %X/%08X ძალიან გრძელია"
 
 #~ msgid "server process"
 #~ msgstr "სერვერის პროცესი"
diff --git a/src/backend/po/ko.po b/src/backend/po/ko.po
index d71eed4b6c0..fd31e7442b3 100644
--- a/src/backend/po/ko.po
+++ b/src/backend/po/ko.po
@@ -2408,18 +2408,18 @@ msgstr "WAL 읽기 프로세서를 할당하는 중에 오류 발생"
 
 #: access/transam/twophase.c:1445
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X: %s"
-msgstr "two-phase 상태정보을 읽을 수 없음 WAL 위치: %X/%X, %s"
+msgid "could not read two-phase state from WAL at %X/%08X: %s"
+msgstr "two-phase 상태정보을 읽을 수 없음 WAL 위치: %X/%08X, %s"
 
 #: access/transam/twophase.c:1450
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "two-phase 상태정보을 읽을 수 없음 WAL 위치: %X/%X"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "two-phase 상태정보을 읽을 수 없음 WAL 위치: %X/%08X"
 
 #: access/transam/twophase.c:1458
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
-msgstr "WAL %X/%X 위치에 2단계 커밋 상태 자료가 없습니다"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
+msgstr "WAL %X/%08X 위치에 2단계 커밋 상태 자료가 없습니다"
 
 #: access/transam/twophase.c:1761
 #, c-format
@@ -2479,10 +2479,10 @@ msgstr "%u 트랜잭션에서 사용하는 two-phase 상태정보 파일을 복
 #: access/transam/twophase.c:2532
 #, c-format
 msgid ""
-"Two-phase state file has been found in WAL record %X/%X, but this "
+"Two-phase state file has been found in WAL record %X/%08X, but this "
 "transaction has already been restored from disk."
 msgstr ""
-"WAL 레코드 %X/%X 에서 2PC 상태 파일을 찾았지만, 그 트랜잭션은 이미 디스크에 "
+"WAL 레코드 %X/%08X 에서 2PC 상태 파일을 찾았지만, 그 트랜잭션은 이미 디스크에 "
 "기록한 상태입니다."
 
 #: access/transam/twophase.c:2540 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
@@ -2667,17 +2667,17 @@ msgstr "하나의 트랜잭션 안에서는 2^32-1 개의 하위트랜잭션을
 #: access/transam/xlog.c:1542
 #, c-format
 msgid ""
-"request to flush past end of generated WAL; request %X/%X, current position "
-"%X/%X"
-msgstr "생성된 WAL의 끝을 지난 flush 요청, 요청위치: %X/%X, 현재위치: %X/%X"
+"request to flush past end of generated WAL; request %X/%08X, current position "
+"%X/%08X"
+msgstr "생성된 WAL의 끝을 지난 flush 요청, 요청위치: %X/%08X, 현재위치: %X/%08X"
 
 #: access/transam/xlog.c:1769
 #, c-format
 msgid ""
-"cannot read past end of generated WAL: requested %X/%X, current position %X/"
+"cannot read past end of generated WAL: requested %X/%08X, current position %X/"
 "%X"
 msgstr ""
-"생성된 WAL의 끝을 지나서 읽을 수 없음: 요청위치: %X/%X, 현재위치: %X/%X"
+"생성된 WAL의 끝을 지나서 읽을 수 없음: 요청위치: %X/%08X, 현재위치: %X/%08X"
 
 #: access/transam/xlog.c:2210 access/transam/xlog.c:4501
 #, c-format
@@ -3073,12 +3073,12 @@ msgid ""
 "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d "
 "removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; "
 "sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, "
-"estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+"estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
 msgstr ""
 "restartpoint 작업완료: %d개(%.1f%%) 버퍼 씀; %d개 WAL 파일 추가됨, %d개 지웠"
 "음, %d개 재활용; 쓰기시간: %ld.%03d s, 동기화시간: %ld.%03d s, 전체시간: %ld."
 "%03d s; 동기화 파일 개수: %d, 최장시간: %ld.%03d s, 평균시간: %ld.%03d s; 실"
-"제작업량: %d kB, 예상한작업량: %d kB; lsn=%X/%X, redo lsn=%X/%X"
+"제작업량: %d kB, 예상한작업량: %d kB; lsn=%X/%08X, redo lsn=%X/%08X"
 
 #: access/transam/xlog.c:6751
 #, c-format
@@ -3086,12 +3086,12 @@ msgid ""
 "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d "
 "removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; "
 "sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, "
-"estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+"estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
 msgstr ""
 "채크포인트 작업완료: %d개(%.1f%%) 버퍼 씀; %d개 WAL 파일 추가됨, %d개 지웠"
 "음, %d개 재활용; 쓰기시간: %ld.%03d s, 동기화시간: %ld.%03d s, 전체시간: %ld."
 "%03d s; 동기화 파일 개수: %d, 최장시간: %ld.%03d s, 평균시간: %ld.%03d s; 실"
-"제작업량: %d kB, 예상한작업량: %d kB; lsn=%X/%X, redo lsn=%X/%X"
+"제작업량: %d kB, 예상한작업량: %d kB; lsn=%X/%08X, redo lsn=%X/%08X"
 
 #: access/transam/xlog.c:7233
 #, c-format
@@ -3101,8 +3101,8 @@ msgstr "데이터베이스 시스템이 중지되는 동안 동시 트랜잭션
 
 #: access/transam/xlog.c:7818
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "%X/%X에서 복구 작업 시작함"
+msgid "recovery restart point at %X/%08X"
+msgstr "%X/%08X에서 복구 작업 시작함"
 
 #: access/transam/xlog.c:7820
 #, c-format
@@ -3111,8 +3111,8 @@ msgstr "마지막 완료된 트랜잭션 기록 시간은 %s 입니다."
 
 #: access/transam/xlog.c:8082
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "\"%s\" 이름의 복구 위치는 %X/%X에 만들었음"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "\"%s\" 이름의 복구 위치는 %X/%08X에 만들었음"
 
 #: access/transam/xlog.c:8289
 #, c-format
@@ -3416,53 +3416,53 @@ msgstr ""
 
 #: access/transam/xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "잘못된 레코드 오프셋: 위치 %X/%X, 기대값 %u, 실재값 %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "잘못된 레코드 오프셋: 위치 %X/%08X, 기대값 %u, 실재값 %u"
 
 #: access/transam/xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "%X/%X에서 contrecord를 필요로 함"
+msgid "contrecord is requested by %X/%08X"
+msgstr "%X/%08X에서 contrecord를 필요로 함"
 
 #: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "잘못된 레코드 길이: 위치 %X/%X, 기대값 %u, 실재값 %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "잘못된 레코드 길이: 위치 %X/%08X, 기대값 %u, 실재값 %u"
 
 #: access/transam/xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "%X/%X 위치에 contrecord 플래그가 없음"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "%X/%08X 위치에 contrecord 플래그가 없음"
 
 #: access/transam/xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "잘못된 contrecord 길이 %u (기대값: %lld), 위치 %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "잘못된 contrecord 길이 %u (기대값: %lld), 위치 %X/%08X"
 
 #: access/transam/xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "잘못된 자원 관리 ID %u, 위치: %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "잘못된 자원 관리 ID %u, 위치: %X/%08X"
 
 #: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "레코드의 잘못된 프리링크 %X/%X, 해당 레코드 %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "레코드의 잘못된 프리링크 %X/%08X, 해당 레코드 %X/%08X"
 
 #: access/transam/xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "잘못된 자원관리자 데이터 체크섬, 위치: %X/%X 레코드"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "잘못된 자원관리자 데이터 체크섬, 위치: %X/%08X 레코드"
 
 #: access/transam/xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "%04X 매직 번호가 잘못됨, WAL 조각 파일 %s, LSN %X/%X, offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "%04X 매직 번호가 잘못됨, WAL 조각 파일 %s, LSN %X/%08X, offset %u"
 
 #: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "잘못된 정보 비트 %04X, WAL 조각 파일 %s, LSN %X/%X, offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "잘못된 정보 비트 %04X, WAL 조각 파일 %s, LSN %X/%08X, offset %u"
 
 #: access/transam/xlogreader.c:1274
 #, c-format
@@ -3493,77 +3493,77 @@ msgstr ""
 
 #: access/transam/xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "잘못된 페이지 주소 %X/%X, WAL 조각 파일 %s, LSN %X/%X, offset %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "잘못된 페이지 주소 %X/%08X, WAL 조각 파일 %s, LSN %X/%08X, offset %u"
 
 #: access/transam/xlogreader.c:1346
 #, c-format
 msgid ""
-"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, "
+"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, "
 "offset %u"
 msgstr ""
-"타임라인 범위 벗어남 %u (이전 번호 %u), WAL 조각 파일 %s, LSN %X/%X, offset "
+"타임라인 범위 벗어남 %u (이전 번호 %u), WAL 조각 파일 %s, LSN %X/%08X, offset "
 "%u"
 
 #: access/transam/xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "%u block_id는 범위를 벗어남, 위치 %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "%u block_id는 범위를 벗어남, 위치 %X/%08X"
 
 #: access/transam/xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA 지정했지만, %X/%X 에 자료가 없음"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA 지정했지만, %X/%08X 에 자료가 없음"
 
 #: access/transam/xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA 지정 않았지만, %u 길이의 자료가 있음, 위치 %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA 지정 않았지만, %u 길이의 자료가 있음, 위치 %X/%08X"
 
 #: access/transam/xlogreader.c:1816
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
-"%X/%X"
+"%X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE 설정이 되어 있지만, 옵셋: %u, 길이: %u, 블록 이미지 길이: "
-"%u, 대상: %X/%X"
+"%u, 대상: %X/%08X"
 
 #: access/transam/xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr ""
-"BKPIMAGE_HAS_HOLE 설정이 안되어 있지만, 옵셋: %u, 길이: %u, 대상: %X/%X"
+"BKPIMAGE_HAS_HOLE 설정이 안되어 있지만, 옵셋: %u, 길이: %u, 대상: %X/%08X"
 
 #: access/transam/xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr ""
-"BKPIMAGE_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%X"
+"BKPIMAGE_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%08X"
 
 #: access/transam/xlogreader.c:1861
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image "
-"length is %u at %X/%X"
+"length is %u at %X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE, BKPIMAGE_COMPRESSED 지정 안되어 있으나, 블록 이미지 길이"
-"는 %u, 대상: %X/%X"
+"는 %u, 대상: %X/%08X"
 
 #: access/transam/xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL 설정이 되어 있지만, %X/%X 에 이전 릴레이션 없음"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL 설정이 되어 있지만, %X/%08X 에 이전 릴레이션 없음"
 
 #: access/transam/xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "잘못된 block_id %u, 위치 %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "잘못된 block_id %u, 위치 %X/%08X"
 
 #: access/transam/xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "잘못된 레코드 길이, 위치 %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "잘못된 레코드 길이, 위치 %X/%08X"
 
 #: access/transam/xlogreader.c:1982
 #, c-format
@@ -3572,44 +3572,44 @@ msgstr "WAL 레코드에서 %d ID의 백업 블록을 찾을 수 없음"
 
 #: access/transam/xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "%X/%X 위치에 이미지를 복원할 수 없음 %d 블록이 잘못 지정됨"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "%X/%08X 위치에 이미지를 복원할 수 없음 %d 블록이 잘못 지정됨"
 
 #: access/transam/xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "%X/%X 위치에 이미지를 복원할 수 없음, %d 블록의 상태가 이상함"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "%X/%08X 위치에 이미지를 복원할 수 없음, %d 블록의 상태가 이상함"
 
 #: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117
 #, c-format
 msgid ""
-"could not restore image at %X/%X compressed with %s not supported by build, "
+"could not restore image at %X/%08X compressed with %s not supported by build, "
 "block %d"
-msgstr "%X/%X 위치에 압축된 이미지 복원 실패, %s 지원 하지 않음, 해당 블록: %d"
+msgstr "%X/%08X 위치에 압축된 이미지 복원 실패, %s 지원 하지 않음, 해당 블록: %d"
 
 #: access/transam/xlogreader.c:2126
 #, c-format
 msgid ""
-"could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "알 수 없는 방법으로 이미지 압축 복원 실패: 위치 %X/%X, 블록 %d"
+"could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "알 수 없는 방법으로 이미지 압축 복원 실패: 위치 %X/%08X, 블록 %d"
 
 #: access/transam/xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "이미지 압축 풀기 실패, 위치 %X/%X, 블록 %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "이미지 압축 풀기 실패, 위치 %X/%08X, 블록 %d"
 
 #: access/transam/xlogrecovery.c:617
 #, c-format
 msgid ""
-"starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on "
+"starting backup recovery with redo LSN %X/%08X, checkpoint LSN %X/%08X, on "
 "timeline ID %u"
-msgstr "백업 복구 시작: 리두LSN=%X/%X, 체크포인트LSN=%X/%X, 타임라인ID=%u"
+msgstr "백업 복구 시작: 리두LSN=%X/%08X, 체크포인트LSN=%X/%08X, 타임라인ID=%u"
 
 #: access/transam/xlogrecovery.c:649
 #, c-format
 msgid ""
-"could not find redo location %X/%X referenced by checkpoint record at %X/%X"
-msgstr "%X/%X 위치의 redo lsn을 찾을 수 없음: 참조하는 체크포인트 레코드=%X/%X"
+"could not find redo location %X/%08X referenced by checkpoint record at %X/%08X"
+msgstr "%X/%08X 위치의 redo lsn을 찾을 수 없음: 참조하는 체크포인트 레코드=%X/%08X"
 
 #: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662
 #, c-format
@@ -3630,8 +3630,8 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:660
 #, c-format
-msgid "could not locate required checkpoint record at %X/%X"
-msgstr "요청된 체크포인트 레코드의 위치(%X/%X)를 잡을 수 없음"
+msgid "could not locate required checkpoint record at %X/%08X"
+msgstr "요청된 체크포인트 레코드의 위치(%X/%08X)를 잡을 수 없음"
 
 #: access/transam/xlogrecovery.c:690 commands/tablespace.c:664
 #, c-format
@@ -3655,13 +3655,13 @@ msgstr "\"%s\" 파일을 \"%s\" 파일로 이름을 바꿀 수 없음: %m"
 
 #: access/transam/xlogrecovery.c:770
 #, c-format
-msgid "restarting backup recovery with redo LSN %X/%X"
-msgstr "\"%X/%X\" redo LSN에서 백업 복구 작업을 다시 시작합니다"
+msgid "restarting backup recovery with redo LSN %X/%08X"
+msgstr "\"%X/%08X\" redo LSN에서 백업 복구 작업을 다시 시작합니다"
 
 #: access/transam/xlogrecovery.c:795
 #, c-format
-msgid "could not locate a valid checkpoint record at %X/%X"
-msgstr "%X/%X에서 바른 체크포인트 레코드를 잡을 수 없음"
+msgid "could not locate a valid checkpoint record at %X/%08X"
+msgstr "%X/%08X에서 바른 체크포인트 레코드를 잡을 수 없음"
 
 #: access/transam/xlogrecovery.c:806
 #, c-format
@@ -3685,8 +3685,8 @@ msgstr "\"%s\" 복구 대상 이름까지 시점 복구 작업을 시작합니
 
 #: access/transam/xlogrecovery.c:821
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "\"%X/%X\" 위치(LSN)까지 시점 복구 작업을 시작합니다"
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
+msgstr "\"%X/%08X\" 위치(LSN)까지 시점 복구 작업을 시작합니다"
 
 #: access/transam/xlogrecovery.c:825
 #, c-format
@@ -3706,19 +3706,19 @@ msgstr "요청한 %u 타임라인은 서버 타임라인의 하위가 아님"
 #: access/transam/xlogrecovery.c:851
 #, c-format
 msgid ""
-"Latest checkpoint is at %X/%X on timeline %u, but in the history of the "
-"requested timeline, the server forked off from that timeline at %X/%X."
+"Latest checkpoint is at %X/%08X on timeline %u, but in the history of the "
+"requested timeline, the server forked off from that timeline at %X/%08X."
 msgstr ""
-"마지막 체크포인트 위치는 %X/%X (%u 타임라인)입니다. 하지만, 요청받은 타임라"
-"인 내역파일에는 그 타임라인 %X/%X 위치에서 분기되었습니다."
+"마지막 체크포인트 위치는 %X/%08X (%u 타임라인)입니다. 하지만, 요청받은 타임라"
+"인 내역파일에는 그 타임라인 %X/%08X 위치에서 분기되었습니다."
 
 #: access/transam/xlogrecovery.c:865
 #, c-format
 msgid ""
-"requested timeline %u does not contain minimum recovery point %X/%X on "
+"requested timeline %u does not contain minimum recovery point %X/%08X on "
 "timeline %u"
 msgstr ""
-"요청한 %u 타임라인은 %X/%X 최소 복구 위치가 없습니다, 기존 타임라인: %u"
+"요청한 %u 타임라인은 %X/%08X 최소 복구 위치가 없습니다, 기존 타임라인: %u"
 
 #: access/transam/xlogrecovery.c:893
 #, c-format
@@ -3824,18 +3824,18 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:1717
 #, c-format
-msgid "unexpected record type found at redo point %X/%X"
-msgstr "%X/%X redo 위치에 잘못된 레크드 형태가 발견됨"
+msgid "unexpected record type found at redo point %X/%08X"
+msgstr "%X/%08X redo 위치에 잘못된 레크드 형태가 발견됨"
 
 #: access/transam/xlogrecovery.c:1740
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "%X/%X에서 redo 작업 시작됨"
+msgid "redo starts at %X/%08X"
+msgstr "%X/%08X에서 redo 작업 시작됨"
 
 #: access/transam/xlogrecovery.c:1753
 #, c-format
-msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
-msgstr "redo 진행 중, 예상시간: %ld.%02d s, 현재 LSN: %X/%X"
+msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%08X"
+msgstr "redo 진행 중, 예상시간: %ld.%02d s, 현재 LSN: %X/%08X"
 
 #: access/transam/xlogrecovery.c:1843
 #, c-format
@@ -3844,8 +3844,8 @@ msgstr "요청한 복구 중지 지점이 일치하는 복구 지점 앞에 있
 
 #: access/transam/xlogrecovery.c:1875
 #, c-format
-msgid "redo done at %X/%X system usage: %s"
-msgstr "%X/%X에서 redo 작업 완료, 시스템 사용량: %s"
+msgid "redo done at %X/%08X system usage: %s"
+msgstr "%X/%08X에서 redo 작업 완료, 시스템 사용량: %s"
 
 #: access/transam/xlogrecovery.c:1881
 #, c-format
@@ -3864,8 +3864,8 @@ msgstr "지정한 recovery target 도달 전에 복구 끝남"
 
 #: access/transam/xlogrecovery.c:2095
 #, c-format
-msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
-msgstr "%X/%X에 빠진 contrecord를 건너뜀, %s에 덮어씀"
+msgid "successfully skipped missing contrecord at %X/%08X, overwritten at %s"
+msgstr "%X/%08X에 빠진 contrecord를 건너뜀, %s에 덮어씀"
 
 #: access/transam/xlogrecovery.c:2162
 #, c-format
@@ -3888,19 +3888,19 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:2217
 #, c-format
-msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X"
-msgstr "redo LSN %X/%X 부터 end LSN %X/%X 까지 백업 복구 완료"
+msgid "completed backup recovery with redo LSN %X/%08X and end LSN %X/%08X"
+msgstr "redo LSN %X/%08X 부터 end LSN %X/%08X 까지 백업 복구 완료"
 
 #: access/transam/xlogrecovery.c:2247
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "%X/%X 위치에서 복구 일관성을 맞춤"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "%X/%08X 위치에서 복구 일관성을 맞춤"
 
 #. translator: %s is a WAL record description
 #: access/transam/xlogrecovery.c:2285
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "WAL redo 위치: %X/%X, 대상: %s"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "WAL redo 위치: %X/%08X, 대상: %s"
 
 #: access/transam/xlogrecovery.c:2383
 #, c-format
@@ -3919,9 +3919,9 @@ msgstr "체크포인트 레코드에 예기치 않은 타임라인 ID %u이(가)
 #, c-format
 msgid ""
 "unexpected timeline ID %u in checkpoint record, before reaching minimum "
-"recovery point %X/%X on timeline %u"
+"recovery point %X/%08X on timeline %u"
 msgstr ""
-"체크포인트 내역 안에 %u 타임라인 ID가 기대한 것과 다릅니다. 발생 위치: %X/%X "
+"체크포인트 내역 안에 %u 타임라인 ID가 기대한 것과 다릅니다. 발생 위치: %X/%08X "
 "(타임라인: %u) 최소 복구 위치 이전"
 
 #: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868
@@ -3931,8 +3931,8 @@ msgstr "일관성을 다 맞추어 복구 작업을 중지합니다."
 
 #: access/transam/xlogrecovery.c:2613
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "복구 중지 위치(LSN): \"%X/%X\" 이전"
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "복구 중지 위치(LSN): \"%X/%08X\" 이전"
 
 #: access/transam/xlogrecovery.c:2703
 #, c-format
@@ -3951,8 +3951,8 @@ msgstr "복구 중지함, 복구 위치 \"%s\", 시간 %s"
 
 #: access/transam/xlogrecovery.c:2781
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "복구 중지 위치(LSN): \"%X/%X\" 이후"
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "복구 중지 위치(LSN): \"%X/%08X\" 이후"
 
 #: access/transam/xlogrecovery.c:2848
 #, c-format
@@ -3986,19 +3986,19 @@ msgstr "계속 진행하려면, pg_wal_replay_resume() 함수를 호출하세요
 
 #: access/transam/xlogrecovery.c:3205
 #, c-format
-msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "예상치 못한 타임라인 ID %u, WAL 조각 파일: %s, LSN %X/%X, offset %u"
+msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "예상치 못한 타임라인 ID %u, WAL 조각 파일: %s, LSN %X/%08X, offset %u"
 
 #: access/transam/xlogrecovery.c:3413
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
-msgstr "%s WAL 조각에서 읽기 실패, LSN %X/%X, offset %u: %m"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: %m"
+msgstr "%s WAL 조각에서 읽기 실패, LSN %X/%08X, offset %u: %m"
 
 #: access/transam/xlogrecovery.c:3420
 #, c-format
 msgid ""
-"could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
-msgstr "%s WAL 조각에서 읽기 실패, LSN %X/%X, offset %u: read %d / %zu"
+"could not read from WAL segment %s, LSN %X/%08X, offset %u: read %d of %zu"
+msgstr "%s WAL 조각에서 읽기 실패, LSN %X/%08X, offset %u: read %d / %zu"
 
 #: access/transam/xlogrecovery.c:4060
 #, c-format
@@ -4034,10 +4034,10 @@ msgstr "요청한 %u 타임라인은 %u 데이터베이스 시스템 타임라
 #, c-format
 msgid ""
 "new timeline %u forked off current database system timeline %u before "
-"current recovery point %X/%X"
+"current recovery point %X/%08X"
 msgstr ""
 "복구 위치까지 복구하기 전에 새 타임라인 %u번으로 분기됨, 기존 데이터베이스 타"
-"임라인: %u, 기대한 복구 위치 %X/%X"
+"임라인: %u, 기대한 복구 위치 %X/%08X"
 
 #: access/transam/xlogrecovery.c:4177
 #, c-format
@@ -4374,29 +4374,29 @@ msgstr "매니페스트에 있는 타임라인 %u번이 이 서버 백업 이력
 #: backup/basebackup_incremental.c:414
 #, c-format
 msgid ""
-"manifest requires WAL from initial timeline %u starting at %X/%X, but that "
-"timeline begins at %X/%X"
+"manifest requires WAL from initial timeline %u starting at %X/%08X, but that "
+"timeline begins at %X/%08X"
 msgstr ""
-"매니페스트에는 시작 타임라인이 %u번으로 %X/%X에 있다고 해서 그 WAL 파일이 필요한데, "
-"그 타임라인은 %X/%X에 있음"
+"매니페스트에는 시작 타임라인이 %u번으로 %X/%08X에 있다고 해서 그 WAL 파일이 필요한데, "
+"그 타임라인은 %X/%08X에 있음"
 
 #: backup/basebackup_incremental.c:424
 #, c-format
 msgid ""
-"manifest requires WAL from continuation timeline %u starting at %X/%X, but "
-"that timeline begins at %X/%X"
+"manifest requires WAL from continuation timeline %u starting at %X/%08X, but "
+"that timeline begins at %X/%08X"
 msgstr ""
-"매니페스트에는 연결 타임라인이 %u번으로 %X/%X에 있다고 해서 그 WAL 파일이 필요한데, "
-"그 타임라인은 %X/%X에 있음"
+"매니페스트에는 연결 타임라인이 %u번으로 %X/%08X에 있다고 해서 그 WAL 파일이 필요한데, "
+"그 타임라인은 %X/%08X에 있음"
 
 #: backup/basebackup_incremental.c:435
 #, c-format
 msgid ""
-"manifest requires WAL from final timeline %u ending at %X/%X, but this "
-"backup starts at %X/%X"
+"manifest requires WAL from final timeline %u ending at %X/%08X, but this "
+"backup starts at %X/%08X"
 msgstr ""
-"매니페스트에는 최종 타임라인이 %u번으로 %X/%X에 있다고 해서 그 WAL 파일이 필요한데, "
-"이 백업은 %X/%X에서 시작됨"
+"매니페스트에는 최종 타임라인이 %u번으로 %X/%08X에 있다고 해서 그 WAL 파일이 필요한데, "
+"이 백업은 %X/%08X에서 시작됨"
 
 #: backup/basebackup_incremental.c:439
 #, c-format
@@ -4410,34 +4410,34 @@ msgstr ""
 #: backup/basebackup_incremental.c:446
 #, c-format
 msgid ""
-"manifest requires WAL from non-final timeline %u ending at %X/%X, but this "
-"server switched timelines at %X/%X"
+"manifest requires WAL from non-final timeline %u ending at %X/%08X, but this "
+"server switched timelines at %X/%08X"
 msgstr ""
-"매니페스트에는 %u 타임라인을 끝내는 것이 %X/%X에 있어 그 WAL 파일이 필요한데, "
-"서버는 %X/%X에서 타임라인이 바뀌었음"
+"매니페스트에는 %u 타임라인을 끝내는 것이 %X/%08X에 있어 그 WAL 파일이 필요한데, "
+"서버는 %X/%08X에서 타임라인이 바뀌었음"
 
 #: backup/basebackup_incremental.c:527
 #, c-format
 msgid ""
-"WAL summaries are required on timeline %u from %X/%X to %X/%X, but no "
+"WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but no "
 "summaries for that timeline and LSN range exist"
 msgstr ""
-"WAL 요약 정보에서는 %u번 타임라인은 %X/%X에서 %X/%X까지인데, "
+"WAL 요약 정보에서는 %u번 타임라인은 %X/%08X에서 %X/%08X까지인데, "
 "이 타임라인과 범위에 대한 요약을 못 찾음"
 
 #: backup/basebackup_incremental.c:534
 #, c-format
 msgid ""
-"WAL summaries are required on timeline %u from %X/%X to %X/%X, but the "
+"WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but the "
 "summaries for that timeline and LSN range are incomplete"
 msgstr ""
-"WAL 요약 정보에서는 %u번 타임라인은 %X/%X에서 %X/%X까지인데, "
+"WAL 요약 정보에서는 %u번 타임라인은 %X/%08X에서 %X/%08X까지인데, "
 "이 타임라인과 범위에 대한 요약이 불완전함"
 
 #: backup/basebackup_incremental.c:538
 #, c-format
-msgid "The first unsummarized LSN in this range is %X/%X."
-msgstr "이 범위 안의 첫번째 요약푼 LSN은 %X/%X입니다."
+msgid "The first unsummarized LSN in this range is %X/%08X."
+msgstr "이 범위 안의 첫번째 요약푼 LSN은 %X/%08X입니다."
 
 #: backup/basebackup_incremental.c:938
 #, c-format
@@ -11205,9 +11205,9 @@ msgstr ""
 
 #: commands/subscriptioncmds.c:1473
 #, c-format
-msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
+msgid "skip WAL location (LSN %X/%08X) must be greater than origin LSN %X/%08X"
 msgstr ""
-"WAL 위치 (LSN %X/%X)를 건너뛰려면, 그 값이 원본 LSN %X/%X 보다 커야합니다"
+"WAL 위치 (LSN %X/%08X)를 건너뛰려면, 그 값이 원본 LSN %X/%08X 보다 커야합니다"
 
 #: commands/subscriptioncmds.c:1594
 #, c-format
@@ -21706,38 +21706,38 @@ msgstr "WAL 요약정보 처리 작업이 진행 중이지 않음"
 #: postmaster/walsummarizer.c:741
 #, c-format
 msgid ""
-"Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/"
+"Summarization is needed through %X/%08X, but is stuck at %X/%08X on disk and %X/"
 "%X in memory."
 msgstr ""
-"요약정보 처리 작업은 %X/%X에서 필요한데, 디스크의 %X/%X, 메모리의 %X/%X에서 멈추어 있음"
+"요약정보 처리 작업은 %X/%08X에서 필요한데, 디스크의 %X/%08X, 메모리의 %X/%08X에서 멈추어 있음"
 
 #: postmaster/walsummarizer.c:755
 #, c-format
-msgid "still waiting for WAL summarization through %X/%X after %ld second"
+msgid "still waiting for WAL summarization through %X/%08X after %ld second"
 msgid_plural ""
-"still waiting for WAL summarization through %X/%X after %ld seconds"
+"still waiting for WAL summarization through %X/%08X after %ld seconds"
 msgstr[0] ""
-"%X/%X에서 여전히 %ld초 동안 WAL 요약정보 처리 작업이 멈춰 있음"
+"%X/%08X에서 여전히 %ld초 동안 WAL 요약정보 처리 작업이 멈춰 있음"
 
 #: postmaster/walsummarizer.c:760
 #, c-format
-msgid "Summarization has reached %X/%X on disk and %X/%X in memory."
-msgstr "요약정보 처리 작업이 디스크의 %X/%X에, 메모리의 %X/%X에 다달았음"
+msgid "Summarization has reached %X/%08X on disk and %X/%08X in memory."
+msgstr "요약정보 처리 작업이 디스크의 %X/%08X에, 메모리의 %X/%08X에 다달았음"
 
 #: postmaster/walsummarizer.c:1000
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "%X/%X 뒤에 올바른 레코드를 찾을 수 없음"
+msgid "could not find a valid record after %X/%08X"
+msgstr "%X/%08X 뒤에 올바른 레코드를 찾을 수 없음"
 
 #: postmaster/walsummarizer.c:1045
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X: %s"
-msgstr "%u번 타임라인의 %X/%X에서 WAL를 읽을 수 없음: %s"
+msgid "could not read WAL from timeline %u at %X/%08X: %s"
+msgstr "%u번 타임라인의 %X/%08X에서 WAL를 읽을 수 없음: %s"
 
 #: postmaster/walsummarizer.c:1051
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X"
-msgstr "타임라인 %u, 위치 %X/%X 에서 WAL를 읽을 없음"
+msgid "could not read WAL from timeline %u at %X/%08X"
+msgstr "타임라인 %u, 위치 %X/%08X 에서 WAL를 읽을 없음"
 
 #: regex/regc_pg_locale.c:244
 #, c-format
@@ -22059,16 +22059,16 @@ msgstr "\"%s\" 이름의 논리적 복제 슬롯을 만드는 중"
 
 #: replication/logical/logical.c:630
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
 msgstr ""
-"%X/%X 이후 트랜잭션 커밋 정보를 스트리밍 하는 중, %X/%X 위치부터 WAL 읽는 중"
+"%X/%08X 이후 트랜잭션 커밋 정보를 스트리밍 하는 중, %X/%08X 위치부터 WAL 읽는 중"
 
 #: replication/logical/logical.c:778
 #, c-format
 msgid ""
-"slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
+"slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
 msgstr ""
-"슬롯: \"%s\", 출력 플러그인: \"%s\", 해당 콜백함수: %s, 관련 LSN: %X/%X"
+"슬롯: \"%s\", 출력 플러그인: \"%s\", 해당 콜백함수: %s, 관련 LSN: %X/%08X"
 
 #: replication/logical/logical.c:784
 #, c-format
@@ -22175,8 +22175,8 @@ msgstr ""
 
 #: replication/logical/origin.c:806
 #, c-format
-msgid "recovered replication state of node %d to %X/%X"
-msgstr "%d 노드 %X/%X 위치로 복제 상태가 복구됨"
+msgid "recovered replication state of node %d to %X/%08X"
+msgstr "%d 노드 %X/%08X 위치로 복제 상태가 복구됨"
 
 #: replication/logical/origin.c:816
 #, c-format
@@ -22296,11 +22296,11 @@ msgstr "원격 슬롯이 로컬 슬롯 보다 우선이어서 복제 슬롯(\"%s
 #: replication/logical/slotsync.c:217
 #, c-format
 msgid ""
-"The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has "
-"LSN %X/%X and catalog xmin %u."
+"The remote slot has LSN %X/%08X and catalog xmin %u, but the local slot has "
+"LSN %X/%08X and catalog xmin %u."
 msgstr ""
-"원격 슬롯에는 LSN %X/%X, catalog xmin %u 정보가 있지만, "
-"로컬 슬롯은 LSN %X/%X, catalog xmin %u 상태입니다."
+"원격 슬롯에는 LSN %X/%08X, catalog xmin %u 정보가 있지만, "
+"로컬 슬롯은 LSN %X/%08X, catalog xmin %u 상태입니다."
 
 #: replication/logical/slotsync.c:459
 #, c-format
@@ -22315,8 +22315,8 @@ msgstr "\"%s\" 복제 슬롯을 동기화 할 수 없음"
 #: replication/logical/slotsync.c:580
 #, c-format
 msgid ""
-"Logical decoding could not find consistent point from local slot's LSN %X/%X."
-msgstr "논리적 디코딩이 로컬 슬롯 %X/%X에서 일관성 위치를 찾지 못함"
+"Logical decoding could not find consistent point from local slot's LSN %X/%08X."
+msgstr "논리적 디코딩이 로컬 슬롯 %X/%08X에서 일관성 위치를 찾지 못함"
 
 #: replication/logical/slotsync.c:589
 #, c-format
@@ -22326,11 +22326,11 @@ msgstr "새롭게 만들어진 \"%s\" 복제 슬롯은 이제 동기화 준비 
 #: replication/logical/slotsync.c:628
 #, c-format
 msgid ""
-"skipping slot synchronization because the received slot sync LSN %X/%X for "
-"slot \"%s\" is ahead of the standby position %X/%X"
+"skipping slot synchronization because the received slot sync LSN %X/%08X for "
+"slot \"%s\" is ahead of the standby position %X/%08X"
 msgstr ""
-"슬롯 동기화가 건너뜀, 수신된 슬롯 동기화 LSN은 %X/%X(해당 슬롯: \"%s\")인데 "
-"이는 대기 서버 위치인 %X/%X 보다 앞섭니다."
+"슬롯 동기화가 건너뜀, 수신된 슬롯 동기화 LSN은 %X/%08X(해당 슬롯: \"%s\")인데 "
+"이는 대기 서버 위치인 %X/%08X 보다 앞섭니다."
 
 #: replication/logical/slotsync.c:650
 #, c-format
@@ -22456,8 +22456,8 @@ msgstr[0] ""
 #: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501
 #: replication/logical/snapbuild.c:2017
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "논리적 디코딩 이어서 시작할 위치: %X/%X"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "논리적 디코딩 이어서 시작할 위치: %X/%08X"
 
 #: replication/logical/snapbuild.c:1406
 #, c-format
@@ -22466,8 +22466,8 @@ msgstr "실행할 트랜잭션이 없음"
 
 #: replication/logical/snapbuild.c:1453
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "논리적 디코딩 시작 위치: %X/%X"
+msgid "logical decoding found initial starting point at %X/%08X"
+msgstr "논리적 디코딩 시작 위치: %X/%08X"
 
 #: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479
 #, c-format
@@ -22476,8 +22476,8 @@ msgstr "(대략 %d개) %u 보다 오래된 트랜잭션이 종료되길 기다
 
 #: replication/logical/snapbuild.c:1477
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
-msgstr "논리적 디코딩을 이어서 시작할 위치: %X/%X"
+msgid "logical decoding found initial consistent point at %X/%08X"
+msgstr "논리적 디코딩을 이어서 시작할 위치: %X/%08X"
 
 #: replication/logical/snapbuild.c:1503
 #, c-format
@@ -22728,13 +22728,13 @@ msgstr "\"%s\" 구독이 오류로 비활성화 되었습니다."
 
 #: replication/logical/worker.c:4806
 #, c-format
-msgid "logical replication starts skipping transaction at LSN %X/%X"
-msgstr "%X/%X LSN 에서 트랜잭션 건너 뛰어 논리 복제를 시작함"
+msgid "logical replication starts skipping transaction at LSN %X/%08X"
+msgstr "%X/%08X LSN 에서 트랜잭션 건너 뛰어 논리 복제를 시작함"
 
 #: replication/logical/worker.c:4820
 #, c-format
-msgid "logical replication completed skipping transaction at LSN %X/%X"
-msgstr "논리 복제가 %X/%X LSN까지 트랜잭션을 건너뛰었습니다."
+msgid "logical replication completed skipping transaction at LSN %X/%08X"
+msgstr "논리 복제가 %X/%08X LSN까지 트랜잭션을 건너뛰었습니다."
 
 #: replication/logical/worker.c:4902
 #, c-format
@@ -22744,9 +22744,9 @@ msgstr "\"%s\" 이름의 구독의 LSN 건너뛰기 완료함"
 #: replication/logical/worker.c:4903
 #, c-format
 msgid ""
-"Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN "
-"%X/%X."
-msgstr "원력 트랜잭션 마침 WAL 위치 %X/%X LSN이 skip-LSN %X/%X와 같지 않음"
+"Remote transaction's finish WAL location (LSN) %X/%08X did not match skip-LSN "
+"%X/%08X."
+msgstr "원력 트랜잭션 마침 WAL 위치 %X/%08X LSN이 skip-LSN %X/%08X와 같지 않음"
 
 #: replication/logical/worker.c:4940
 #, c-format
@@ -22769,10 +22769,10 @@ msgstr ""
 #, c-format
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
-"\"%s\" in transaction %u, finished at %X/%X"
+"\"%s\" in transaction %u, finished at %X/%08X"
 msgstr ""
 "\"%s\" 복제 오리진용 원격 데이터를 처리합니다. 해당 메시지 유형: \"%s\", 해"
-"당 트랜잭션: %u, 마침 위치: %X/%X"
+"당 트랜잭션: %u, 마침 위치: %X/%08X"
 
 #: replication/logical/worker.c:4960
 #, c-format
@@ -22788,10 +22788,10 @@ msgstr ""
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
 "\"%s\" for replication target relation \"%s.%s\" in transaction %u, finished "
-"at %X/%X"
+"at %X/%08X"
 msgstr ""
 "\"%s\" 복제 오리진용 원격 데이터를 처리합니다. 해당 메시지 유형: \"%s\", 해"
-"당 복제 대상 릴레이션: \"%s.%s\", 해당 트랜잭션: %u, 마침 위치: %X/%X"
+"당 복제 대상 릴레이션: \"%s.%s\", 해당 트랜잭션: %u, 마침 위치: %X/%08X"
 
 #: replication/logical/worker.c:4978
 #, c-format
@@ -22808,11 +22808,11 @@ msgstr ""
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
 "\"%s\" for replication target relation \"%s.%s\" column \"%s\" in "
-"transaction %u, finished at %X/%X"
+"transaction %u, finished at %X/%08X"
 msgstr ""
 "\"%s\" 복제 오리진용 원격 데이터를 처리합니다. 해당 메시지 유형: \"%s\", 해"
 "당 복제 대상 릴레이션: \"%s.%s\", 해당 칼럼 \"%s\", 해당 트랜잭션: %u, 마침 "
-"위치: %X/%X"
+"위치: %X/%08X"
 
 #: replication/pgoutput/pgoutput.c:322
 #, c-format
@@ -23013,10 +23013,10 @@ msgstr "복제 슬롯은 %s 속성을 가진 롤만 사용할 수 있습니다."
 
 #: replication/slot.c:1498
 #, c-format
-msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte."
-msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes."
+msgid "The slot's restart_lsn %X/%08X exceeds the limit by %llu byte."
+msgid_plural "The slot's restart_lsn %X/%08X exceeds the limit by %llu bytes."
 msgstr[0] ""
-"해당 슬롯 restart_lsn %X/%X 값은 %llu 바이트로 그 크기를 초과했습니다."
+"해당 슬롯 restart_lsn %X/%08X 값은 %llu 바이트로 그 크기를 초과했습니다."
 
 #: replication/slot.c:1506
 #, c-format
@@ -23170,8 +23170,8 @@ msgstr "이 슬롯은 한 번도 WAL를 예약한 적이 없거나, 잘못된 
 
 #: replication/slotfuncs.c:566
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
-msgstr "복제 슬롯 위치를 %X/%X 로 바꿀 수 없습니다. 최소값은 %X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
+msgstr "복제 슬롯 위치를 %X/%08X 로 바꿀 수 없습니다. 최소값은 %X/%08X"
 
 #: replication/slotfuncs.c:673
 #, c-format
@@ -23282,13 +23282,13 @@ msgstr ""
 
 #: replication/walreceiver.c:419
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
-msgstr "주 서버의 WAL 스트리밍 시작 위치: %X/%X (타임라인 %u)"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
+msgstr "주 서버의 WAL 스트리밍 시작 위치: %X/%08X (타임라인 %u)"
 
 #: replication/walreceiver.c:423
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "WAL 스트리밍 재시작 위치: %X/%X (타임라인 %u)"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
+msgstr "WAL 스트리밍 재시작 위치: %X/%08X (타임라인 %u)"
 
 #: replication/walreceiver.c:458
 #, c-format
@@ -23302,8 +23302,8 @@ msgstr "주 서버에 의해서 복제가 끝남"
 
 #: replication/walreceiver.c:503
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "타임라인 %u, 위치 %X/%X 에서 WAL 끝에 도달함"
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "타임라인 %u, 위치 %X/%08X 에서 WAL 끝에 도달함"
 
 #: replication/walreceiver.c:593
 #, c-format
@@ -23353,20 +23353,20 @@ msgstr "물리적 복제에서 논리적 복제 슬롯을 사용할 수 없음"
 #: replication/walsender.c:919
 #, c-format
 msgid ""
-"requested starting point %X/%X on timeline %u is not in this server's history"
-msgstr "요청된 %X/%X 시작 위치(타임라인 %u)가 이 서버 내역에 없습니다."
+"requested starting point %X/%08X on timeline %u is not in this server's history"
+msgstr "요청된 %X/%08X 시작 위치(타임라인 %u)가 이 서버 내역에 없습니다."
 
 #: replication/walsender.c:922
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "이 서버의 시작 위치: 타임라인 %u, 위치 %X/%X"
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "이 서버의 시작 위치: 타임라인 %u, 위치 %X/%08X"
 
 #: replication/walsender.c:966
 #, c-format
 msgid ""
-"requested starting point %X/%X is ahead of the WAL flush position of this "
-"server %X/%X"
-msgstr "%X/%X 위치는 서버의 %X/%X 보다 미래의 것입니다."
+"requested starting point %X/%08X is ahead of the WAL flush position of this "
+"server %X/%08X"
+msgstr "%X/%08X 위치는 서버의 %X/%08X 보다 미래의 것입니다."
 
 #: replication/walsender.c:1160
 #, c-format
diff --git a/src/backend/po/pl.po b/src/backend/po/pl.po
index 3ac9d0451c9..6d9e9b75338 100644
--- a/src/backend/po/pl.po
+++ b/src/backend/po/pl.po
@@ -1515,15 +1515,15 @@ msgstr "Niepowodzenie podczas rezerwowania procesora odczytu WAL."
 
 #: access/transam/twophase.c:1314
 #, c-format
-#| msgid "could not read two-phase state from xlog at %X/%X"
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "nie można czytać stanu dwufazowego z WAL na %X/%X"
+#| msgid "could not read two-phase state from xlog at %X/%08X"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "nie można czytać stanu dwufazowego z WAL na %X/%08X"
 
 #: access/transam/twophase.c:1322
 #, c-format
-#| msgid "expected two-phase state data is not present in xlog at %X/%X"
-msgid "expected two-phase state data is not present in WAL at %X/%X"
-msgstr "oczekiwanych danych stanu dwufazowego nie ma w WAL na %X/%X"
+#| msgid "expected two-phase state data is not present in xlog at %X/%08X"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
+msgstr "oczekiwanych danych stanu dwufazowego nie ma w WAL na %X/%08X"
 
 #: access/transam/twophase.c:1557
 #, c-format
@@ -1756,8 +1756,8 @@ msgstr "nie można pisać do pliku dziennika %s do offsetu %u, długość %zu: %
 
 #: access/transam/xlog.c:2742
 #, c-format
-msgid "updated min recovery point to %X/%X on timeline %u"
-msgstr "zaktualizowano min punkt przywracania do %X/%X na osi czasu %u"
+msgid "updated min recovery point to %X/%08X on timeline %u"
+msgstr "zaktualizowano min punkt przywracania do %X/%08X na osi czasu %u"
 
 #: access/transam/xlog.c:3389
 #, c-format
@@ -1833,8 +1833,8 @@ msgstr "nowa linia czasu %u nie jest potomna dla linii czasu systemu bazy danych
 
 #: access/transam/xlog.c:4338
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
-msgstr "nowa linia czasu %u nie jest potomna dla linii czasu systemu bazy danych %u przed bieżącym punktem przywracania %X/%X"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
+msgstr "nowa linia czasu %u nie jest potomna dla linii czasu systemu bazy danych %u przed bieżącym punktem przywracania %X/%08X"
 
 #: access/transam/xlog.c:4357
 #, c-format
@@ -2120,8 +2120,8 @@ msgstr "zatrzymanie odzyskiwania po osiągnięciu spójności"
 #: access/transam/xlog.c:5647
 #, c-format
 #| msgid "recovery stopping before abort of transaction %u, time %s"
-msgid "recovery stopping before WAL position (LSN) \"%X/%X\""
-msgstr "zatrzymanie odzyskiwania przed pozycją WAL (LSN) \"%X/%X\""
+msgid "recovery stopping before WAL position (LSN) \"%X/%08X\""
+msgstr "zatrzymanie odzyskiwania przed pozycją WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlog.c:5733
 #, c-format
@@ -2141,8 +2141,8 @@ msgstr "zatrzymanie odzyskiwania w punkcie przywrócenia \"%s\", czas %s"
 #: access/transam/xlog.c:5804
 #, c-format
 #| msgid "recovery stopping after abort of transaction %u, time %s"
-msgid "recovery stopping after WAL position (LSN) \"%X/%X\""
-msgstr "zatrzymanie odzyskiwania po pozycji WAL (LSN) \"%X/%X\""
+msgid "recovery stopping after WAL position (LSN) \"%X/%08X\""
+msgstr "zatrzymanie odzyskiwania po pozycji WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlog.c:5872
 #, c-format
@@ -2258,8 +2258,8 @@ msgstr "chwila początkowa odzyskiwania do \"%s\""
 #: access/transam/xlog.c:6327
 #, c-format
 #| msgid "starting point-in-time recovery to \"%s\""
-msgid "starting point-in-time recovery to WAL position (LSN) \"%X/%X\""
-msgstr "chwila początkowa odzyskiwania do pozycji WAL (LSN) \"%X/%X\""
+msgid "starting point-in-time recovery to WAL position (LSN) \"%X/%08X\""
+msgstr "chwila początkowa odzyskiwania do pozycji WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlog.c:6332
 #, c-format
@@ -2273,8 +2273,8 @@ msgstr "rozpoczęto odzyskiwanie archiwum"
 
 #: access/transam/xlog.c:6386 access/transam/xlog.c:6514
 #, c-format
-msgid "checkpoint record is at %X/%X"
-msgstr "rekord punktu kontrolnego jest w %X/%X"
+msgid "checkpoint record is at %X/%08X"
+msgstr "rekord punktu kontrolnego jest w %X/%08X"
 
 #: access/transam/xlog.c:6400
 #, c-format
@@ -2318,8 +2318,8 @@ msgstr "nie można odnaleźć poprawnego rekordu punktu kontrolnego"
 
 #: access/transam/xlog.c:6533
 #, c-format
-msgid "using previous checkpoint record at %X/%X"
-msgstr "użycie poprzedniego rekordu punktu kontrolnego w %X/%X"
+msgid "using previous checkpoint record at %X/%08X"
+msgstr "użycie poprzedniego rekordu punktu kontrolnego w %X/%08X"
 
 #: access/transam/xlog.c:6577
 #, c-format
@@ -2328,13 +2328,13 @@ msgstr "żądana linia czasu %u nie jest potomna dla historii tego procesu"
 
 #: access/transam/xlog.c:6579
 #, c-format
-msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
-msgstr "Ostatni punkt kontrolny znajduje się na %X/%X osi czasu %u, ale w historii żądanej osi czasu serwer rozłączył się z tą osią na %X/%X."
+msgid "Latest checkpoint is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
+msgstr "Ostatni punkt kontrolny znajduje się na %X/%08X osi czasu %u, ale w historii żądanej osi czasu serwer rozłączył się z tą osią na %X/%08X."
 
 #: access/transam/xlog.c:6595
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
-msgstr "żądana linia czasu %u nie zawiera minimalnego punktu przywrócenia %X/%X na osi czasu %u"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
+msgstr "żądana linia czasu %u nie zawiera minimalnego punktu przywrócenia %X/%08X na osi czasu %u"
 
 #: access/transam/xlog.c:6626
 #, c-format
@@ -2378,8 +2378,8 @@ msgstr "inicjacja dla rezerwy dynamicznej"
 
 #: access/transam/xlog.c:7014
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "ponowienie uruchamia się w %X/%X"
+msgid "redo starts at %X/%08X"
+msgstr "ponowienie uruchamia się w %X/%08X"
 
 #: access/transam/xlog.c:7248
 #, c-format
@@ -2388,8 +2388,8 @@ msgstr "żądany punkt zatrzymania odtworzenia znajduje się przed punktem spój
 
 #: access/transam/xlog.c:7286
 #, c-format
-msgid "redo done at %X/%X"
-msgstr "ponowienie wykonane w %X/%X"
+msgid "redo done at %X/%08X"
+msgstr "ponowienie wykonane w %X/%08X"
 
 #: access/transam/xlog.c:7291 access/transam/xlog.c:9294
 #, c-format
@@ -2428,8 +2428,8 @@ msgstr "wybrany nowy ID linii czasowej: %u"
 
 #: access/transam/xlog.c:7839
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "stan spójnego odzyskania osiągnięty w %X/%X"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "stan spójnego odzyskania osiągnięty w %X/%08X"
 
 #: access/transam/xlog.c:8031
 #, c-format
@@ -2529,18 +2529,18 @@ msgstr "pominięcie punktu restartu, odzyskiwanie już się zakończyło"
 
 #: access/transam/xlog.c:9116
 #, c-format
-msgid "skipping restartpoint, already performed at %X/%X"
-msgstr "pominięcie punktu restartu, wykonano już w %X/%X"
+msgid "skipping restartpoint, already performed at %X/%08X"
+msgstr "pominięcie punktu restartu, wykonano już w %X/%08X"
 
 #: access/transam/xlog.c:9292
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "punkt restartu odzyskiwania w %X/%X"
+msgid "recovery restart point at %X/%08X"
+msgstr "punkt restartu odzyskiwania w %X/%08X"
 
 #: access/transam/xlog.c:9428
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "punkt przywrócenia \"%s\" utworzony w %X/%X"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "punkt przywrócenia \"%s\" utworzony w %X/%08X"
 
 #: access/transam/xlog.c:9558
 #, c-format
@@ -2554,8 +2554,8 @@ msgstr "nieoczekiwany ID linii czasu %u (po %u) w rekordzie punktu kontrolnego"
 
 #: access/transam/xlog.c:9583
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
-msgstr "nieoczekiwany ID linii czasu %u w rekordzie punktu kontrolnego, przed osiągnięciem minimalnego punktu przywrócenia %X/%X na linii czasu %u"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
+msgstr "nieoczekiwany ID linii czasu %u w rekordzie punktu kontrolnego, przed osiągnięciem minimalnego punktu przywrócenia %X/%08X na linii czasu %u"
 
 #: access/transam/xlog.c:9658
 #, c-format
@@ -2737,9 +2737,9 @@ msgstr "archiwizacja WAL nie jest włączona; musisz upewnić się, że wszystki
 #. translator: %s is a WAL record description
 #: access/transam/xlog.c:11319
 #, c-format
-#| msgid "xlog redo at %X/%X for %s"
-msgid "WAL redo at %X/%X for %s"
-msgstr "ponowienie WAL na %X/%X dla %s"
+#| msgid "xlog redo at %X/%08X for %s"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "ponowienie WAL na %X/%08X dla %s"
 
 #: access/transam/xlog.c:11368
 #, c-format
@@ -2940,48 +2940,48 @@ msgstr "Funkcje kontroli odzyskiwania mogą być wykonywane tylko w trakcie odzy
 
 #: access/transam/xlogreader.c:276
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "niepoprawne przesunięcie rekordu w %X/%X"
+msgid "invalid record offset at %X/%08X"
+msgstr "niepoprawne przesunięcie rekordu w %X/%08X"
 
 #: access/transam/xlogreader.c:284
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "wymagany kontrekord w %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "wymagany kontrekord w %X/%08X"
 
 #: access/transam/xlogreader.c:325 access/transam/xlogreader.c:625
 #, c-format
-msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "niepoprawna długość rekordu w %X/%X: oczekiwana %u, jest %u"
+msgid "invalid record length at %X/%08X: wanted %u, got %u"
+msgstr "niepoprawna długość rekordu w %X/%08X: oczekiwana %u, jest %u"
 
 #: access/transam/xlogreader.c:340
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "za duża długość rekordu %u w %X/%X"
+msgid "record length %u at %X/%08X too long"
+msgstr "za duża długość rekordu %u w %X/%08X"
 
 #: access/transam/xlogreader.c:381
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "brak flagi kontrekordu na %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "brak flagi kontrekordu na %X/%08X"
 
 #: access/transam/xlogreader.c:394
 #, c-format
-msgid "invalid contrecord length %u at %X/%X"
-msgstr "niepoprawna długość kontrekordu %u na %X/%X"
+msgid "invalid contrecord length %u at %X/%08X"
+msgstr "niepoprawna długość kontrekordu %u na %X/%08X"
 
 #: access/transam/xlogreader.c:633
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "niepoprawny ID menażera zasobów %u w %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "niepoprawny ID menażera zasobów %u w %X/%08X"
 
 #: access/transam/xlogreader.c:647 access/transam/xlogreader.c:664
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "rekord z niepoprawnym poprz-linkiem %X/%X w %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "rekord z niepoprawnym poprz-linkiem %X/%08X w %X/%08X"
 
 #: access/transam/xlogreader.c:701
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "niepoprawna suma kontrolna danych menadżera zasobów w rekordzie w %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "niepoprawna suma kontrolna danych menadżera zasobów w rekordzie w %X/%08X"
 
 #: access/transam/xlogreader.c:734
 #, c-format
@@ -3010,8 +3010,8 @@ msgstr "plik WAL pochodzi z innego systemu bazy danych: niepoprawny XLOG_BLCKSZ
 
 #: access/transam/xlogreader.c:813
 #, c-format
-msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
-msgstr "nieoczekiwany adrstrony %X/%X w segmencie dziennika %s, przesunięcie %u"
+msgid "unexpected pageaddr %X/%08X in log segment %s, offset %u"
+msgstr "nieoczekiwany adrstrony %X/%08X w segmencie dziennika %s, przesunięcie %u"
 
 #: access/transam/xlogreader.c:838
 #, c-format
@@ -3020,58 +3020,58 @@ msgstr "nieoczekiwany ID linii czasu %u (po %u) w segmencie dziennika %s, przesu
 
 #: access/transam/xlogreader.c:1083
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "poza porządkiem block_id %u na %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "poza porządkiem block_id %u na %X/%08X"
 
 #: access/transam/xlogreader.c:1106
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA jest ustawione, ale nie załączono danych na %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA jest ustawione, ale nie załączono danych na %X/%08X"
 
 #: access/transam/xlogreader.c:1113
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA nie jest ustawione, długość danych to %u na %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA nie jest ustawione, długość danych to %u na %X/%08X"
 
 #: access/transam/xlogreader.c:1149
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE jest ustawione, ale przesunięcie dziury %u długości %u blok obrazu o długości %u na %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE jest ustawione, ale przesunięcie dziury %u długości %u blok obrazu o długości %u na %X/%08X"
 
 #: access/transam/xlogreader.c:1165
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE nie jest ustawione, ale przesunięcie dziury %u o długości %u na %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE nie jest ustawione, ale przesunięcie dziury %u o długości %u na %X/%08X"
 
 #: access/transam/xlogreader.c:1180
 #, c-format
-msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_IS_COMPRESSED jest ustawione, ale blok obrazu o długości %u na %X/%X"
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_IS_COMPRESSED jest ustawione, ale blok obrazu o długości %u na %X/%08X"
 
 #: access/transam/xlogreader.c:1195
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "ani BKPIMAGE_HAS_HOLE ani BKPIMAGE_IS_COMPRESSED nie jest ustawione, ale długość bloku obrazu to %u na %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "ani BKPIMAGE_HAS_HOLE ani BKPIMAGE_IS_COMPRESSED nie jest ustawione, ale długość bloku obrazu to %u na %X/%08X"
 
 #: access/transam/xlogreader.c:1211
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL jest ustawione ale brak poprzedniej rel na %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL jest ustawione ale brak poprzedniej rel na %X/%08X"
 
 #: access/transam/xlogreader.c:1223
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "niepoprawny block_id %u na %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "niepoprawny block_id %u na %X/%08X"
 
 #: access/transam/xlogreader.c:1291
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "rekord o niepoprawnej długości w %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "rekord o niepoprawnej długości w %X/%08X"
 
 #: access/transam/xlogreader.c:1380
 #, c-format
-msgid "invalid compressed image at %X/%X, block %d"
-msgstr "niepoprawny skompresowany obraz na %X/%X, blok %d"
+msgid "invalid compressed image at %X/%08X, block %d"
+msgstr "niepoprawny skompresowany obraz na %X/%08X, blok %d"
 
 #: access/transam/xlogutils.c:747 replication/walsender.c:2345
 #, c-format
@@ -17092,13 +17092,13 @@ msgstr "początek dekodowania logicznego do gniazda \"%s\""
 
 #: replication/logical/logical.c:392
 #, c-format
-msgid "streaming transactions committing after %X/%X, reading WAL from %X/%X"
-msgstr "zatwierdzenie transakcji przesyłania po %X/%X, odczyt WAL od %X/%X"
+msgid "streaming transactions committing after %X/%08X, reading WAL from %X/%08X"
+msgstr "zatwierdzenie transakcji przesyłania po %X/%08X, odczyt WAL od %X/%08X"
 
 #: replication/logical/logical.c:527
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
-msgstr "gniazdo \"%s\", wtyczka wyjścia \"%s\", w wywołaniu zwrotnym %s, powiązana LSN %X/%X"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
+msgstr "gniazdo \"%s\", wtyczka wyjścia \"%s\", w wywołaniu zwrotnym %s, powiązana LSN %X/%08X"
 
 #: replication/logical/logical.c:534
 #, c-format
@@ -17296,8 +17296,8 @@ msgstr[2] "wyeksportowano logicznie dekodowaną migawkę: \"%s\" z %u IDami tran
 #: replication/logical/snapbuild.c:935 replication/logical/snapbuild.c:1300
 #: replication/logical/snapbuild.c:1843
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "dekodowanie logiczne napotkało punkt zgodności na %X/%X"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "dekodowanie logiczne napotkało punkt zgodności na %X/%08X"
 
 #: replication/logical/snapbuild.c:937
 #, c-format
@@ -17311,8 +17311,8 @@ msgstr "Nie ma już aktywnych transakcji."
 
 #: replication/logical/snapbuild.c:1364
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "dekodowanie logiczne napotkało początkowy punkt wyjścia na %X/%X"
+msgid "logical decoding found initial starting point at %X/%08X"
+msgstr "dekodowanie logiczne napotkało początkowy punkt wyjścia na %X/%08X"
 
 #: replication/logical/snapbuild.c:1366
 #, c-format
@@ -17664,13 +17664,13 @@ msgstr "najwyższa linia czasu %u podstawowego jest poza linią czasu odzyskiwan
 
 #: replication/walreceiver.c:388
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
-msgstr "rozpoczęto przesyłanie WAL z podstawowego na %X/%X na linii czasu %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
+msgstr "rozpoczęto przesyłanie WAL z podstawowego na %X/%08X na linii czasu %u"
 
 #: replication/walreceiver.c:393
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "ponownie rozpoczęto przesyłanie WAL na %X/%X na linii czasu %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
+msgstr "ponownie rozpoczęto przesyłanie WAL na %X/%08X na linii czasu %u"
 
 #: replication/walreceiver.c:422
 #, c-format
@@ -17684,8 +17684,8 @@ msgstr "replikacja zakończona przez serwer podstawowy"
 
 #: replication/walreceiver.c:460
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "Osiągnięto koniec WAL na linii czasu %u na %X/%X."
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "Osiągnięto koniec WAL na linii czasu %u na %X/%08X."
 
 #: replication/walreceiver.c:555
 #, c-format
@@ -17729,18 +17729,18 @@ msgstr "nie można użyć gniazda replikacji logicznej do dekodowania fizycznego
 
 #: replication/walsender.c:603
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
-msgstr "żądanego punktu początku %X/%X linii czasu %u nie ma w historii tego serwera"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
+msgstr "żądanego punktu początku %X/%08X linii czasu %u nie ma w historii tego serwera"
 
 #: replication/walsender.c:607
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "Historia tego serwera oddzieliła się od osi czasu %u na %X/%X."
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "Historia tego serwera oddzieliła się od osi czasu %u na %X/%08X."
 
 #: replication/walsender.c:652
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
-msgstr "żądany punkt początku %X/%X jest przed pozycją opróżnienia WAL tego serwera %X/%X"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
+msgstr "żądany punkt początku %X/%08X jest przed pozycją opróżnienia WAL tego serwera %X/%08X"
 
 #: replication/walsender.c:885
 #, c-format
@@ -25412,8 +25412,8 @@ msgstr "nie można importować migawki z innej bazy danych"
 #~ msgid "invalid value for recovery parameter \"recovery_target\""
 #~ msgstr "nieprawidłowa wartość dla parametru naprawczego \"recovery_target\""
 
-#~ msgid "redo record is at %X/%X; shutdown %s"
-#~ msgstr "rekord ponowienia w %X/%X; zamknięcie %s"
+#~ msgid "redo record is at %X/%08X; shutdown %s"
+#~ msgstr "rekord ponowienia w %X/%08X; zamknięcie %s"
 
 #~ msgid "next transaction ID: %u/%u; next OID: %u"
 #~ msgstr "ID następnej transakcji: %u/%u; następny OID: %u"
@@ -25538,8 +25538,8 @@ msgstr "nie można importować migawki z innej bazy danych"
 #~ msgid "Only superusers can use untrusted languages."
 #~ msgstr "Jedynie superużytkownik może używać niezaufanych języków."
 
-#~ msgid "invalid record length at %X/%X"
-#~ msgstr "niepoprawna długość rekordu w %X/%X"
+#~ msgid "invalid record length at %X/%08X"
+#~ msgstr "niepoprawna długość rekordu w %X/%08X"
 
 #~ msgid "must be superuser to control recovery"
 #~ msgstr "musisz być superużytkownikiem by kontrolować odzyskiwanie"
diff --git a/src/backend/po/pt_BR.po b/src/backend/po/pt_BR.po
index 21c2741e2bd..5beeac098f2 100644
--- a/src/backend/po/pt_BR.po
+++ b/src/backend/po/pt_BR.po
@@ -2005,18 +2005,18 @@ msgstr "Falha ao alocar um processo de leitura do WAL."
 
 #: access/transam/twophase.c:1423
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X: %s"
-msgstr "não foi possível ler o estado de duas-fases do WAL em %X/%X: %s"
+msgid "could not read two-phase state from WAL at %X/%08X: %s"
+msgstr "não foi possível ler o estado de duas-fases do WAL em %X/%08X: %s"
 
 #: access/transam/twophase.c:1428
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "não foi possível ler o estado de duas-fases do WAL em %X/%X"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "não foi possível ler o estado de duas-fases do WAL em %X/%08X"
 
 #: access/transam/twophase.c:1436
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
-msgstr "os dados esperados do estado de duas-fases não estão presentes no WAL em %X/%X"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
+msgstr "os dados esperados do estado de duas-fases não estão presentes no WAL em %X/%08X"
 
 #: access/transam/twophase.c:1732
 #, c-format
@@ -2072,8 +2072,8 @@ msgstr "não foi possível recuperar o arquivo de estado de duas-fases para a tr
 
 #: access/transam/twophase.c:2502
 #, c-format
-msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
-msgstr "O arquivo de estado de duas-fases foi encontrado no registro do WAL %X/%X, mas essa transação já foi restaurada do disco."
+msgid "Two-phase state file has been found in WAL record %X/%08X, but this transaction has already been restored from disk."
+msgstr "O arquivo de estado de duas-fases foi encontrado no registro do WAL %X/%08X, mas essa transação já foi restaurada do disco."
 
 #: access/transam/twophase.c:2510 jit/jit.c:205 utils/fmgr/dfmgr.c:209
 #: utils/fmgr/dfmgr.c:415
@@ -2227,8 +2227,8 @@ msgstr "não é possível ter mais do que 2^32-1 subtransações em uma transaç
 
 #: access/transam/xlog.c:1468
 #, c-format
-msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
-msgstr "requisitado descarregar além do final do WAL gerado; requisitado %X/%X, posição atual %X/%X"
+msgid "request to flush past end of generated WAL; request %X/%08X, current position %X/%08X"
+msgstr "requisitado descarregar além do final do WAL gerado; requisitado %X/%08X, posição atual %X/%08X"
 
 #: access/transam/xlog.c:2230
 #, c-format
@@ -2527,12 +2527,12 @@ msgstr ""
 
 #: access/transam/xlog.c:6307
 #, c-format
-msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
 msgstr ""
 
 #: access/transam/xlog.c:6330
 #, c-format
-msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
 msgstr ""
 
 #: access/transam/xlog.c:6768
@@ -2542,8 +2542,8 @@ msgstr "atividade de WAL simultânea enquanto o sistema de banco de dados está
 
 #: access/transam/xlog.c:7329
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "ponto de reinício de recuperação em %X/%X"
+msgid "recovery restart point at %X/%08X"
+msgstr "ponto de reinício de recuperação em %X/%08X"
 
 #: access/transam/xlog.c:7331
 #, c-format
@@ -2552,8 +2552,8 @@ msgstr "A última transação completada ocorreu às %s (momento de registro)."
 
 #: access/transam/xlog.c:7579
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "ponto de restauração \"%s\" criado em %X/%X"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "ponto de restauração \"%s\" criado em %X/%08X"
 
 #: access/transam/xlog.c:7786
 #, c-format
@@ -2800,53 +2800,53 @@ msgstr ""
 
 #: access/transam/xlogreader.c:621
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "deslocamento de registro inválido em %X/%X: esperado pelo menos %u, obtido %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "deslocamento de registro inválido em %X/%08X: esperado pelo menos %u, obtido %u"
 
 #: access/transam/xlogreader.c:630
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord é solicitado por %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord é solicitado por %X/%08X"
 
 #: access/transam/xlogreader.c:671 access/transam/xlogreader.c:1136
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "comprimento de registro inválido em %X/%X: esperado pelo menos %u, obtido %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "comprimento de registro inválido em %X/%08X: esperado pelo menos %u, obtido %u"
 
 #: access/transam/xlogreader.c:760
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "não há marcação contrecord em %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "não há marcação contrecord em %X/%08X"
 
 #: access/transam/xlogreader.c:773
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "comprimento de contrecord inválido %u (esperado %lld) em %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "comprimento de contrecord inválido %u (esperado %lld) em %X/%08X"
 
 #: access/transam/xlogreader.c:1144
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ID do gerenciador de recursos inválido %u em %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ID do gerenciador de recursos inválido %u em %X/%08X"
 
 #: access/transam/xlogreader.c:1157 access/transam/xlogreader.c:1173
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "registro com prev-link %X/%X incorreto em %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "registro com prev-link %X/%08X incorreto em %X/%08X"
 
 #: access/transam/xlogreader.c:1211
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "soma de verificação do gerenciador de recursos é incorreta no registro em %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "soma de verificação do gerenciador de recursos é incorreta no registro em %X/%08X"
 
 #: access/transam/xlogreader.c:1245
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "número mágico inválido %04X no segmento do WAL %s, LSN %X/%X, deslocamento %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "número mágico inválido %04X no segmento do WAL %s, LSN %X/%08X, deslocamento %u"
 
 #: access/transam/xlogreader.c:1260 access/transam/xlogreader.c:1302
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "bits de informação inválidos %04X no segmento do WAL %s, LSN %X/%X, deslocamento %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "bits de informação inválidos %04X no segmento do WAL %s, LSN %X/%08X, deslocamento %u"
 
 #: access/transam/xlogreader.c:1276
 #, c-format
@@ -2865,63 +2865,63 @@ msgstr "arquivo do WAL é de um sistema de banco de dados diferente: XLOG_BLCKSZ
 
 #: access/transam/xlogreader.c:1322
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "endereço de página não esperado %X/%X no segmento do WAL %s, LSN %X/%X, deslocamento %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "endereço de página não esperado %X/%08X no segmento do WAL %s, LSN %X/%08X, deslocamento %u"
 
 #: access/transam/xlogreader.c:1348
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ID da linha do tempo fora de sequência %u (após %u) no segmento do WAL %s, LSN %X/%X, deslocamento %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ID da linha do tempo fora de sequência %u (após %u) no segmento do WAL %s, LSN %X/%08X, deslocamento %u"
 
 #: access/transam/xlogreader.c:1754
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u fora de ordem em %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %u fora de ordem em %X/%08X"
 
 #: access/transam/xlogreader.c:1778
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA definido mas nenhum dado incluído em %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA definido mas nenhum dado incluído em %X/%08X"
 
 #: access/transam/xlogreader.c:1785
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA não foi definido mas tamanho do dado é %u em %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA não foi definido mas tamanho do dado é %u em %X/%08X"
 
 #: access/transam/xlogreader.c:1821
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE definido mas posição do espaço livre %u tamanho %u tamanho da imagem do bloco %u em %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE definido mas posição do espaço livre %u tamanho %u tamanho da imagem do bloco %u em %X/%08X"
 
 #: access/transam/xlogreader.c:1837
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE não foi definido mas posição do espaço livre %u tamanho %u em %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE não foi definido mas posição do espaço livre %u tamanho %u em %X/%08X"
 
 #: access/transam/xlogreader.c:1851
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED definido, mas bloqueia o comprimento da imagem %u em %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED definido, mas bloqueia o comprimento da imagem %u em %X/%08X"
 
 #: access/transam/xlogreader.c:1866
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "nem BKPIMAGE_HAS_HOLE nem BKPIMAGE_COMPRESSED definidos, mas o comprimento da imagem do bloco é %u em %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "nem BKPIMAGE_HAS_HOLE nem BKPIMAGE_COMPRESSED definidos, mas o comprimento da imagem do bloco é %u em %X/%08X"
 
 #: access/transam/xlogreader.c:1882
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL definido mas não há relação anterior em %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL definido mas não há relação anterior em %X/%08X"
 
 #: access/transam/xlogreader.c:1894
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "block_id %u inválido em %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "block_id %u inválido em %X/%08X"
 
 #: access/transam/xlogreader.c:1961
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "registro com tamanho inválido em %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "registro com tamanho inválido em %X/%08X"
 
 #: access/transam/xlogreader.c:1987
 #, c-format
@@ -2930,28 +2930,28 @@ msgstr "não foi possível localizar o bloco de cópia de segurança com ID %d n
 
 #: access/transam/xlogreader.c:2071
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
 msgstr ""
 
 #: access/transam/xlogreader.c:2078
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "não foi possível restaurar a imagem em %X/%X com estado não válido, bloco %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "não foi possível restaurar a imagem em %X/%08X com estado não válido, bloco %d"
 
 #: access/transam/xlogreader.c:2105 access/transam/xlogreader.c:2122
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
 msgstr ""
 
 #: access/transam/xlogreader.c:2131
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
 msgstr ""
 
 #: access/transam/xlogreader.c:2139
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "não foi possível descomprimir a imagem em %X/%X, bloco %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "não foi possível descomprimir a imagem em %X/%08X, bloco %d"
 
 #: access/transam/xlogrecovery.c:547
 #, c-format
@@ -2975,8 +2975,8 @@ msgstr "iniciando recuperação de ponto no tempo para \"%s\""
 
 #: access/transam/xlogrecovery.c:562
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "iniciando recuperação de ponto no tempo para o local do WAL (LSN) \"%X/%X\""
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
+msgstr "iniciando recuperação de ponto no tempo para o local do WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:566
 #, c-format
@@ -3038,13 +3038,13 @@ msgstr "linha do tempo solicitada %u não é descendente do histórico do servid
 
 #: access/transam/xlogrecovery.c:812
 #, c-format
-msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
-msgstr "Último ponto de controle está em %X/%X na linha do tempo %u, mas no histórico da linha do tempo solicitada, o servidor bifurcou daquela linha do tempo em %X/%X."
+msgid "Latest checkpoint is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
+msgstr "Último ponto de controle está em %X/%08X na linha do tempo %u, mas no histórico da linha do tempo solicitada, o servidor bifurcou daquela linha do tempo em %X/%08X."
 
 #: access/transam/xlogrecovery.c:826
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
-msgstr "linha do tempo solicitada %u não contém o ponto de recuperação mínimo %X/%X na linha do tempo %u"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
+msgstr "linha do tempo solicitada %u não contém o ponto de recuperação mínimo %X/%08X na linha do tempo %u"
 
 #: access/transam/xlogrecovery.c:854
 #, c-format
@@ -3125,12 +3125,12 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:1662
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "redo inicia em %X/%X"
+msgid "redo starts at %X/%08X"
+msgstr "redo inicia em %X/%08X"
 
 #: access/transam/xlogrecovery.c:1675
 #, c-format
-msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
+msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%08X"
 msgstr ""
 
 #: access/transam/xlogrecovery.c:1767
@@ -3140,8 +3140,8 @@ msgstr "ponto de parada de recuperação solicitado está antes do ponto de recu
 
 #: access/transam/xlogrecovery.c:1799
 #, c-format
-msgid "redo done at %X/%X system usage: %s"
-msgstr "refazer feito em %X/%X uso do sistema: %s"
+msgid "redo done at %X/%08X system usage: %s"
+msgstr "refazer feito em %X/%08X uso do sistema: %s"
 
 #: access/transam/xlogrecovery.c:1805
 #, c-format
@@ -3160,7 +3160,7 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:2019
 #, c-format
-msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
+msgid "successfully skipped missing contrecord at %X/%08X, overwritten at %s"
 msgstr ""
 
 #: access/transam/xlogrecovery.c:2086
@@ -3180,14 +3180,14 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:2163
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "estado de recuperação consistente alcançado em %X/%X"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "estado de recuperação consistente alcançado em %X/%08X"
 
 #. translator: %s is a WAL record description
 #: access/transam/xlogrecovery.c:2201
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "redo WAL em %X/%X para %s"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "redo WAL em %X/%08X para %s"
 
 #: access/transam/xlogrecovery.c:2299
 #, c-format
@@ -3201,8 +3201,8 @@ msgstr "ID da linha do tempo não esperado %u (após %u) no registro do ponto de
 
 #: access/transam/xlogrecovery.c:2324
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
-msgstr "ID da linha do tempo não esperado %u no registro do ponto de verificação, antes de atingir o ponto de recuperação mínimo %X/%X na linha do tempo %u"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
+msgstr "ID da linha do tempo não esperado %u no registro do ponto de verificação, antes de atingir o ponto de recuperação mínimo %X/%08X na linha do tempo %u"
 
 #: access/transam/xlogrecovery.c:2508 access/transam/xlogrecovery.c:2784
 #, c-format
@@ -3211,8 +3211,8 @@ msgstr "recuperação parada após atingir consistência"
 
 #: access/transam/xlogrecovery.c:2529
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "recuperação parando antes do local do WAL (LSN) \"%X/%X\""
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "recuperação parando antes do local do WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:2619
 #, c-format
@@ -3231,8 +3231,8 @@ msgstr "recuperação parada no ponto de restauração \"%s\", tempo %s"
 
 #: access/transam/xlogrecovery.c:2697
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "recuperação parando após a localização do WAL (LSN) \"%X/%X\""
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "recuperação parando após a localização do WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:2764
 #, c-format
@@ -3266,18 +3266,18 @@ msgstr "Execute pg_wal_replay_resume() para continuar."
 
 #: access/transam/xlogrecovery.c:3121
 #, c-format
-msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ID da linha do tempo não esperado %u no segmento do WAL %s, LSN %X/%X, deslocamento %u"
+msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ID da linha do tempo não esperado %u no segmento do WAL %s, LSN %X/%08X, deslocamento %u"
 
 #: access/transam/xlogrecovery.c:3329
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
-msgstr "não foi possível ler o segmento do WAL %s, LSN %X/%X, deslocamento %u: %m"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: %m"
+msgstr "não foi possível ler o segmento do WAL %s, LSN %X/%08X, deslocamento %u: %m"
 
 #: access/transam/xlogrecovery.c:3336
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
-msgstr "não foi possível ler do segmento do WAL %s, LSN %X/%X, deslocamento %u: leitura %d de %zu"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: read %d of %zu"
+msgstr "não foi possível ler do segmento do WAL %s, LSN %X/%08X, deslocamento %u: leitura %d de %zu"
 
 #: access/transam/xlogrecovery.c:3976
 #, c-format
@@ -3311,8 +3311,8 @@ msgstr "nova linha do tempo %u não é descendente da linha do tempo %u do siste
 
 #: access/transam/xlogrecovery.c:4074
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
-msgstr "nova linha do tempo %u bifurcou da linha do tempo %u do sistema de banco de dados antes do ponto de recuperação atual %X/%X"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
+msgstr "nova linha do tempo %u bifurcou da linha do tempo %u do sistema de banco de dados antes do ponto de recuperação atual %X/%08X"
 
 #: access/transam/xlogrecovery.c:4093
 #, c-format
@@ -9902,7 +9902,7 @@ msgstr ""
 
 #: commands/subscriptioncmds.c:1428
 #, c-format
-msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
+msgid "skip WAL location (LSN %X/%08X) must be greater than origin LSN %X/%08X"
 msgstr ""
 
 #: commands/subscriptioncmds.c:1513
@@ -20267,13 +20267,13 @@ msgstr "iniciando decodificação lógica para entrada \"%s\""
 
 #: replication/logical/logical.c:610
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
-msgstr "Fluxo de transações efetivadas após %X/%X, lendo WAL de %X/%X."
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
+msgstr "Fluxo de transações efetivadas após %X/%08X, lendo WAL de %X/%08X."
 
 #: replication/logical/logical.c:758
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
-msgstr "entrada \"%s\", plugin de saída \"%s\", na função %s, LSN associado %X/%X"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
+msgstr "entrada \"%s\", plugin de saída \"%s\", na função %s, LSN associado %X/%08X"
 
 #: replication/logical/logical.c:764
 #, c-format
@@ -20371,8 +20371,8 @@ msgstr "não foi possível encontrar um estado de replicação livre, aumente ma
 
 #: replication/logical/origin.c:806
 #, c-format
-msgid "recovered replication state of node %d to %X/%X"
-msgstr "estado de replicação recuperado do nó %d para %X/%X"
+msgid "recovered replication state of node %d to %X/%08X"
+msgstr "estado de replicação recuperado do nó %d para %X/%08X"
 
 #: replication/logical/origin.c:816
 #, c-format
@@ -20485,8 +20485,8 @@ msgstr[1] "instantâneo exportado de decodificação lógica: \"%s\" com %u IDs
 #: replication/logical/snapbuild.c:1388 replication/logical/snapbuild.c:1480
 #: replication/logical/snapbuild.c:1996
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "decodificação lógica encontrou ponto consistente em %X/%X"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "decodificação lógica encontrou ponto consistente em %X/%08X"
 
 #: replication/logical/snapbuild.c:1390
 #, c-format
@@ -20495,8 +20495,8 @@ msgstr "Não há transações em execução."
 
 #: replication/logical/snapbuild.c:1432
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "decodificação lógica encontrou ponto de partida inicial em %X/%X"
+msgid "logical decoding found initial starting point at %X/%08X"
+msgstr "decodificação lógica encontrou ponto de partida inicial em %X/%08X"
 
 #: replication/logical/snapbuild.c:1434 replication/logical/snapbuild.c:1458
 #, c-format
@@ -20505,8 +20505,8 @@ msgstr ""
 
 #: replication/logical/snapbuild.c:1456
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
-msgstr "a decodificação lógica encontrou um ponto consistente inicial em %X/%X"
+msgid "logical decoding found initial consistent point at %X/%08X"
+msgstr "a decodificação lógica encontrou um ponto consistente inicial em %X/%08X"
 
 #: replication/logical/snapbuild.c:1482
 #, c-format
@@ -20685,12 +20685,12 @@ msgstr "a subscrição \"%s\" foi desativada devido a um erro"
 
 #: replication/logical/worker.c:4805
 #, c-format
-msgid "logical replication starts skipping transaction at LSN %X/%X"
-msgstr "a replicação lógica começa a saltar a transação em LSN %X/%X"
+msgid "logical replication starts skipping transaction at LSN %X/%08X"
+msgstr "a replicação lógica começa a saltar a transação em LSN %X/%08X"
 
 #: replication/logical/worker.c:4819
 #, c-format
-msgid "logical replication completed skipping transaction at LSN %X/%X"
+msgid "logical replication completed skipping transaction at LSN %X/%08X"
 msgstr ""
 
 #: replication/logical/worker.c:4901
@@ -20700,7 +20700,7 @@ msgstr "skip-LSN da subscrição \"%s\" apagado"
 
 #: replication/logical/worker.c:4902
 #, c-format
-msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X."
+msgid "Remote transaction's finish WAL location (LSN) %X/%08X did not match skip-LSN %X/%08X."
 msgstr ""
 
 #: replication/logical/worker.c:4928
@@ -20715,7 +20715,7 @@ msgstr ""
 
 #: replication/logical/worker.c:4937
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%08X"
 msgstr ""
 
 #: replication/logical/worker.c:4948
@@ -20725,7 +20725,7 @@ msgstr ""
 
 #: replication/logical/worker.c:4955
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%08X"
 msgstr ""
 
 #: replication/logical/worker.c:4966
@@ -20735,7 +20735,7 @@ msgstr ""
 
 #: replication/logical/worker.c:4974
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%08X"
 msgstr ""
 
 #: replication/pgoutput/pgoutput.c:317
@@ -20866,8 +20866,8 @@ msgstr ""
 
 #: replication/slot.c:1271
 #, c-format
-msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte."
-msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes."
+msgid "The slot's restart_lsn %X/%08X exceeds the limit by %llu byte."
+msgid_plural "The slot's restart_lsn %X/%08X exceeds the limit by %llu bytes."
 msgstr[0] ""
 msgstr[1] ""
 
@@ -20952,7 +20952,7 @@ msgstr ""
 
 #: replication/slotfuncs.c:641
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
 msgstr ""
 
 #: replication/slotfuncs.c:748
@@ -21052,13 +21052,13 @@ msgstr "maior linha do tempo %u do servidor principal está atrás da linha do t
 
 #: replication/walreceiver.c:417
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
-msgstr "iniciado fluxo de WAL do principal em %X/%X na linha do tempo %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
+msgstr "iniciado fluxo de WAL do principal em %X/%08X na linha do tempo %u"
 
 #: replication/walreceiver.c:421
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "reiniciado fluxo de WAL em %X/%X na linha do tempo %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
+msgstr "reiniciado fluxo de WAL em %X/%08X na linha do tempo %u"
 
 #: replication/walreceiver.c:457
 #, c-format
@@ -21072,8 +21072,8 @@ msgstr "replicação terminada pelo servidor principal"
 
 #: replication/walreceiver.c:502
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "Fim do WAL alcançado na linha do tempo %u em %X/%X."
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "Fim do WAL alcançado na linha do tempo %u em %X/%08X."
 
 #: replication/walreceiver.c:592
 #, c-format
@@ -21122,18 +21122,18 @@ msgstr "não é possível utilizar uma entrada de replicação lógica para repl
 
 #: replication/walsender.c:770
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
-msgstr "ponto de início solicitado %X/%X na linha do tempo %u não está no histórico deste servidor"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
+msgstr "ponto de início solicitado %X/%08X na linha do tempo %u não está no histórico deste servidor"
 
 #: replication/walsender.c:773
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "O histórico deste servidor bifurcou da linha do tempo %u em %X/%X."
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "O histórico deste servidor bifurcou da linha do tempo %u em %X/%08X."
 
 #: replication/walsender.c:817
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
-msgstr "ponto de início solicitado %X/%X está a frente da posição de escrita do WAL neste servidor %X/%X"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
+msgstr "ponto de início solicitado %X/%08X está a frente da posição de escrita do WAL neste servidor %X/%08X"
 
 #: replication/walsender.c:1010
 #, c-format
diff --git a/src/backend/po/ru.po b/src/backend/po/ru.po
index f8e7152cd84..edf90b225aa 100644
--- a/src/backend/po/ru.po
+++ b/src/backend/po/ru.po
@@ -2504,20 +2504,20 @@ msgstr "Не удалось разместить обработчик журна
 
 #: access/transam/twophase.c:1429
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X: %s"
-msgstr "не удалось прочитать состояние 2PC из WAL в позиции %X/%X: %s"
+msgid "could not read two-phase state from WAL at %X/%08X: %s"
+msgstr "не удалось прочитать состояние 2PC из WAL в позиции %X/%08X: %s"
 
 #: access/transam/twophase.c:1434
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "не удалось прочитать состояние 2PC из WAL в позиции %X/%X"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "не удалось прочитать состояние 2PC из WAL в позиции %X/%08X"
 
 #: access/transam/twophase.c:1442
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
 msgstr ""
 "ожидаемые данные состояния двухфазной фиксации отсутствуют в WAL в позиции "
-"%X/%X"
+"%X/%08X"
 
 #: access/transam/twophase.c:1745
 #, c-format
@@ -2580,10 +2580,10 @@ msgstr "не удалось восстановить файл состояния
 #: access/transam/twophase.c:2516
 #, c-format
 msgid ""
-"Two-phase state file has been found in WAL record %X/%X, but this "
+"Two-phase state file has been found in WAL record %X/%08X, but this "
 "transaction has already been restored from disk."
 msgstr ""
-"Для WAL-записи %X/%X найден файл состояния двухфазной фиксации, но эта "
+"Для WAL-записи %X/%08X найден файл состояния двухфазной фиксации, но эта "
 "транзакция уже была восстановлена с диска."
 
 #: access/transam/twophase.c:2524 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
@@ -2776,20 +2776,20 @@ msgstr "в одной транзакции не может быть больше
 #: access/transam/xlog.c:1542
 #, c-format
 msgid ""
-"request to flush past end of generated WAL; request %X/%X, current position "
-"%X/%X"
+"request to flush past end of generated WAL; request %X/%08X, current position "
+"%X/%08X"
 msgstr ""
 "запрос на сброс данных за концом сгенерированного WAL; запрошена позиция %X/"
-"%X, текущая позиция %X/%X"
+"%X, текущая позиция %X/%08X"
 
 #: access/transam/xlog.c:1769
 #, c-format
 msgid ""
-"cannot read past end of generated WAL: requested %X/%X, current position %X/"
+"cannot read past end of generated WAL: requested %X/%08X, current position %X/"
 "%X"
 msgstr ""
-"чтение за концом сгенерированного WAL невозможно: запрошена позиция %X/%X, "
-"текущая позиция %X/%X"
+"чтение за концом сгенерированного WAL невозможно: запрошена позиция %X/%08X, "
+"текущая позиция %X/%08X"
 
 #: access/transam/xlog.c:2210 access/transam/xlog.c:4501
 #, c-format
@@ -3189,13 +3189,13 @@ msgid ""
 "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d "
 "removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; "
 "sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, "
-"estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+"estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
 msgstr ""
 "точка перезапуска завершена: записано буферов: %d (%.1f%%); добавлено файлов "
 "WAL %d, удалено: %d, переработано: %d; запись=%ld.%03d сек., синхр.=%ld.%03d "
 "сек., всего=%ld.%03d сек.; синхронизировано_файлов=%d, самая_долгая_синхр."
 "=%ld.%03d сек., средняя=%ld.%03d сек.; расстояние=%d kB, ожидалось=%d kB; "
-"lsn=%X/%X, lsn redo=%X/%X"
+"lsn=%X/%08X, lsn redo=%X/%08X"
 
 # well-spelled: синхр
 #: access/transam/xlog.c:6751
@@ -3204,13 +3204,13 @@ msgid ""
 "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d "
 "removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; "
 "sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, "
-"estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
+"estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
 msgstr ""
 "контрольная точка завершена: записано буферов: %d (%.1f%%); добавлено файлов "
 "WAL %d, удалено: %d, переработано: %d; запись=%ld.%03d сек., синхр.=%ld.%03d "
 "сек., всего=%ld.%03d сек.; синхронизировано_файлов=%d, самая_долгая_синхр."
 "=%ld.%03d сек., средняя=%ld.%03d сек.; расстояние=%d kB, ожидалось=%d kB; "
-"lsn=%X/%X, lsn redo=%X/%X"
+"lsn=%X/%08X, lsn redo=%X/%08X"
 
 #: access/transam/xlog.c:7233
 #, c-format
@@ -3222,8 +3222,8 @@ msgstr ""
 
 #: access/transam/xlog.c:7818
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "точка перезапуска восстановления в позиции %X/%X"
+msgid "recovery restart point at %X/%08X"
+msgstr "точка перезапуска восстановления в позиции %X/%08X"
 
 #: access/transam/xlog.c:7820
 #, c-format
@@ -3232,8 +3232,8 @@ msgstr "Последняя завершённая транзакция была
 
 #: access/transam/xlog.c:8082
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "точка восстановления \"%s\" создана в позиции %X/%X"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "точка восстановления \"%s\" создана в позиции %X/%08X"
 
 #: access/transam/xlog.c:8289
 #, c-format
@@ -3552,59 +3552,59 @@ msgstr ""
 
 #: access/transam/xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
 msgstr ""
-"неверное смещение записи в позиции %X/%X: ожидалось минимум %u, получено %u"
+"неверное смещение записи в позиции %X/%08X: ожидалось минимум %u, получено %u"
 
 #: access/transam/xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "в позиции %X/%X запрошено продолжение записи"
+msgid "contrecord is requested by %X/%08X"
+msgstr "в позиции %X/%08X запрошено продолжение записи"
 
 #: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
 msgstr ""
-"неверная длина записи в позиции %X/%X: ожидалось минимум %u, получено %u"
+"неверная длина записи в позиции %X/%08X: ожидалось минимум %u, получено %u"
 
 #: access/transam/xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "нет флага contrecord в позиции %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "нет флага contrecord в позиции %X/%08X"
 
 #: access/transam/xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%08X"
 
 #: access/transam/xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "неверный ID менеджера ресурсов %u в позиции %X/%08X"
 
 #: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "запись с неверной ссылкой назад %X/%08X в позиции %X/%08X"
 
 #: access/transam/xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
 msgstr ""
 "некорректная контрольная сумма данных менеджера ресурсов в записи в позиции "
-"%X/%X"
+"%X/%08X"
 
 #: access/transam/xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr ""
-"неверное магическое число %04X в сегменте WAL %s, LSN %X/%X, смещение %u"
+"неверное магическое число %04X в сегменте WAL %s, LSN %X/%08X, смещение %u"
 
 #: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr ""
-"неверные информационные биты %04X в сегменте WAL %s, LSN %X/%X, смещение %u"
+"неверные информационные биты %04X в сегменте WAL %s, LSN %X/%08X, смещение %u"
 
 #: access/transam/xlogreader.c:1274
 #, c-format
@@ -3635,53 +3635,53 @@ msgstr ""
 
 #: access/transam/xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "неожиданный pageaddr %X/%X в сегменте WAL %s, LSN %X/%X, смещение %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "неожиданный pageaddr %X/%08X в сегменте WAL %s, LSN %X/%08X, смещение %u"
 
 #: access/transam/xlogreader.c:1346
 #, c-format
 msgid ""
-"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, "
+"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, "
 "offset %u"
 msgstr ""
 "нарушение последовательности ID линии времени %u (после %u) в сегменте WAL "
-"%s, LSN %X/%X, смещение %u"
+"%s, LSN %X/%08X, смещение %u"
 
 #: access/transam/xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%08X"
 
 #: access/transam/xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%08X нет"
 
 #: access/transam/xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
 msgstr ""
-"BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X"
+"BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%08X"
 
 #: access/transam/xlogreader.c:1816
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
-"%X/%X"
+"%X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u "
-"при длине образа блока %u в позиции %X/%X"
+"при длине образа блока %u в позиции %X/%08X"
 
 #: access/transam/xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE не установлен, но для пропуска заданы смещение %u и длина "
-"%u в позиции %X/%X"
+"%u в позиции %X/%08X"
 
 #: access/transam/xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr ""
 "BKPIMAGE_COMPRESSED установлен, но длина образа блока равна %u в позиции %X/"
 "%X"
@@ -3690,27 +3690,27 @@ msgstr ""
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image "
-"length is %u at %X/%X"
+"length is %u at %X/%08X"
 msgstr ""
 "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_COMPRESSED не установлены, но длина образа "
-"блока равна %u в позиции %X/%X"
+"блока равна %u в позиции %X/%08X"
 
 #: access/transam/xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
 msgstr ""
 "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/"
 "%X"
 
 #: access/transam/xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "неверный идентификатор блока %u в позиции %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "неверный идентификатор блока %u в позиции %X/%08X"
 
 #: access/transam/xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "запись с неверной длиной в позиции %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "запись с неверной длиной в позиции %X/%08X"
 
 #: access/transam/xlogreader.c:1982
 #, c-format
@@ -3719,54 +3719,54 @@ msgstr "не удалось найти копию блока с ID %d в зап
 
 #: access/transam/xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
 msgstr ""
-"не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d"
+"не удалось восстановить образ в позиции %X/%08X с указанным неверным блоком %d"
 
 #: access/transam/xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
 msgstr ""
-"не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d"
+"не удалось восстановить образ в позиции %X/%08X с неверным состоянием, блок %d"
 
 #: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117
 #, c-format
 msgid ""
-"could not restore image at %X/%X compressed with %s not supported by build, "
+"could not restore image at %X/%08X compressed with %s not supported by build, "
 "block %d"
 msgstr ""
-"не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не "
+"не удалось восстановить образ в позиции %X/%08X, сжатый методом %s, который не "
 "поддерживается этой сборкой, блок %d"
 
 #: access/transam/xlogreader.c:2126
 #, c-format
 msgid ""
-"could not restore image at %X/%X compressed with unknown method, block %d"
+"could not restore image at %X/%08X compressed with unknown method, block %d"
 msgstr ""
-"не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, "
+"не удалось восстановить образ в позиции %X/%08X, сжатый неизвестным методом, "
 "блок %d"
 
 #: access/transam/xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "не удалось развернуть образ в позиции %X/%X, блок %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "не удалось развернуть образ в позиции %X/%08X, блок %d"
 
 #: access/transam/xlogrecovery.c:617
 #, c-format
 msgid ""
-"starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on "
+"starting backup recovery with redo LSN %X/%08X, checkpoint LSN %X/%08X, on "
 "timeline ID %u"
 msgstr ""
-"начинается восстановление копии с LSN redo %X/%X, LSN контрольной точки %X/"
+"начинается восстановление копии с LSN redo %X/%08X, LSN контрольной точки %X/"
 "%X, на линии времени %u"
 
 #: access/transam/xlogrecovery.c:649
 #, c-format
 msgid ""
-"could not find redo location %X/%X referenced by checkpoint record at %X/%X"
+"could not find redo location %X/%08X referenced by checkpoint record at %X/%08X"
 msgstr ""
-"не удалось найти положение REDO %X/%X, указанное в записи контрольной точки "
-"в %X/%X"
+"не удалось найти положение REDO %X/%08X, указанное в записи контрольной точки "
+"в %X/%08X"
 
 #: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662
 #, c-format
@@ -3786,8 +3786,8 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:660
 #, c-format
-msgid "could not locate required checkpoint record at %X/%X"
-msgstr "не удалось найти нужную запись контрольной точки в %X/%X"
+msgid "could not locate required checkpoint record at %X/%08X"
+msgstr "не удалось найти нужную запись контрольной точки в %X/%08X"
 
 #: access/transam/xlogrecovery.c:690 commands/tablespace.c:664
 #, c-format
@@ -3811,13 +3811,13 @@ msgstr "Не удалось переименовать файл \"%s\" в \"%s\"
 
 #: access/transam/xlogrecovery.c:770
 #, c-format
-msgid "restarting backup recovery with redo LSN %X/%X"
-msgstr "перезапуск восстановления копии с LSN redo %X/%X"
+msgid "restarting backup recovery with redo LSN %X/%08X"
+msgstr "перезапуск восстановления копии с LSN redo %X/%08X"
 
 #: access/transam/xlogrecovery.c:795
 #, c-format
-msgid "could not locate a valid checkpoint record at %X/%X"
-msgstr "не удалось найти корректную запись контрольной точки в %X/%X"
+msgid "could not locate a valid checkpoint record at %X/%08X"
+msgstr "не удалось найти корректную запись контрольной точки в %X/%08X"
 
 #: access/transam/xlogrecovery.c:806
 #, c-format
@@ -3841,9 +3841,9 @@ msgstr "начинается восстановление точки во вре
 
 #: access/transam/xlogrecovery.c:821
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
 msgstr ""
-"начинается восстановление точки во времени до позиции в WAL (LSN) \"%X/%X\""
+"начинается восстановление точки во времени до позиции в WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:825
 #, c-format
@@ -3864,16 +3864,16 @@ msgstr "в истории сервера нет ответвления запр
 #: access/transam/xlogrecovery.c:851
 #, c-format
 msgid ""
-"Latest checkpoint is at %X/%X on timeline %u, but in the history of the "
-"requested timeline, the server forked off from that timeline at %X/%X."
+"Latest checkpoint is at %X/%08X on timeline %u, but in the history of the "
+"requested timeline, the server forked off from that timeline at %X/%08X."
 msgstr ""
-"Последняя контрольная точка: %X/%X на линии времени %u, но в истории "
-"запрошенной линии времени сервер ответвился с этой линии в %X/%X."
+"Последняя контрольная точка: %X/%08X на линии времени %u, но в истории "
+"запрошенной линии времени сервер ответвился с этой линии в %X/%08X."
 
 #: access/transam/xlogrecovery.c:865
 #, c-format
 msgid ""
-"requested timeline %u does not contain minimum recovery point %X/%X on "
+"requested timeline %u does not contain minimum recovery point %X/%08X on "
 "timeline %u"
 msgstr ""
 "запрошенная линия времени %u не содержит минимальную точку восстановления %X/"
@@ -3986,19 +3986,19 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:1717
 #, c-format
-msgid "unexpected record type found at redo point %X/%X"
-msgstr "в точке redo %X/%X обнаружена запись неожиданного типа"
+msgid "unexpected record type found at redo point %X/%08X"
+msgstr "в точке redo %X/%08X обнаружена запись неожиданного типа"
 
 #: access/transam/xlogrecovery.c:1740
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "запись REDO начинается со смещения %X/%X"
+msgid "redo starts at %X/%08X"
+msgstr "запись REDO начинается со смещения %X/%08X"
 
 #: access/transam/xlogrecovery.c:1753
 #, c-format
-msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
+msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%08X"
 msgstr ""
-"выполняется воспроизведение, прошло времени: %ld.%02d с, текущий LSN: %X/%X"
+"выполняется воспроизведение, прошло времени: %ld.%02d с, текущий LSN: %X/%08X"
 
 #: access/transam/xlogrecovery.c:1843
 #, c-format
@@ -4009,8 +4009,8 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:1875
 #, c-format
-msgid "redo done at %X/%X system usage: %s"
-msgstr "записи REDO обработаны до смещения %X/%X, нагрузка системы: %s"
+msgid "redo done at %X/%08X system usage: %s"
+msgstr "записи REDO обработаны до смещения %X/%08X, нагрузка системы: %s"
 
 #: access/transam/xlogrecovery.c:1881
 #, c-format
@@ -4029,9 +4029,9 @@ msgstr "восстановление окончилось до достижен
 
 #: access/transam/xlogrecovery.c:2095
 #, c-format
-msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
+msgid "successfully skipped missing contrecord at %X/%08X, overwritten at %s"
 msgstr ""
-"успешно пропущена отсутствующая запись contrecord в %X/%X, перезаписанная в "
+"успешно пропущена отсутствующая запись contrecord в %X/%08X, перезаписанная в "
 "%s"
 
 #: access/transam/xlogrecovery.c:2162
@@ -4056,19 +4056,19 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:2217
 #, c-format
-msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X"
-msgstr "завершено восстановление копии с LSN redo %X/%X и конечным LSN %X/%X"
+msgid "completed backup recovery with redo LSN %X/%08X and end LSN %X/%08X"
+msgstr "завершено восстановление копии с LSN redo %X/%08X и конечным LSN %X/%08X"
 
 #: access/transam/xlogrecovery.c:2247
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "согласованное состояние восстановления достигнуто в позиции %X/%X"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "согласованное состояние восстановления достигнуто в позиции %X/%08X"
 
 #. translator: %s is a WAL record description
 #: access/transam/xlogrecovery.c:2285
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "запись REDO в WAL в позиции %X/%X для %s"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "запись REDO в WAL в позиции %X/%08X для %s"
 
 #: access/transam/xlogrecovery.c:2383
 #, c-format
@@ -4089,10 +4089,10 @@ msgstr "неожиданный ID линии времени %u (после %u) 
 #, c-format
 msgid ""
 "unexpected timeline ID %u in checkpoint record, before reaching minimum "
-"recovery point %X/%X on timeline %u"
+"recovery point %X/%08X on timeline %u"
 msgstr ""
 "неожиданный ID линии времени %u в записи контрольной точки, до достижения "
-"минимальной к. т. %X/%X на линии времени %u"
+"минимальной к. т. %X/%08X на линии времени %u"
 
 #: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868
 #, c-format
@@ -4102,8 +4102,8 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:2613
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "восстановление останавливается перед позицией в WAL (LSN) \"%X/%X\""
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "восстановление останавливается перед позицией в WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:2703
 #, c-format
@@ -4124,8 +4124,8 @@ msgstr "восстановление останавливается в точк
 
 #: access/transam/xlogrecovery.c:2781
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "восстановление останавливается после позиции в WAL (LSN) \"%X/%X\""
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "восстановление останавливается после позиции в WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:2848
 #, c-format
@@ -4161,21 +4161,21 @@ msgstr "Выполните pg_wal_replay_resume() для продолжения.
 
 #: access/transam/xlogrecovery.c:3205
 #, c-format
-msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
+msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr ""
-"неожиданный ID линии времени %u в сегменте WAL %s, LSN %X/%X, смещение %u"
+"неожиданный ID линии времени %u в сегменте WAL %s, LSN %X/%08X, смещение %u"
 
 #: access/transam/xlogrecovery.c:3413
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
-msgstr "не удалось прочитать сегмент WAL %s, LSN %X/%X, смещение %u: %m"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: %m"
+msgstr "не удалось прочитать сегмент WAL %s, LSN %X/%08X, смещение %u: %m"
 
 #: access/transam/xlogrecovery.c:3420
 #, c-format
 msgid ""
-"could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
+"could not read from WAL segment %s, LSN %X/%08X, offset %u: read %d of %zu"
 msgstr ""
-"не удалось прочитать сегмент WAL %s, LSN %X/%X, смещение %u (прочитано байт: "
+"не удалось прочитать сегмент WAL %s, LSN %X/%08X, смещение %u (прочитано байт: "
 "%d из %zu)"
 
 #: access/transam/xlogrecovery.c:4061
@@ -4213,10 +4213,10 @@ msgstr ""
 #, c-format
 msgid ""
 "new timeline %u forked off current database system timeline %u before "
-"current recovery point %X/%X"
+"current recovery point %X/%08X"
 msgstr ""
 "новая линия времени %u ответвилась от текущей линии времени базы данных %u "
-"до текущей точки восстановления %X/%X"
+"до текущей точки восстановления %X/%08X"
 
 #: access/transam/xlogrecovery.c:4178
 #, c-format
@@ -4571,29 +4571,29 @@ msgstr "в манифесте найдена линия времени %u, но
 #: backup/basebackup_incremental.c:414
 #, c-format
 msgid ""
-"manifest requires WAL from initial timeline %u starting at %X/%X, but that "
-"timeline begins at %X/%X"
+"manifest requires WAL from initial timeline %u starting at %X/%08X, but that "
+"timeline begins at %X/%08X"
 msgstr ""
 "манифест требует наличия WAL с изначальной линии времени %u, начиная с "
-"позиции %X/%X, но эта линия времени начинается с %X/%X"
+"позиции %X/%08X, но эта линия времени начинается с %X/%08X"
 
 #: backup/basebackup_incremental.c:424
 #, c-format
 msgid ""
-"manifest requires WAL from continuation timeline %u starting at %X/%X, but "
-"that timeline begins at %X/%X"
+"manifest requires WAL from continuation timeline %u starting at %X/%08X, but "
+"that timeline begins at %X/%08X"
 msgstr ""
 "манифест требует наличия WAL с последующей линии времени %u, начиная с "
-"позиции %X/%X, но эта линия времени начинается с %X/%X"
+"позиции %X/%08X, но эта линия времени начинается с %X/%08X"
 
 #: backup/basebackup_incremental.c:435
 #, c-format
 msgid ""
-"manifest requires WAL from final timeline %u ending at %X/%X, but this "
-"backup starts at %X/%X"
+"manifest requires WAL from final timeline %u ending at %X/%08X, but this "
+"backup starts at %X/%08X"
 msgstr ""
 "манифест требует наличия WAL с последней линии времени %u, завершающейся в "
-"%X/%X, но эта копия начинается с %X/%X"
+"%X/%08X, но эта копия начинается с %X/%08X"
 
 #: backup/basebackup_incremental.c:439
 #, c-format
@@ -4607,34 +4607,34 @@ msgstr ""
 #: backup/basebackup_incremental.c:446
 #, c-format
 msgid ""
-"manifest requires WAL from non-final timeline %u ending at %X/%X, but this "
-"server switched timelines at %X/%X"
+"manifest requires WAL from non-final timeline %u ending at %X/%08X, but this "
+"server switched timelines at %X/%08X"
 msgstr ""
 "манифест требует наличия WAL с промежуточной линии времени %u, завершающейся "
-"в %X/%X, но этот сервер переключил линии времени в %X/%X"
+"в %X/%08X, но этот сервер переключил линии времени в %X/%08X"
 
 #: backup/basebackup_incremental.c:527
 #, c-format
 msgid ""
-"WAL summaries are required on timeline %u from %X/%X to %X/%X, but no "
+"WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but no "
 "summaries for that timeline and LSN range exist"
 msgstr ""
-"требуются обобщения WAL для линии времени %u с позиции %X/%X по %X/%X, но "
+"требуются обобщения WAL для линии времени %u с позиции %X/%08X по %X/%08X, но "
 "они не найдены"
 
 #: backup/basebackup_incremental.c:534
 #, c-format
 msgid ""
-"WAL summaries are required on timeline %u from %X/%X to %X/%X, but the "
+"WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but the "
 "summaries for that timeline and LSN range are incomplete"
 msgstr ""
-"требуются обобщения WAL для линии времени %u с позиции %X/%X по %X/%X, но "
+"требуются обобщения WAL для линии времени %u с позиции %X/%08X по %X/%08X, но "
 "обобщения для этой линии времени и этого диапазона LSN неполные"
 
 #: backup/basebackup_incremental.c:538
 #, c-format
-msgid "The first unsummarized LSN in this range is %X/%X."
-msgstr "Первый необобщённый LSN в этом диапазоне: %X/%X."
+msgid "The first unsummarized LSN in this range is %X/%08X."
+msgstr "Первый необобщённый LSN в этом диапазоне: %X/%08X."
 
 #: backup/basebackup_incremental.c:938
 #, c-format
@@ -11591,9 +11591,9 @@ msgstr ""
 
 #: commands/subscriptioncmds.c:1473
 #, c-format
-msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
+msgid "skip WAL location (LSN %X/%08X) must be greater than origin LSN %X/%08X"
 msgstr ""
-"позиция пропуска в WAL (LSN %X/%X) должна быть больше начального LSN %X/%X"
+"позиция пропуска в WAL (LSN %X/%08X) должна быть больше начального LSN %X/%08X"
 
 #: commands/subscriptioncmds.c:1594
 #, c-format
@@ -22497,40 +22497,40 @@ msgstr "процесс обобщения WAL не продвигается"
 #: postmaster/walsummarizer.c:741
 #, c-format
 msgid ""
-"Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/"
+"Summarization is needed through %X/%08X, but is stuck at %X/%08X on disk and %X/"
 "%X in memory."
 msgstr ""
-"Обобщение должно охватить %X/%X, но оно остановилось на позиции %X/%X на "
-"диске и %X/%X в памяти."
+"Обобщение должно охватить %X/%08X, но оно остановилось на позиции %X/%08X на "
+"диске и %X/%08X в памяти."
 
 #: postmaster/walsummarizer.c:755
 #, c-format
-msgid "still waiting for WAL summarization through %X/%X after %ld second"
+msgid "still waiting for WAL summarization through %X/%08X after %ld second"
 msgid_plural ""
-"still waiting for WAL summarization through %X/%X after %ld seconds"
-msgstr[0] "ожидание обобщения позиции %X/%X продолжается %ld сек."
-msgstr[1] "ожидание обобщения позиции %X/%X продолжается %ld сек."
-msgstr[2] "ожидание обобщения позиции %X/%X продолжается %ld сек."
+"still waiting for WAL summarization through %X/%08X after %ld seconds"
+msgstr[0] "ожидание обобщения позиции %X/%08X продолжается %ld сек."
+msgstr[1] "ожидание обобщения позиции %X/%08X продолжается %ld сек."
+msgstr[2] "ожидание обобщения позиции %X/%08X продолжается %ld сек."
 
 #: postmaster/walsummarizer.c:760
 #, c-format
-msgid "Summarization has reached %X/%X on disk and %X/%X in memory."
-msgstr "Процесс обобщения достиг позиции %X/%X на диске и %X/%X в памяти."
+msgid "Summarization has reached %X/%08X on disk and %X/%08X in memory."
+msgstr "Процесс обобщения достиг позиции %X/%08X на диске и %X/%08X в памяти."
 
 #: postmaster/walsummarizer.c:1000
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "не удалось найти корректную запись после %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "не удалось найти корректную запись после %X/%08X"
 
 #: postmaster/walsummarizer.c:1045
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X: %s"
-msgstr "не удалось прочитать WAL с линии времени %u в позиции %X/%X: %s"
+msgid "could not read WAL from timeline %u at %X/%08X: %s"
+msgstr "не удалось прочитать WAL с линии времени %u в позиции %X/%08X: %s"
 
 #: postmaster/walsummarizer.c:1051
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X"
-msgstr "не удалось прочитать WAL с линии времени %u в позиции %X/%X"
+msgid "could not read WAL from timeline %u at %X/%08X"
+msgstr "не удалось прочитать WAL с линии времени %u в позиции %X/%08X"
 
 #: regex/regc_pg_locale.c:244
 #, c-format
@@ -22870,15 +22870,15 @@ msgstr "начинается логическое декодирование д
 
 #: replication/logical/logical.c:630
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
-msgstr "Передача транзакций, фиксируемых после %X/%X, чтение WAL с %X/%X."
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
+msgstr "Передача транзакций, фиксируемых после %X/%08X, чтение WAL с %X/%08X."
 
 #: replication/logical/logical.c:778
 #, c-format
 msgid ""
-"slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
+"slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
 msgstr ""
-"слот \"%s\", модуль вывода \"%s\", в обработчике %s, связанный LSN: %X/%X"
+"слот \"%s\", модуль вывода \"%s\", в обработчике %s, связанный LSN: %X/%08X"
 
 #: replication/logical/logical.c:784
 #, c-format
@@ -22992,8 +22992,8 @@ msgstr ""
 
 #: replication/logical/origin.c:806
 #, c-format
-msgid "recovered replication state of node %d to %X/%X"
-msgstr "состояние репликации узла %d восстановлено до %X/%X"
+msgid "recovered replication state of node %d to %X/%08X"
+msgstr "состояние репликации узла %d восстановлено до %X/%08X"
 
 #: replication/logical/origin.c:816
 #, c-format
@@ -23130,11 +23130,11 @@ msgstr ""
 #: replication/logical/slotsync.c:217
 #, c-format
 msgid ""
-"The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has "
-"LSN %X/%X and catalog xmin %u."
+"The remote slot has LSN %X/%08X and catalog xmin %u, but the local slot has "
+"LSN %X/%08X and catalog xmin %u."
 msgstr ""
-"Для удалённого слота текущий LSN %X/%X и xmin каталога %u, тогда как для "
-"локального — LSN %X/%X и xmin каталога %u."
+"Для удалённого слота текущий LSN %X/%08X и xmin каталога %u, тогда как для "
+"локального — LSN %X/%08X и xmin каталога %u."
 
 #: replication/logical/slotsync.c:459
 #, c-format
@@ -23149,10 +23149,10 @@ msgstr "не удалось синхронизировать слот репли
 #: replication/logical/slotsync.c:580
 #, c-format
 msgid ""
-"Logical decoding could not find consistent point from local slot's LSN %X/%X."
+"Logical decoding could not find consistent point from local slot's LSN %X/%08X."
 msgstr ""
 "При логическом декодировании не удалось найти точку согласованности от LSN "
-"локального слота %X/%X."
+"локального слота %X/%08X."
 
 #: replication/logical/slotsync.c:589
 #, c-format
@@ -23162,11 +23162,11 @@ msgstr "созданный слот репликации \"%s\" сейчас г
 #: replication/logical/slotsync.c:628
 #, c-format
 msgid ""
-"skipping slot synchronization because the received slot sync LSN %X/%X for "
-"slot \"%s\" is ahead of the standby position %X/%X"
+"skipping slot synchronization because the received slot sync LSN %X/%08X for "
+"slot \"%s\" is ahead of the standby position %X/%08X"
 msgstr ""
-"синхронизация слота пропускается, потому что полученная позиция LSN %X/%X "
-"для слота \"%s\" предшествует позиции %X/%X на резервном сервере"
+"синхронизация слота пропускается, потому что полученная позиция LSN %X/%08X "
+"для слота \"%s\" предшествует позиции %X/%08X на резервном сервере"
 
 #: replication/logical/slotsync.c:650
 #, c-format
@@ -23307,8 +23307,8 @@ msgstr[2] ""
 #: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501
 #: replication/logical/snapbuild.c:2017
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "процесс логического декодирования достиг точки согласованности в %X/%X"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "процесс логического декодирования достиг точки согласованности в %X/%08X"
 
 #: replication/logical/snapbuild.c:1406
 #, c-format
@@ -23317,9 +23317,9 @@ msgstr "Больше активных транзакций нет."
 
 #: replication/logical/snapbuild.c:1453
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
+msgid "logical decoding found initial starting point at %X/%08X"
 msgstr ""
-"процесс логического декодирования нашёл начальную стартовую точку в %X/%X"
+"процесс логического декодирования нашёл начальную стартовую точку в %X/%08X"
 
 #: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479
 #, c-format
@@ -23328,9 +23328,9 @@ msgstr "Ожидание транзакций (примерно %d), старе
 
 #: replication/logical/snapbuild.c:1477
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
+msgid "logical decoding found initial consistent point at %X/%08X"
 msgstr ""
-"при логическом декодировании найдена начальная точка согласованности в %X/%X"
+"при логическом декодировании найдена начальная точка согласованности в %X/%08X"
 
 #: replication/logical/snapbuild.c:1503
 #, c-format
@@ -23603,15 +23603,15 @@ msgstr "подписка \"%s\" была отключена из-за ошибк
 
 #: replication/logical/worker.c:4806
 #, c-format
-msgid "logical replication starts skipping transaction at LSN %X/%X"
+msgid "logical replication starts skipping transaction at LSN %X/%08X"
 msgstr ""
-"обработчик логической репликации начинает пропускать транзакцию с LSN %X/%X"
+"обработчик логической репликации начинает пропускать транзакцию с LSN %X/%08X"
 
 #: replication/logical/worker.c:4820
 #, c-format
-msgid "logical replication completed skipping transaction at LSN %X/%X"
+msgid "logical replication completed skipping transaction at LSN %X/%08X"
 msgstr ""
-"обработчик логической репликации завершил пропуск транзакции с LSN %X/%X"
+"обработчик логической репликации завершил пропуск транзакции с LSN %X/%08X"
 
 #: replication/logical/worker.c:4902
 #, c-format
@@ -23621,11 +23621,11 @@ msgstr "значение skip-LSN для подписки \"%s\" очищено"
 #: replication/logical/worker.c:4903
 #, c-format
 msgid ""
-"Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN "
-"%X/%X."
+"Remote transaction's finish WAL location (LSN) %X/%08X did not match skip-LSN "
+"%X/%08X."
 msgstr ""
-"Позиция завершения удалённой транзакции в WAL (LSN) %X/%X не совпала со "
-"значением skip-LSN %X/%X."
+"Позиция завершения удалённой транзакции в WAL (LSN) %X/%08X не совпала со "
+"значением skip-LSN %X/%08X."
 
 #: replication/logical/worker.c:4940
 #, c-format
@@ -23649,10 +23649,10 @@ msgstr ""
 #, c-format
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
-"\"%s\" in transaction %u, finished at %X/%X"
+"\"%s\" in transaction %u, finished at %X/%08X"
 msgstr ""
 "обработка внешних данных для источника репликации \"%s\" в контексте "
-"сообщения типа \"%s\" в транзакции %u, конечная позиция %X/%X"
+"сообщения типа \"%s\" в транзакции %u, конечная позиция %X/%08X"
 
 #: replication/logical/worker.c:4960
 #, c-format
@@ -23669,11 +23669,11 @@ msgstr ""
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
 "\"%s\" for replication target relation \"%s.%s\" in transaction %u, finished "
-"at %X/%X"
+"at %X/%08X"
 msgstr ""
 "обработка внешних данных для источника репликации \"%s\" в контексте "
 "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\" в "
-"транзакции %u, конечная позиция %X/%X"
+"транзакции %u, конечная позиция %X/%08X"
 
 #: replication/logical/worker.c:4978
 #, c-format
@@ -23691,11 +23691,11 @@ msgstr ""
 msgid ""
 "processing remote data for replication origin \"%s\" during message type "
 "\"%s\" for replication target relation \"%s.%s\" column \"%s\" in "
-"transaction %u, finished at %X/%X"
+"transaction %u, finished at %X/%08X"
 msgstr ""
 "обработка внешних данных для источника репликации \"%s\" в контексте "
 "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\", столбца "
-"\"%s\", в транзакции %u, конечная позиция %X/%X"
+"\"%s\", в транзакции %u, конечная позиция %X/%08X"
 
 #: replication/pgoutput/pgoutput.c:322
 #, c-format
@@ -23900,11 +23900,11 @@ msgstr "Использовать слоты репликации могут то
 
 #: replication/slot.c:1498
 #, c-format
-msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte."
-msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes."
-msgstr[0] "Позиция restart_lsn %X/%X слота превысила предел на %llu Б."
-msgstr[1] "Позиция restart_lsn %X/%X слота превысила предел на %llu Б."
-msgstr[2] "Позиция restart_lsn %X/%X слота превысила предел на %llu Б."
+msgid "The slot's restart_lsn %X/%08X exceeds the limit by %llu byte."
+msgid_plural "The slot's restart_lsn %X/%08X exceeds the limit by %llu bytes."
+msgstr[0] "Позиция restart_lsn %X/%08X слота превысила предел на %llu Б."
+msgstr[1] "Позиция restart_lsn %X/%08X слота превысила предел на %llu Б."
+msgstr[2] "Позиция restart_lsn %X/%08X слота превысила предел на %llu Б."
 
 #: replication/slot.c:1506
 #, c-format
@@ -24073,9 +24073,9 @@ msgstr "Для этого слота ранее не резервировалс
 
 #: replication/slotfuncs.c:566
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
 msgstr ""
-"продвинуть слот репликации к позиции %X/%X нельзя, минимальная позиция: %X/%X"
+"продвинуть слот репликации к позиции %X/%08X нельзя, минимальная позиция: %X/%08X"
 
 #: replication/slotfuncs.c:673
 #, c-format
@@ -24200,15 +24200,15 @@ msgstr ""
 
 #: replication/walreceiver.c:419
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
 msgstr ""
-"начало передачи журнала с главного сервера, с позиции %X/%X на линии времени "
+"начало передачи журнала с главного сервера, с позиции %X/%08X на линии времени "
 "%u"
 
 #: replication/walreceiver.c:423
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "перезапуск передачи журнала с позиции %X/%X на линии времени %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
+msgstr "перезапуск передачи журнала с позиции %X/%08X на линии времени %u"
 
 #: replication/walreceiver.c:458
 #, c-format
@@ -24222,8 +24222,8 @@ msgstr "репликация прекращена главным серверо
 
 #: replication/walreceiver.c:503
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "На линии времени %u в %X/%X достигнут конец журнала."
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "На линии времени %u в %X/%08X достигнут конец журнала."
 
 #: replication/walreceiver.c:593
 #, c-format
@@ -24275,23 +24275,23 @@ msgstr ""
 #: replication/walsender.c:919
 #, c-format
 msgid ""
-"requested starting point %X/%X on timeline %u is not in this server's history"
+"requested starting point %X/%08X on timeline %u is not in this server's history"
 msgstr ""
-"в истории сервера нет запрошенной начальной точки %X/%X на линии времени %u"
+"в истории сервера нет запрошенной начальной точки %X/%08X на линии времени %u"
 
 #: replication/walsender.c:922
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "История этого сервера ответвилась от линии времени %u в %X/%X."
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "История этого сервера ответвилась от линии времени %u в %X/%08X."
 
 #: replication/walsender.c:966
 #, c-format
 msgid ""
-"requested starting point %X/%X is ahead of the WAL flush position of this "
-"server %X/%X"
+"requested starting point %X/%08X is ahead of the WAL flush position of this "
+"server %X/%08X"
 msgstr ""
-"запрошенная начальная точка %X/%X впереди позиции сброшенных данных журнала "
-"на этом сервере (%X/%X)"
+"запрошенная начальная точка %X/%08X впереди позиции сброшенных данных журнала "
+"на этом сервере (%X/%08X)"
 
 #: replication/walsender.c:1160
 #, c-format
@@ -35664,8 +35664,8 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgstr "не удалось выделить память для декодирования записи длины %u"
 
 #, c-format
-#~ msgid "record length %u at %X/%X too long"
-#~ msgstr "длина записи %u в позиции %X/%X слишком велика"
+#~ msgid "record length %u at %X/%08X too long"
+#~ msgstr "длина записи %u в позиции %X/%08X слишком велика"
 
 #, c-format
 #~ msgid "parameter \"lc_collate\" must be specified"
@@ -35722,12 +35722,12 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgstr "табличные пространства не поддерживаются на этой платформе"
 
 #, c-format
-#~ msgid "invalid record offset at %X/%X"
-#~ msgstr "неверное смещение записи: %X/%X"
+#~ msgid "invalid record offset at %X/%08X"
+#~ msgstr "неверное смещение записи: %X/%08X"
 
 #, c-format
-#~ msgid "missing contrecord at %X/%X"
-#~ msgstr "нет записи contrecord в %X/%X"
+#~ msgid "missing contrecord at %X/%08X"
+#~ msgstr "нет записи contrecord в %X/%08X"
 
 #, c-format
 #~ msgid "invalid primary checkpoint link in control file"
@@ -36050,10 +36050,10 @@ msgstr "Используйте для записи спецсимволов си
 
 #, c-format
 #~ msgid ""
-#~ "invalidating slot \"%s\" because its restart_lsn %X/%X exceeds "
+#~ "invalidating slot \"%s\" because its restart_lsn %X/%08X exceeds "
 #~ "max_slot_wal_keep_size"
 #~ msgstr ""
-#~ "слот \"%s\" аннулируется, так как его позиция restart_lsn %X/%X превышает "
+#~ "слот \"%s\" аннулируется, так как его позиция restart_lsn %X/%08X превышает "
 #~ "max_slot_wal_keep_size"
 
 #, c-format
@@ -36336,10 +36336,10 @@ msgstr "Используйте для записи спецсимволов си
 #~ "в применяющем процессе логической репликации для подписки \"%s\" "
 #~ "состояние two_phase: %s"
 
-#~ msgid "start skipping logical replication transaction finished at %X/%X"
+#~ msgid "start skipping logical replication transaction finished at %X/%08X"
 #~ msgstr ""
 #~ "в ходе логической репликации начинается пропуск транзакции, завершённой в "
-#~ "%X/%X"
+#~ "%X/%08X"
 
 #~ msgid "unlinked permanent statistics file \"%s\""
 #~ msgstr "постоянный файл статистики \"%s\" удалён"
@@ -36889,8 +36889,8 @@ msgstr "Используйте для записи спецсимволов си
 #~ "Либо установите для wal_level значение \"replica\" на главном сервере, "
 #~ "либо выключите hot_standby здесь."
 
-#~ msgid "checkpoint record is at %X/%X"
-#~ msgstr "запись о контрольной точке по смещению %X/%X"
+#~ msgid "checkpoint record is at %X/%08X"
+#~ msgstr "запись о контрольной точке по смещению %X/%08X"
 
 #~ msgid "initializing for hot standby"
 #~ msgstr "инициализация для горячего резерва"
@@ -36902,9 +36902,9 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgstr ""
 #~ "создание точки перезапуска пропускается, восстановление уже закончилось"
 
-#~ msgid "skipping restartpoint, already performed at %X/%X"
+#~ msgid "skipping restartpoint, already performed at %X/%08X"
 #~ msgstr ""
-#~ "создание точки перезапуска пропускается, она уже создана по смещению %X/%X"
+#~ "создание точки перезапуска пропускается, она уже создана по смещению %X/%08X"
 
 #~ msgid "backup time %s in file \"%s\""
 #~ msgstr "время резервного копирования %s в файле \"%s\""
@@ -38099,8 +38099,8 @@ msgstr "Используйте для записи спецсимволов си
 #~ "Кластер баз данных был инициализирован с XLOG_SEG_SIZE %d, но сервер "
 #~ "скомпилирован с XLOG_SEG_SIZE %d."
 
-#~ msgid "using previous checkpoint record at %X/%X"
-#~ msgstr "используется предыдущая запись контрольной точки по смещению %X/%X"
+#~ msgid "using previous checkpoint record at %X/%08X"
+#~ msgstr "используется предыдущая запись контрольной точки по смещению %X/%08X"
 
 #~ msgid "invalid secondary checkpoint record"
 #~ msgstr "неверная запись вторичной контрольной точки"
@@ -39097,8 +39097,8 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "invalid value for recovery parameter \"recovery_target\""
 #~ msgstr "неверное значение параметра \"recovery_target\""
 
-#~ msgid "redo record is at %X/%X; shutdown %s"
-#~ msgstr "запись REDO по смещению %X/%X; выключение: %s"
+#~ msgid "redo record is at %X/%08X; shutdown %s"
+#~ msgstr "запись REDO по смещению %X/%08X; выключение: %s"
 
 #~ msgid "next transaction ID: %u/%u; next OID: %u"
 #~ msgstr "ID следующей транзакции: %u/%u; следующий OID: %u"
@@ -39218,17 +39218,17 @@ msgstr "Используйте для записи спецсимволов си
 #~ msgid "cache lookup failed for tablesample method %u"
 #~ msgstr "ошибка поиска в кеше для метода получения выборки %u"
 
-#~ msgid "invalid xlog switch record at %X/%X"
-#~ msgstr "неверная запись переключения xlog по смещению %X/%X"
+#~ msgid "invalid xlog switch record at %X/%08X"
+#~ msgstr "неверная запись переключения xlog по смещению %X/%08X"
 
-#~ msgid "invalid backup block size in record at %X/%X"
-#~ msgstr "неверный размер блока копии в позиции %X/%X"
+#~ msgid "invalid backup block size in record at %X/%08X"
+#~ msgstr "неверный размер блока копии в позиции %X/%08X"
 
-#~ msgid "incorrect hole size in record at %X/%X"
-#~ msgstr "неправильный размер пропуска в записи по смещению %X/%X"
+#~ msgid "incorrect hole size in record at %X/%08X"
+#~ msgstr "неправильный размер пропуска в записи по смещению %X/%08X"
 
-#~ msgid "incorrect total length in record at %X/%X"
-#~ msgstr "некорректная общая длина в записи по смещению %X/%X"
+#~ msgid "incorrect total length in record at %X/%08X"
+#~ msgstr "некорректная общая длина в записи по смещению %X/%08X"
 
 #~ msgid "=> is deprecated as an operator name"
 #~ msgstr "=> как имя оператора считается устаревшим"
@@ -39371,7 +39371,7 @@ msgstr "Используйте для записи спецсимволов си
 #~ "%d, требовалось: %u)"
 
 #~ msgid ""
-#~ "skipping snapshot at %X/%X while building logical decoding snapshot, xmin "
+#~ "skipping snapshot at %X/%08X while building logical decoding snapshot, xmin "
 #~ "horizon too low"
 #~ msgstr ""
 #~ "при построении снимка логического декодирования пропускается снимок в %X/"
diff --git a/src/backend/po/sv.po b/src/backend/po/sv.po
index db87d04a3c2..0d457eeae1c 100644
--- a/src/backend/po/sv.po
+++ b/src/backend/po/sv.po
@@ -2228,18 +2228,18 @@ msgstr "Misslyckades vid allokering av en WAL-läs-processor."
 
 #: access/transam/twophase.c:1429
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X: %s"
-msgstr "kunde inte läsa tvåfas-status från WAL vid %X/%X: %s"
+msgid "could not read two-phase state from WAL at %X/%08X: %s"
+msgstr "kunde inte läsa tvåfas-status från WAL vid %X/%08X: %s"
 
 #: access/transam/twophase.c:1434
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "kunde inte läsa tvåfas-status från WAL vid %X/%X"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "kunde inte läsa tvåfas-status från WAL vid %X/%08X"
 
 #: access/transam/twophase.c:1442
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
-msgstr "förväntad tvåfas-statusdata finns inte i WAL vid %X/%X"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
+msgstr "förväntad tvåfas-statusdata finns inte i WAL vid %X/%08X"
 
 #: access/transam/twophase.c:1745
 #, c-format
@@ -2295,8 +2295,8 @@ msgstr "kunde inte återställa tvåfas-statusfil för transaktion %u"
 
 #: access/transam/twophase.c:2516
 #, c-format
-msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
-msgstr "Statefil för tvåfas har hittats i WAL-post %X/%X men denna transaktion har redan återställts från disk."
+msgid "Two-phase state file has been found in WAL record %X/%08X, but this transaction has already been restored from disk."
+msgstr "Statefil för tvåfas har hittats i WAL-post %X/%08X men denna transaktion har redan återställts från disk."
 
 #: access/transam/twophase.c:2524 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
 #, c-format
@@ -2464,13 +2464,13 @@ msgstr "kan inte ha mer än 2^32-1 undertransaktioner i en transaktion"
 
 #: access/transam/xlog.c:1542
 #, c-format
-msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
-msgstr "förfrågan att flush:a efter slutet av genererad WAL; efterfrågad %X/%X, aktuell position %X/%X"
+msgid "request to flush past end of generated WAL; request %X/%08X, current position %X/%08X"
+msgstr "förfrågan att flush:a efter slutet av genererad WAL; efterfrågad %X/%08X, aktuell position %X/%08X"
 
 #: access/transam/xlog.c:1769
 #, c-format
-msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X"
-msgstr "kan inte läsa efter slutet av genererad WAL; efterfrågad %X/%X, aktuell position %X/%X"
+msgid "cannot read past end of generated WAL: requested %X/%08X, current position %X/%08X"
+msgstr "kan inte läsa efter slutet av genererad WAL; efterfrågad %X/%08X, aktuell position %X/%08X"
 
 #: access/transam/xlog.c:2210 access/transam/xlog.c:4501
 #, c-format
@@ -2781,13 +2781,13 @@ msgstr "checkpoint startar:%s%s%s%s%s%s%s%s"
 
 #: access/transam/xlog.c:6728
 #, c-format
-msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr "restartpoint klar: skrev %d buffers (%.1f%%); %d WAL-fil(er) tillagda, %d borttagna, %d recyclade; skriv=%ld.%03d s, synk=%ld.%03d s, totalt=%ld.%03d s; synk-filer=%d, längsta=%ld.%03d s, genomsnitt=%ld.%03d s; distans=%d kB, estimat=%d kB; lsn=%X/%X, redo-lsn=%X/%X"
+msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
+msgstr "restartpoint klar: skrev %d buffers (%.1f%%); %d WAL-fil(er) tillagda, %d borttagna, %d recyclade; skriv=%ld.%03d s, synk=%ld.%03d s, totalt=%ld.%03d s; synk-filer=%d, längsta=%ld.%03d s, genomsnitt=%ld.%03d s; distans=%d kB, estimat=%d kB; lsn=%X/%08X, redo-lsn=%X/%08X"
 
 #: access/transam/xlog.c:6751
 #, c-format
-msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr "checkpoint klar: skrev %d buffers (%.1f%%); %d WAL-fil(er) tillagda, %d borttagna, %d recyclade; skriv=%ld.%03d s, synk=%ld.%03d s, totalt=%ld.%03d s; synk-filer=%d, längsta=%ld.%03d s, genomsnitt=%ld.%03d s; distans=%d kB, estimat=%d kB; lsn=%X/%X, redo-lsn=%X/%X"
+msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
+msgstr "checkpoint klar: skrev %d buffers (%.1f%%); %d WAL-fil(er) tillagda, %d borttagna, %d recyclade; skriv=%ld.%03d s, synk=%ld.%03d s, totalt=%ld.%03d s; synk-filer=%d, längsta=%ld.%03d s, genomsnitt=%ld.%03d s; distans=%d kB, estimat=%d kB; lsn=%X/%08X, redo-lsn=%X/%08X"
 
 #: access/transam/xlog.c:7233
 #, c-format
@@ -2796,8 +2796,8 @@ msgstr "samtidig write-ahead-logg-aktivitet när databassystemet stängs ner"
 
 #: access/transam/xlog.c:7818
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "återställningens omstartspunkt vid %X/%X"
+msgid "recovery restart point at %X/%08X"
+msgstr "återställningens omstartspunkt vid %X/%08X"
 
 #: access/transam/xlog.c:7820
 #, c-format
@@ -2806,8 +2806,8 @@ msgstr "Senaste kompletta transaktionen var vid loggtid %s"
 
 #: access/transam/xlog.c:8082
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "återställningspunkt \"%s\" skapad vid %X/%X"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "återställningspunkt \"%s\" skapad vid %X/%08X"
 
 #: access/transam/xlog.c:8289
 #, c-format
@@ -3068,53 +3068,53 @@ msgstr "\"recovery_prefetch\" stöds inte på plattformar som saknar posix_fadvi
 
 #: access/transam/xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "ogiltig postlängd vid %X/%X: förväntade minst %u, fick %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "ogiltig postlängd vid %X/%08X: förväntade minst %u, fick %u"
 
 #: access/transam/xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord är begärd vid %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord är begärd vid %X/%08X"
 
 #: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "ogiltig postlängd vid %X/%X: förväntade minst %u, fick %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "ogiltig postlängd vid %X/%08X: förväntade minst %u, fick %u"
 
 #: access/transam/xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "det finns ingen contrecord-flagga vid %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "det finns ingen contrecord-flagga vid %X/%08X"
 
 #: access/transam/xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "ogiltig contrecord-längd %u (förväntade %lld) vid %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "ogiltig contrecord-längd %u (förväntade %lld) vid %X/%08X"
 
 #: access/transam/xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ogiltigt resurshanterar-ID %u vid %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ogiltigt resurshanterar-ID %u vid %X/%08X"
 
 #: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "post med inkorrekt prev-link %X/%X vid %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "post med inkorrekt prev-link %X/%08X vid %X/%08X"
 
 #: access/transam/xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "felaktig resurshanterardatakontrollsumma i post vid %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "felaktig resurshanterardatakontrollsumma i post vid %X/%08X"
 
 #: access/transam/xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "felaktigt magiskt nummer %04X i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "felaktigt magiskt nummer %04X i WAL-segment %s, LSN %X/%08X, offset %u"
 
 #: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ogiltiga infobitar %04X i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ogiltiga infobitar %04X i WAL-segment %s, LSN %X/%08X, offset %u"
 
 #: access/transam/xlogreader.c:1274
 #, c-format
@@ -3133,63 +3133,63 @@ msgstr "WAL-fil är från ett annat databassystem: inkorrekt XLOG_BLCKSZ i sidhu
 
 #: access/transam/xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "oväntad sidadress %X/%X i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "oväntad sidadress %X/%08X i WAL-segment %s, LSN %X/%08X, offset %u"
 
 #: access/transam/xlogreader.c:1346
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ej-i-sekvens för tidslinje-ID %u (efter %u) i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ej-i-sekvens för tidslinje-ID %u (efter %u) i WAL-segment %s, LSN %X/%08X, offset %u"
 
 #: access/transam/xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "\"ej i sekvens\"-block_id %u vid %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "\"ej i sekvens\"-block_id %u vid %X/%08X"
 
 #: access/transam/xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA är satt men ingen data inkluderad vid %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA är satt men ingen data inkluderad vid %X/%08X"
 
 #: access/transam/xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA är ej satt men datalängden är %u vid %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA är ej satt men datalängden är %u vid %X/%08X"
 
 #: access/transam/xlogreader.c:1816
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE är satt men håloffset %u längd %u blockavbildlängd %u vid %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE är satt men håloffset %u längd %u blockavbildlängd %u vid %X/%08X"
 
 #: access/transam/xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE är inte satt men håloffset %u längd %u vid %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE är inte satt men håloffset %u längd %u vid %X/%08X"
 
 #: access/transam/xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED är satt men blockavbildlängd %u vid %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED är satt men blockavbildlängd %u vid %X/%08X"
 
 #: access/transam/xlogreader.c:1861
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "varken BKPIMAGE_HAS_HOLE eller BKPIMAGE_COMPRESSED är satt men blockavbildlängd är %u vid %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "varken BKPIMAGE_HAS_HOLE eller BKPIMAGE_COMPRESSED är satt men blockavbildlängd är %u vid %X/%08X"
 
 #: access/transam/xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL är satt men ingen tidigare rel vid %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL är satt men ingen tidigare rel vid %X/%08X"
 
 #: access/transam/xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "ogiltig block_id %u vid %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "ogiltig block_id %u vid %X/%08X"
 
 #: access/transam/xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "post med ogiltig längd vid %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "post med ogiltig längd vid %X/%08X"
 
 #: access/transam/xlogreader.c:1982
 #, c-format
@@ -3198,38 +3198,38 @@ msgstr "kunde inte hitta backup-block med ID %d i WAL-post"
 
 #: access/transam/xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt block %d angivet"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "kunde inte återställa avbild vid %X/%08X med ogiltigt block %d angivet"
 
 #: access/transam/xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt state, block %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "kunde inte återställa avbild vid %X/%08X med ogiltigt state, block %d"
 
 #: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med %s stöds inte av bygget, block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "kunde inte återställa avbild vid %X/%08X, komprimerad med %s stöds inte av bygget, block %d"
 
 #: access/transam/xlogreader.c:2126
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med okänd metod, block %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "kunde inte återställa avbild vid %X/%08X, komprimerad med okänd metod, block %d"
 
 #: access/transam/xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "kunde inte packa upp avbild vid %X/%X, block %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "kunde inte packa upp avbild vid %X/%08X, block %d"
 
 #: access/transam/xlogrecovery.c:617
 #, c-format
-msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u"
-msgstr "startar backupåterställning med redo LSN %X/%X, checkpoint LSN %X/%X, på tidslinje ID %u"
+msgid "starting backup recovery with redo LSN %X/%08X, checkpoint LSN %X/%08X, on timeline ID %u"
+msgstr "startar backupåterställning med redo LSN %X/%08X, checkpoint LSN %X/%08X, på tidslinje ID %u"
 
 #: access/transam/xlogrecovery.c:649
 #, c-format
-msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X"
-msgstr "kunde inte hitta redo-position %X/%X refererad av checkpoint-post vid %X/%X"
+msgid "could not find redo location %X/%08X referenced by checkpoint record at %X/%08X"
+msgstr "kunde inte hitta redo-position %X/%08X refererad av checkpoint-post vid %X/%08X"
 
 #: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662
 #, c-format
@@ -3245,8 +3245,8 @@ msgstr ""
 
 #: access/transam/xlogrecovery.c:660
 #, c-format
-msgid "could not locate required checkpoint record at %X/%X"
-msgstr "kunde inte hitta den checkpoint-post som krävs vid %X/%X"
+msgid "could not locate required checkpoint record at %X/%08X"
+msgstr "kunde inte hitta den checkpoint-post som krävs vid %X/%08X"
 
 #: access/transam/xlogrecovery.c:690 commands/tablespace.c:664
 #, c-format
@@ -3270,13 +3270,13 @@ msgstr "Kunde inte döpa om fil \"%s\" till \"%s\": %m"
 
 #: access/transam/xlogrecovery.c:770
 #, c-format
-msgid "restarting backup recovery with redo LSN %X/%X"
-msgstr "startar om backupåterställning med redo LSN %X/%X"
+msgid "restarting backup recovery with redo LSN %X/%08X"
+msgstr "startar om backupåterställning med redo LSN %X/%08X"
 
 #: access/transam/xlogrecovery.c:795
 #, c-format
-msgid "could not locate a valid checkpoint record at %X/%X"
-msgstr "kunde inte hitta en giltig checkpoint-post vid %X/%X"
+msgid "could not locate a valid checkpoint record at %X/%08X"
+msgstr "kunde inte hitta en giltig checkpoint-post vid %X/%08X"
 
 #: access/transam/xlogrecovery.c:806
 #, c-format
@@ -3300,8 +3300,8 @@ msgstr "startar point-in-time-återställning till \"%s\""
 
 #: access/transam/xlogrecovery.c:821
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "startar point-in-time-återställning till WAL-position (LSN) \"%X/%X\""
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
+msgstr "startar point-in-time-återställning till WAL-position (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:825
 #, c-format
@@ -3320,13 +3320,13 @@ msgstr "efterfrågad tidslinje %u är inte ett barn till denna servers historik"
 
 #: access/transam/xlogrecovery.c:851
 #, c-format
-msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
-msgstr "Senaste checkpoint är vid %X/%X på tidslinje %u, men i historiken för efterfrågad tidslinje så avvek servern från den tidslinjen vid %X/%X."
+msgid "Latest checkpoint is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
+msgstr "Senaste checkpoint är vid %X/%08X på tidslinje %u, men i historiken för efterfrågad tidslinje så avvek servern från den tidslinjen vid %X/%08X."
 
 #: access/transam/xlogrecovery.c:865
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
-msgstr "efterfågan tidslinje %u innehåller inte minimal återställningspunkt %X/%X på tidslinje %u"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
+msgstr "efterfågan tidslinje %u innehåller inte minimal återställningspunkt %X/%08X på tidslinje %u"
 
 #: access/transam/xlogrecovery.c:893
 #, c-format
@@ -3417,18 +3417,18 @@ msgstr "Använd pg_combinebackup för att återskapa en giltig datakatalog."
 
 #: access/transam/xlogrecovery.c:1717
 #, c-format
-msgid "unexpected record type found at redo point %X/%X"
-msgstr "oväntad typ på post hittad vid redo-punkt %X/%X"
+msgid "unexpected record type found at redo point %X/%08X"
+msgstr "oväntad typ på post hittad vid redo-punkt %X/%08X"
 
 #: access/transam/xlogrecovery.c:1740
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "redo startar vid %X/%X"
+msgid "redo starts at %X/%08X"
+msgstr "redo startar vid %X/%08X"
 
 #: access/transam/xlogrecovery.c:1753
 #, c-format
-msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
-msgstr "redo pågår, förbrukad tid: %ld.%02d s, nuvarande LSN: %X/%X"
+msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%08X"
+msgstr "redo pågår, förbrukad tid: %ld.%02d s, nuvarande LSN: %X/%08X"
 
 #: access/transam/xlogrecovery.c:1843
 #, c-format
@@ -3437,8 +3437,8 @@ msgstr "efterfrågad återställningsstoppunkt är före en konsistent återstä
 
 #: access/transam/xlogrecovery.c:1875
 #, c-format
-msgid "redo done at %X/%X system usage: %s"
-msgstr "redo gjord vid %X/%X systemanvändning: %s"
+msgid "redo done at %X/%08X system usage: %s"
+msgstr "redo gjord vid %X/%08X systemanvändning: %s"
 
 #: access/transam/xlogrecovery.c:1881
 #, c-format
@@ -3457,8 +3457,8 @@ msgstr "återställning avslutades innan det konfigurerade återställningsmåle
 
 #: access/transam/xlogrecovery.c:2095
 #, c-format
-msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
-msgstr "lyckades hoppa över saknad contrecord vid %X/%X, överskriven vid %s"
+msgid "successfully skipped missing contrecord at %X/%08X, overwritten at %s"
+msgstr "lyckades hoppa över saknad contrecord vid %X/%08X, överskriven vid %s"
 
 #: access/transam/xlogrecovery.c:2162
 #, c-format
@@ -3477,19 +3477,19 @@ msgstr "Ta bort dessa kataloger eller sätt \"allow_in_place_tablespaces\" tempo
 
 #: access/transam/xlogrecovery.c:2217
 #, c-format
-msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X"
-msgstr "slutförde backupåterställning vid redo-LSN %X/%X och slut-LSN %X/%X"
+msgid "completed backup recovery with redo LSN %X/%08X and end LSN %X/%08X"
+msgstr "slutförde backupåterställning vid redo-LSN %X/%08X och slut-LSN %X/%08X"
 
 #: access/transam/xlogrecovery.c:2247
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "konsistent återställningstillstånd uppnått vid %X/%X"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "konsistent återställningstillstånd uppnått vid %X/%08X"
 
 #. translator: %s is a WAL record description
 #: access/transam/xlogrecovery.c:2285
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "WAL-redo vid %X/%X för %s"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "WAL-redo vid %X/%08X för %s"
 
 #: access/transam/xlogrecovery.c:2383
 #, c-format
@@ -3503,8 +3503,8 @@ msgstr "oväntad tidslinje-ID %u (efter %u) i checkpoint-post"
 
 #: access/transam/xlogrecovery.c:2408
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
-msgstr "oväntad tidslinje-ID %u i checkpoint-post, innan vi nått minimal återställningspunkt %X/%X på tidslinje %u"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
+msgstr "oväntad tidslinje-ID %u i checkpoint-post, innan vi nått minimal återställningspunkt %X/%08X på tidslinje %u"
 
 #: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868
 #, c-format
@@ -3513,8 +3513,8 @@ msgstr "återställning stoppad efter att ha uppnått konsistens"
 
 #: access/transam/xlogrecovery.c:2613
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "återställning stoppad före WAL-position (LSN) \"%X/%X\""
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "återställning stoppad före WAL-position (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:2703
 #, c-format
@@ -3533,8 +3533,8 @@ msgstr "återställning stoppad vid återställningspunkt \"%s\", tid %s"
 
 #: access/transam/xlogrecovery.c:2781
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "återställning stoppad efter WAL-position (LSN) \"%X/%X\""
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "återställning stoppad efter WAL-position (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:2848
 #, c-format
@@ -3568,18 +3568,18 @@ msgstr "Kör pg_wal_replay_resume() för att fortsätta."
 
 #: access/transam/xlogrecovery.c:3205
 #, c-format
-msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "oväntad tidslinje-ID %u i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "oväntad tidslinje-ID %u i WAL-segment %s, LSN %X/%08X, offset %u"
 
 #: access/transam/xlogrecovery.c:3413
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
-msgstr "kunde inte läsa från WAL-segment %s, LSN %X/%X, offset %u: %m"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: %m"
+msgstr "kunde inte läsa från WAL-segment %s, LSN %X/%08X, offset %u: %m"
 
 #: access/transam/xlogrecovery.c:3420
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
-msgstr "kunde inte läsa från WAL-segment %s, LSN %X/%X, offset %u, läste %d av %zu"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: read %d of %zu"
+msgstr "kunde inte läsa från WAL-segment %s, LSN %X/%08X, offset %u, läste %d av %zu"
 
 #: access/transam/xlogrecovery.c:4061
 #, c-format
@@ -3613,8 +3613,8 @@ msgstr "ny tidslinje %u är inte ett barn till databasens systemtidslinje %u"
 
 #: access/transam/xlogrecovery.c:4159
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
-msgstr "ny tidslinje %u skapad från aktuella databasens systemtidslinje %u innan nuvarande återställningspunkt %X/%X"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
+msgstr "ny tidslinje %u skapad från aktuella databasens systemtidslinje %u innan nuvarande återställningspunkt %X/%08X"
 
 #: access/transam/xlogrecovery.c:4178
 #, c-format
@@ -3924,18 +3924,18 @@ msgstr "tidslinje %u hittades i manifest men inte i denna servers historik"
 
 #: backup/basebackup_incremental.c:414
 #, c-format
-msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X"
-msgstr "manifestet kräver WAL från initiala tidslinjen %u vid start %X/%X men den tidslinjen börjar vid %X/%X"
+msgid "manifest requires WAL from initial timeline %u starting at %X/%08X, but that timeline begins at %X/%08X"
+msgstr "manifestet kräver WAL från initiala tidslinjen %u vid start %X/%08X men den tidslinjen börjar vid %X/%08X"
 
 #: backup/basebackup_incremental.c:424
 #, c-format
-msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X"
-msgstr "manifestet kräver WAL från tidslinje %u att fortsätta med som startar vid %X/%X men den tidslinjen börjar vid %X/%X"
+msgid "manifest requires WAL from continuation timeline %u starting at %X/%08X, but that timeline begins at %X/%08X"
+msgstr "manifestet kräver WAL från tidslinje %u att fortsätta med som startar vid %X/%08X men den tidslinjen börjar vid %X/%08X"
 
 #: backup/basebackup_incremental.c:435
 #, c-format
-msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X"
-msgstr "manifestet kräver WAL från avslutande tidslinje %u som slutar vid %X/%X, men denna backup startar vid %X/%X"
+msgid "manifest requires WAL from final timeline %u ending at %X/%08X, but this backup starts at %X/%08X"
+msgstr "manifestet kräver WAL från avslutande tidslinje %u som slutar vid %X/%08X, men denna backup startar vid %X/%08X"
 
 #: backup/basebackup_incremental.c:439
 #, c-format
@@ -3944,23 +3944,23 @@ msgstr "Detta kan hända vid inkrementella backuper på en standby om det är li
 
 #: backup/basebackup_incremental.c:446
 #, c-format
-msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X"
-msgstr "manifestet kräver WAL från en icke avslutande tidslinje %u som slutar vid %X/%X men denns server bytte tidslinje vid %X/%X"
+msgid "manifest requires WAL from non-final timeline %u ending at %X/%08X, but this server switched timelines at %X/%08X"
+msgstr "manifestet kräver WAL från en icke avslutande tidslinje %u som slutar vid %X/%08X men denns server bytte tidslinje vid %X/%08X"
 
 #: backup/basebackup_incremental.c:527
 #, c-format
-msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist"
-msgstr "WAL-summering krävs för tidslinje %u från %X/%X till %X/%X men inga summeringar för den tidslinjen och det LSN-intervallet finns"
+msgid "WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but no summaries for that timeline and LSN range exist"
+msgstr "WAL-summering krävs för tidslinje %u från %X/%08X till %X/%08X men inga summeringar för den tidslinjen och det LSN-intervallet finns"
 
 #: backup/basebackup_incremental.c:534
 #, c-format
-msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete"
-msgstr "WAL-summering krävs för tidslinje %u från %X/%X till %X/%X men summeringar för den tidslinjen och det LSN-intervallet är inkompletta"
+msgid "WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but the summaries for that timeline and LSN range are incomplete"
+msgstr "WAL-summering krävs för tidslinje %u från %X/%08X till %X/%08X men summeringar för den tidslinjen och det LSN-intervallet är inkompletta"
 
 #: backup/basebackup_incremental.c:538
 #, c-format
-msgid "The first unsummarized LSN in this range is %X/%X."
-msgstr "Den första icke summerade LSN i detta intervall är %X/%X."
+msgid "The first unsummarized LSN in this range is %X/%08X."
+msgstr "Den första icke summerade LSN i detta intervall är %X/%08X."
 
 #: backup/basebackup_incremental.c:938
 #, c-format
@@ -10329,8 +10329,8 @@ msgstr "Använd ALTER SUBSCRIPTION ... REFRESH med copy_data = false eller anvä
 
 #: commands/subscriptioncmds.c:1473
 #, c-format
-msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
-msgstr "skip-WAL-position (LSN %X/%X) måste vara större än käll-LSN %X/%X"
+msgid "skip WAL location (LSN %X/%08X) must be greater than origin LSN %X/%08X"
+msgstr "skip-WAL-position (LSN %X/%08X) måste vara större än käll-LSN %X/%08X"
 
 #: commands/subscriptioncmds.c:1594
 #, c-format
@@ -20483,35 +20483,35 @@ msgstr "WAL-summering avancerar inte"
 
 #: postmaster/walsummarizer.c:741
 #, c-format
-msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory."
-msgstr "Summering krävs till %X/%X men har fastnat vid %X/%X på disk och vid %X/%X i minnet."
+msgid "Summarization is needed through %X/%08X, but is stuck at %X/%08X on disk and %X/%08X in memory."
+msgstr "Summering krävs till %X/%08X men har fastnat vid %X/%08X på disk och vid %X/%08X i minnet."
 
 #: postmaster/walsummarizer.c:755
 #, c-format
-msgid "still waiting for WAL summarization through %X/%X after %ld second"
-msgid_plural "still waiting for WAL summarization through %X/%X after %ld seconds"
-msgstr[0] "väntar fortfarande på WAL-summering till %X/%X efter %ld sekund"
-msgstr[1] "väntar fortfarande på WAL-summering till %X/%X efter %ld sekunder"
+msgid "still waiting for WAL summarization through %X/%08X after %ld second"
+msgid_plural "still waiting for WAL summarization through %X/%08X after %ld seconds"
+msgstr[0] "väntar fortfarande på WAL-summering till %X/%08X efter %ld sekund"
+msgstr[1] "väntar fortfarande på WAL-summering till %X/%08X efter %ld sekunder"
 
 #: postmaster/walsummarizer.c:760
 #, c-format
-msgid "Summarization has reached %X/%X on disk and %X/%X in memory."
-msgstr "Summering har nått %X/%X på disk och %X/%X i minnet."
+msgid "Summarization has reached %X/%08X on disk and %X/%08X in memory."
+msgstr "Summering har nått %X/%08X på disk och %X/%08X i minnet."
 
 #: postmaster/walsummarizer.c:1000
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "kunde inte hitta en giltig post efter %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "kunde inte hitta en giltig post efter %X/%08X"
 
 #: postmaster/walsummarizer.c:1045
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X: %s"
-msgstr "kunde inte läsa WAL från tidslinje %u vid %X/%X: %s"
+msgid "could not read WAL from timeline %u at %X/%08X: %s"
+msgstr "kunde inte läsa WAL från tidslinje %u vid %X/%08X: %s"
 
 #: postmaster/walsummarizer.c:1051
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X"
-msgstr "kunde inte läsa WAL från tidslinje %u vid %X/%X"
+msgid "could not read WAL from timeline %u at %X/%08X"
+msgstr "kunde inte läsa WAL från tidslinje %u vid %X/%08X"
 
 #: regex/regc_pg_locale.c:244
 #, c-format
@@ -20811,13 +20811,13 @@ msgstr "startar logisk avkodning för slot \"%s\""
 
 #: replication/logical/logical.c:630
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
-msgstr "Strömmar transaktioner commit:ade efter %X/%X, läser WAL från %X/%X"
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
+msgstr "Strömmar transaktioner commit:ade efter %X/%08X, läser WAL från %X/%08X"
 
 #: replication/logical/logical.c:778
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
-msgstr "slot \"%s\", utdata-plugin \"%s\", i callback:en %s, associerad LSN %X/%X"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
+msgstr "slot \"%s\", utdata-plugin \"%s\", i callback:en %s, associerad LSN %X/%08X"
 
 #: replication/logical/logical.c:784
 #, c-format
@@ -20915,8 +20915,8 @@ msgstr "kunde inte hitta ledig replikeringsplats, öka \"max_replication_slots\"
 
 #: replication/logical/origin.c:806
 #, c-format
-msgid "recovered replication state of node %d to %X/%X"
-msgstr "återställde replikeringstillstånd för nod %d till %X/%X"
+msgid "recovered replication state of node %d to %X/%08X"
+msgstr "återställde replikeringstillstånd för nod %d till %X/%08X"
 
 #: replication/logical/origin.c:816
 #, c-format
@@ -21021,8 +21021,8 @@ msgstr "kunde inte synkronisera replikeringsslot \"%s\" då fjärrslotten ligger
 
 #: replication/logical/slotsync.c:217
 #, c-format
-msgid "The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has LSN %X/%X and catalog xmin %u."
-msgstr "Fjärrslotten har LSN %X/%X och katalog-xmin %u men lokala slotten har LSN %X/%X och katalog-xmin %u."
+msgid "The remote slot has LSN %X/%08X and catalog xmin %u, but the local slot has LSN %X/%08X and catalog xmin %u."
+msgstr "Fjärrslotten har LSN %X/%08X och katalog-xmin %u men lokala slotten har LSN %X/%08X och katalog-xmin %u."
 
 #: replication/logical/slotsync.c:459
 #, c-format
@@ -21036,8 +21036,8 @@ msgstr "kunde inte synkronisera replikeringsslot \"%s\""
 
 #: replication/logical/slotsync.c:580
 #, c-format
-msgid "Logical decoding could not find consistent point from local slot's LSN %X/%X."
-msgstr "Logisk avkodning kunde inte hitta en konsistent punkt från lokala slottens LSN %X/%X"
+msgid "Logical decoding could not find consistent point from local slot's LSN %X/%08X."
+msgstr "Logisk avkodning kunde inte hitta en konsistent punkt från lokala slottens LSN %X/%08X"
 
 #: replication/logical/slotsync.c:589
 #, c-format
@@ -21046,8 +21046,8 @@ msgstr "nyskapad replikeringsslot \"%s\" är redo för synk nu"
 
 #: replication/logical/slotsync.c:628
 #, c-format
-msgid "skipping slot synchronization because the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X"
-msgstr "hoppar över slotsynkronisering då den mottagna slottens synk-LSN %X/%X för slot \"%s\" är längre fram än standby-positionen %X/%X"
+msgid "skipping slot synchronization because the received slot sync LSN %X/%08X for slot \"%s\" is ahead of the standby position %X/%08X"
+msgstr "hoppar över slotsynkronisering då den mottagna slottens synk-LSN %X/%08X för slot \"%s\" är längre fram än standby-positionen %X/%08X"
 
 #: replication/logical/slotsync.c:650
 #, c-format
@@ -21157,8 +21157,8 @@ msgstr[1] "exporterade logisk avkodnings-snapshot: \"%s\" med %u transaktions-ID
 #: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501
 #: replication/logical/snapbuild.c:2017
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "logisk avkodning hittade konsistent punkt vid %X/%X"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "logisk avkodning hittade konsistent punkt vid %X/%08X"
 
 #: replication/logical/snapbuild.c:1406
 #, c-format
@@ -21167,8 +21167,8 @@ msgstr "Det finns inga körande transaktioner."
 
 #: replication/logical/snapbuild.c:1453
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "logisk avkodning hittade initial startpunkt vid %X/%X"
+msgid "logical decoding found initial starting point at %X/%08X"
+msgstr "logisk avkodning hittade initial startpunkt vid %X/%08X"
 
 #: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479
 #, c-format
@@ -21177,8 +21177,8 @@ msgstr "Väntar på att transaktioner (cirka %d) äldre än %u skall gå klart."
 
 #: replication/logical/snapbuild.c:1477
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
-msgstr "logisk avkodning hittade initial konsistent punkt vid %X/%X"
+msgid "logical decoding found initial consistent point at %X/%08X"
+msgstr "logisk avkodning hittade initial konsistent punkt vid %X/%08X"
 
 #: replication/logical/snapbuild.c:1503
 #, c-format
@@ -21367,13 +21367,13 @@ msgstr "prenumeration \"%s\" har avaktiverats på grund av ett fel"
 
 #: replication/logical/worker.c:4806
 #, c-format
-msgid "logical replication starts skipping transaction at LSN %X/%X"
-msgstr "logisk replikering börjar hoppa över transaktion vid LSN %X/%X"
+msgid "logical replication starts skipping transaction at LSN %X/%08X"
+msgstr "logisk replikering börjar hoppa över transaktion vid LSN %X/%08X"
 
 #: replication/logical/worker.c:4820
 #, c-format
-msgid "logical replication completed skipping transaction at LSN %X/%X"
-msgstr "logisk replikering har slutfört överhoppande av transaktionen vid LSN %X/%X"
+msgid "logical replication completed skipping transaction at LSN %X/%08X"
+msgstr "logisk replikering har slutfört överhoppande av transaktionen vid LSN %X/%08X"
 
 #: replication/logical/worker.c:4902
 #, c-format
@@ -21382,8 +21382,8 @@ msgstr "överhoppnings-LSN för logiska prenumerationen \"%s\" har nollställts"
 
 #: replication/logical/worker.c:4903
 #, c-format
-msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X."
-msgstr "Fjärrtransaktionens slut-WAL-position (LSN) %X/%X matchade inte överhoppnings-LSN %X/%X."
+msgid "Remote transaction's finish WAL location (LSN) %X/%08X did not match skip-LSN %X/%08X."
+msgstr "Fjärrtransaktionens slut-WAL-position (LSN) %X/%08X matchade inte överhoppnings-LSN %X/%08X."
 
 #: replication/logical/worker.c:4940
 #, c-format
@@ -21397,8 +21397,8 @@ msgstr "processar fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"
 
 #: replication/logical/worker.c:4949
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X"
-msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" i transaktion %u blev klar vid %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%08X"
+msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" i transaktion %u blev klar vid %X/%08X"
 
 #: replication/logical/worker.c:4960
 #, c-format
@@ -21407,8 +21407,8 @@ msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandet
 
 #: replication/logical/worker.c:4967
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X"
-msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" i transaktion %u blev klart vid %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%08X"
+msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" i transaktion %u blev klart vid %X/%08X"
 
 #: replication/logical/worker.c:4978
 #, c-format
@@ -21417,8 +21417,8 @@ msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandet
 
 #: replication/logical/worker.c:4986
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X"
-msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" kolumn \"%s\" i transaktion %u blev klart vid %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%08X"
+msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" kolumn \"%s\" i transaktion %u blev klart vid %X/%08X"
 
 #: replication/pgoutput/pgoutput.c:322
 #, c-format
@@ -21598,10 +21598,10 @@ msgstr "Bara roller med attributet %s får använda replikeringsslottar."
 
 #: replication/slot.c:1498
 #, c-format
-msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte."
-msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes."
-msgstr[0] "Slottens restart_lsn %X/%X överskrider gränsen på %llu byte."
-msgstr[1] "Slottens restart_lsn %X/%X överskrider gränsen på %llu bytes."
+msgid "The slot's restart_lsn %X/%08X exceeds the limit by %llu byte."
+msgid_plural "The slot's restart_lsn %X/%08X exceeds the limit by %llu bytes."
+msgstr[0] "Slottens restart_lsn %X/%08X överskrider gränsen på %llu byte."
+msgstr[1] "Slottens restart_lsn %X/%08X överskrider gränsen på %llu bytes."
 
 #: replication/slot.c:1506
 #, c-format
@@ -21739,8 +21739,8 @@ msgstr "Denna slot har aldrig tidigare reserverat WAL eller så har den invalide
 
 #: replication/slotfuncs.c:566
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
-msgstr "kan inte flytta fram replikeringsslot till %X/%X, minimum är %X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
+msgstr "kan inte flytta fram replikeringsslot till %X/%08X, minimum är %X/%08X"
 
 #: replication/slotfuncs.c:673
 #, c-format
@@ -21839,13 +21839,13 @@ msgstr "högsta tidslinjen %u i primären är efter återställningstidslinjen %
 
 #: replication/walreceiver.c:419
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
-msgstr "startade strömning av WAL från primären vid %X/%X på tidslinje %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
+msgstr "startade strömning av WAL från primären vid %X/%08X på tidslinje %u"
 
 #: replication/walreceiver.c:423
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "återstartade WAL-strömning vid %X/%X på tidslinje %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
+msgstr "återstartade WAL-strömning vid %X/%08X på tidslinje %u"
 
 #: replication/walreceiver.c:458
 #, c-format
@@ -21859,8 +21859,8 @@ msgstr "replikering avslutad av primär server"
 
 #: replication/walreceiver.c:503
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "Slut på WAL nådd på tidslinje %u vid %X/%X."
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "Slut på WAL nådd på tidslinje %u vid %X/%08X."
 
 #: replication/walreceiver.c:593
 #, c-format
@@ -21909,18 +21909,18 @@ msgstr "kan inte använda logisk replikeringsslot för fysisk replikering"
 
 #: replication/walsender.c:919
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
-msgstr "efterfrågad startpunkt %X/%X på tidslinje %u finns inte i denna servers historik"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
+msgstr "efterfrågad startpunkt %X/%08X på tidslinje %u finns inte i denna servers historik"
 
 #: replication/walsender.c:922
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "Denna servers historik delade sig från tidslinje %u vid %X/%X."
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "Denna servers historik delade sig från tidslinje %u vid %X/%08X."
 
 #: replication/walsender.c:966
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
-msgstr "efterfrågad startpunkt %X/%X är längre fram än denna servers flush:ade WAL-skrivposition %X/%X"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
+msgstr "efterfrågad startpunkt %X/%08X är längre fram än denna servers flush:ade WAL-skrivposition %X/%08X"
 
 #: replication/walsender.c:1160
 #, c-format
diff --git a/src/backend/po/tr.po b/src/backend/po/tr.po
index b791e886b9f..f0afc61fe8a 100644
--- a/src/backend/po/tr.po
+++ b/src/backend/po/tr.po
@@ -1450,13 +1450,13 @@ msgstr "WAL reading processor ayırma işlemi sırasında hata oluştu."
 
 #: access/transam/twophase.c:1401
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "%X/%X 'de WAL 'dan two-phase state okunamadı"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "%X/%08X 'de WAL 'dan two-phase state okunamadı"
 
 #: access/transam/twophase.c:1409
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
-msgstr "beklenen two-phase state verisi %X/%X 'de WAL içinde bulunmuyor."
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
+msgstr "beklenen two-phase state verisi %X/%08X 'de WAL içinde bulunmuyor."
 
 #: access/transam/twophase.c:1689
 #, c-format
@@ -1655,8 +1655,8 @@ msgstr "%s kayıt (log) dosyasına yazılamadı, offset %u, uzunluk %zu: %m"
 
 #: access/transam/xlog.c:2782
 #, c-format
-msgid "updated min recovery point to %X/%X on timeline %u"
-msgstr "min yeniden kurtarma noktası %u zaman çizelgesinde (timeline) %X/%X değerine güncellendi"
+msgid "updated min recovery point to %X/%08X on timeline %u"
+msgstr "min yeniden kurtarma noktası %u zaman çizelgesinde (timeline) %X/%08X değerine güncellendi"
 
 #: access/transam/xlog.c:3863 access/transam/xlogutils.c:703 replication/walsender.c:2445
 #, c-format
@@ -1705,8 +1705,8 @@ msgstr "yeni timeline %u veritabanı sistem timeline %u için geçerli bir alt (
 
 #: access/transam/xlog.c:4445
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
-msgstr "yeni %u zaman-çizelgesi (timeline) şimdiki %u veritabanı sistem zaman-çizelgesinden şimdiki %X/%X kurtarma noktasından önce çatallanmıştır"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
+msgstr "yeni %u zaman-çizelgesi (timeline) şimdiki %u veritabanı sistem zaman-çizelgesinden şimdiki %X/%08X kurtarma noktasından önce çatallanmıştır"
 
 #: access/transam/xlog.c:4464
 #, c-format
@@ -1898,8 +1898,8 @@ msgstr "kurtarma işlemi, tutarlı hale (consistency) erişilmesinden sonra duru
 
 #: access/transam/xlog.c:5641
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "kurtarma işlemi , \"%X/%X\" WAL konumundan önce duruyor"
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "kurtarma işlemi , \"%X/%08X\" WAL konumundan önce duruyor"
 
 #: access/transam/xlog.c:5727
 #, c-format
@@ -1918,8 +1918,8 @@ msgstr "kurtarma işlemi, \"%s\" geri yükleme noktasında duruyor, zaman %s"
 
 #: access/transam/xlog.c:5805
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "kurtarma işlemi , \"%X/%X\" WAL konumundan sonra duruyor"
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "kurtarma işlemi , \"%X/%08X\" WAL konumundan sonra duruyor"
 
 #: access/transam/xlog.c:5873
 #, c-format
@@ -2033,8 +2033,8 @@ msgstr "\"%s\"e geri getirme (point-in-time recovery) başlatılıyor"
 
 #: access/transam/xlog.c:6339
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "WAL konumu (LSN) \"%X/%X\"e geri getirme (point-in-time recovery) başlatılıyor"
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
+msgstr "WAL konumu (LSN) \"%X/%08X\"e geri getirme (point-in-time recovery) başlatılıyor"
 
 #: access/transam/xlog.c:6344
 #, c-format
@@ -2048,8 +2048,8 @@ msgstr "arşivden geri getirme başlatılıyor"
 
 #: access/transam/xlog.c:6401 access/transam/xlog.c:6533
 #, c-format
-msgid "checkpoint record is at %X/%X"
-msgstr "checkpoint kaydı %X/%X noktasındadır"
+msgid "checkpoint record is at %X/%08X"
+msgstr "checkpoint kaydı %X/%08X noktasındadır"
 
 #: access/transam/xlog.c:6415
 #, c-format
@@ -2104,13 +2104,13 @@ msgstr "talep edilmiş timeline %u bu sunucunun geçmişi (history) için geçer
 
 #: access/transam/xlog.c:6585
 #, c-format
-msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
-msgstr "En son checkpoint %X/%X 'tedir (%u zaman-çizelgesinde (timeline)), fakat talep edilen zaman çizelgesinin geçmişinde, sunucu o zaman çizelgesinden %X/%X 'te çatallanmıştır."
+msgid "Latest checkpoint is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
+msgstr "En son checkpoint %X/%08X 'tedir (%u zaman-çizelgesinde (timeline)), fakat talep edilen zaman çizelgesinin geçmişinde, sunucu o zaman çizelgesinden %X/%08X 'te çatallanmıştır."
 
 #: access/transam/xlog.c:6601
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
-msgstr "talep edilmiş %u zaman çizelgesi %X/%X asgari kurtarma noktasını içermiyor (%u zaman-çizelgesinde)"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
+msgstr "talep edilmiş %u zaman çizelgesi %X/%08X asgari kurtarma noktasını içermiyor (%u zaman-çizelgesinde)"
 
 #: access/transam/xlog.c:6632
 #, c-format
@@ -2154,8 +2154,8 @@ msgstr "hot standby için ilklendiriyor"
 
 #: access/transam/xlog.c:7036
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "redo başlangıcı %X/%X"
+msgid "redo starts at %X/%08X"
+msgstr "redo başlangıcı %X/%08X"
 
 #: access/transam/xlog.c:7260
 #, c-format
@@ -2164,8 +2164,8 @@ msgstr "talep edilen kurtarma durma noktası tutarlı (consistent) kurtarma nokt
 
 #: access/transam/xlog.c:7298
 #, c-format
-msgid "redo done at %X/%X"
-msgstr "redo bitişi %X/%X"
+msgid "redo done at %X/%08X"
+msgstr "redo bitişi %X/%08X"
 
 #: access/transam/xlog.c:7303
 #, c-format
@@ -2204,8 +2204,8 @@ msgstr "seçili yeni timeline ID: %u"
 
 #: access/transam/xlog.c:7878
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "%X/%X 'de tutarlı kurtarma haline ulaşılmıştır"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "%X/%08X 'de tutarlı kurtarma haline ulaşılmıştır"
 
 #: access/transam/xlog.c:8070
 #, c-format
@@ -2279,13 +2279,13 @@ msgstr "restartpoint (yeniden başlama noktası) atlanıyor, kurtarma zaten sona
 
 #: access/transam/xlog.c:9121
 #, c-format
-msgid "skipping restartpoint, already performed at %X/%X"
-msgstr "restartpoint (yeniden başlama noktası) atlanıyor, %X/%X de zaten gerçekleştirildi"
+msgid "skipping restartpoint, already performed at %X/%08X"
+msgstr "restartpoint (yeniden başlama noktası) atlanıyor, %X/%08X de zaten gerçekleştirildi"
 
 #: access/transam/xlog.c:9288
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "kurtarma yeniden başlangıç noktası: %X/%X"
+msgid "recovery restart point at %X/%08X"
+msgstr "kurtarma yeniden başlangıç noktası: %X/%08X"
 
 #: access/transam/xlog.c:9290
 #, c-format
@@ -2294,8 +2294,8 @@ msgstr "Son tamamlanan transaction %s kayıt zamanındaydı."
 
 #: access/transam/xlog.c:9424
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "\"%s\" kurtarma noktası (restore point)  %X/%X de oluşturumuş"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "\"%s\" kurtarma noktası (restore point)  %X/%08X de oluşturumuş"
 
 #: access/transam/xlog.c:9565
 #, c-format
@@ -2309,8 +2309,8 @@ msgstr "checkpoint kaydındaki beklenmeyen timeline ID %u (%u'dan sonra)"
 
 #: access/transam/xlog.c:9590
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
-msgstr "checkpoint kaydındaki beklenmeyen zaman çizelgesi ID'si %u, asgari kurtarma noktası %X/%X'e varmadan önce (%u zaman çizelgesinde)"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
+msgstr "checkpoint kaydındaki beklenmeyen zaman çizelgesi ID'si %u, asgari kurtarma noktası %X/%08X'e varmadan önce (%u zaman çizelgesinde)"
 
 #: access/transam/xlog.c:9666
 #, c-format
@@ -2465,8 +2465,8 @@ msgstr "\"%2$s\" dosyasında yedek zaman çizelgesi (timeline) %1$u"
 #. translator: %s is a WAL record description
 #: access/transam/xlog.c:11427
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "%X/%X 'de %s için WAL redo"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "%X/%08X 'de %s için WAL redo"
 
 #: access/transam/xlog.c:11476
 #, c-format
@@ -2635,48 +2635,48 @@ msgstr "sunucu %d saniye içinde yükseltilemedi (promote)"
 
 #: access/transam/xlogreader.c:299
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "%X/%X adresinde geçersiz kayıt offseti"
+msgid "invalid record offset at %X/%08X"
+msgstr "%X/%08X adresinde geçersiz kayıt offseti"
 
 #: access/transam/xlogreader.c:307
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord %X/%X tarafından talep edilmiştir"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord %X/%08X tarafından talep edilmiştir"
 
 #: access/transam/xlogreader.c:348 access/transam/xlogreader.c:645
 #, c-format
-msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "%X/%X adresinde geçersiz kayıt uzunluğu: istenen %u, alınan %u"
+msgid "invalid record length at %X/%08X: wanted %u, got %u"
+msgstr "%X/%08X adresinde geçersiz kayıt uzunluğu: istenen %u, alınan %u"
 
 #: access/transam/xlogreader.c:372
 #, c-format
-msgid "record length %u at %X/%X too long"
+msgid "record length %u at %X/%08X too long"
 msgstr "%2$X/%3$X adresinde çok büyük kayıt uzunluğu: %1$u "
 
 #: access/transam/xlogreader.c:404
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "%X/%X de contrecord bayrağı (flag) bulunmuyor"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "%X/%08X de contrecord bayrağı (flag) bulunmuyor"
 
 #: access/transam/xlogreader.c:417
 #, c-format
-msgid "invalid contrecord length %u at %X/%X"
-msgstr "%X/%X adresinde geçersiz %u contrecord uzunluğu"
+msgid "invalid contrecord length %u at %X/%08X"
+msgstr "%X/%08X adresinde geçersiz %u contrecord uzunluğu"
 
 #: access/transam/xlogreader.c:653
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
 msgstr "%2$X/%3$X adresinde geçersiz resource manager ID %1$u"
 
 #: access/transam/xlogreader.c:667 access/transam/xlogreader.c:684
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "geçersiz incorrect prev-link olan kayıt: %X/%X at %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "geçersiz incorrect prev-link olan kayıt: %X/%08X at %X/%08X"
 
 #: access/transam/xlogreader.c:721
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "resoource manager data checksum %X/%X kaydında geçersiz"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "resoource manager data checksum %X/%08X kaydında geçersiz"
 
 #: access/transam/xlogreader.c:758
 #, c-format
@@ -2705,8 +2705,8 @@ msgstr "WAL dosyası farklı veritabanı sisteminden: page header'da yanlış XL
 
 #: access/transam/xlogreader.c:842
 #, c-format
-msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
-msgstr "beklenmeyen pageaddr %X/%X: log segmenti %s, offset %u"
+msgid "unexpected pageaddr %X/%08X in log segment %s, offset %u"
+msgstr "beklenmeyen pageaddr %X/%08X: log segmenti %s, offset %u"
 
 #: access/transam/xlogreader.c:867
 #, c-format
@@ -2715,58 +2715,58 @@ msgstr "sıra dışı timeline ID %u (%u'dan sonra), bulunduğu log segmenti %s,
 
 #: access/transam/xlogreader.c:1112
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "%X/%X deki %u block_id değeri bozuk"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "%X/%08X deki %u block_id değeri bozuk"
 
 #: access/transam/xlogreader.c:1135
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA ayarlandı, fakat %X/%X de veri yok"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA ayarlandı, fakat %X/%08X de veri yok"
 
 #: access/transam/xlogreader.c:1142
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
 msgstr "BKPBLOCK_HAS_DATA ayarlanmadı, fakat veri uzunluğu %u (%X/%x de)"
 
 #: access/transam/xlogreader.c:1178
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE ayarlandı, fakat hole offset %u uzunluk %u  blok image uzunluğu %u (%X/%X de)"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE ayarlandı, fakat hole offset %u uzunluk %u  blok image uzunluğu %u (%X/%08X de)"
 
 #: access/transam/xlogreader.c:1194
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE  ayarlanmadı, fakat hole offset %u uzunluk %u (%X/%X de)"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE  ayarlanmadı, fakat hole offset %u uzunluk %u (%X/%08X de)"
 
 #: access/transam/xlogreader.c:1209
 #, c-format
-msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_IS_COMPRESSED ayarlandı, fakat block image uzunluğu %u (%X/%X de)"
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_IS_COMPRESSED ayarlandı, fakat block image uzunluğu %u (%X/%08X de)"
 
 #: access/transam/xlogreader.c:1224
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE ve BKPIMAGE_IS_COMPRESSED ayarlanmadı, fakat block image uzunluğu %u (%X/%X de)"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE ve BKPIMAGE_IS_COMPRESSED ayarlanmadı, fakat block image uzunluğu %u (%X/%08X de)"
 
 #: access/transam/xlogreader.c:1240
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL ayarlandı fakat %X/%X de önceki rel yok"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL ayarlandı fakat %X/%08X de önceki rel yok"
 
 #: access/transam/xlogreader.c:1252
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "%X/%X adresinde %u  block_id geçersiz"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "%X/%08X adresinde %u  block_id geçersiz"
 
 #: access/transam/xlogreader.c:1341
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "%X/%X adresinde geçersiz uzunlukta kayıt"
+msgid "record with invalid length at %X/%08X"
+msgstr "%X/%08X adresinde geçersiz uzunlukta kayıt"
 
 #: access/transam/xlogreader.c:1430
 #, c-format
-msgid "invalid compressed image at %X/%X, block %d"
-msgstr "%X/%X adresinde (blok %d), geçersiz compressed image"
+msgid "invalid compressed image at %X/%08X, block %d"
+msgstr "%X/%08X adresinde (blok %d), geçersiz compressed image"
 
 #: access/transam/xlogutils.c:727 replication/walreceiver.c:959 replication/walsender.c:2462
 #, c-format
@@ -17569,12 +17569,12 @@ msgstr "\"%s\" slot'u için mantıksal kod çözme başlatılıyor"
 
 #: replication/logical/logical.c:443
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
 msgstr ""
 
 #: replication/logical/logical.c:593
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
 msgstr ""
 
 #: replication/logical/logical.c:600
@@ -17760,8 +17760,8 @@ msgstr[1] ""
 
 #: replication/logical/snapbuild.c:1270 replication/logical/snapbuild.c:1363 replication/logical/snapbuild.c:1917
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "mantıksal kod çözme (logical decoding) %X/%X de tutarlı nokta buldu"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "mantıksal kod çözme (logical decoding) %X/%08X de tutarlı nokta buldu"
 
 #: replication/logical/snapbuild.c:1272
 #, c-format
@@ -17770,8 +17770,8 @@ msgstr "Çalışan işlem (transaction ) yok."
 
 #: replication/logical/snapbuild.c:1314
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "mantıksal kod çözme (logical decoding) %X/%X de ilk başlangıç noktası buldu"
+msgid "logical decoding found initial starting point at %X/%08X"
+msgstr "mantıksal kod çözme (logical decoding) %X/%08X de ilk başlangıç noktası buldu"
 
 #: replication/logical/snapbuild.c:1316 replication/logical/snapbuild.c:1340
 #, c-format
@@ -17780,8 +17780,8 @@ msgstr ""
 
 #: replication/logical/snapbuild.c:1338
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
-msgstr "mantıksal kod çözme (logical decoding) %X/%X de başlangıç için tutarlı nokta buldu"
+msgid "logical decoding found initial consistent point at %X/%08X"
+msgstr "mantıksal kod çözme (logical decoding) %X/%08X de başlangıç için tutarlı nokta buldu"
 
 #: replication/logical/snapbuild.c:1365
 #, c-format
@@ -18087,7 +18087,7 @@ msgstr ""
 
 #: replication/slotfuncs.c:564
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
 msgstr ""
 
 #: replication/slotfuncs.c:670
@@ -18183,12 +18183,12 @@ msgstr "talep edilmiş timeline %u veritabanı sistem timeline %u için geçerli
 
 #: replication/walreceiver.c:369
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
 msgstr ""
 
 #: replication/walreceiver.c:374
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
 msgstr "%3$u zaman çielgesinde %1$X/%2$X konumunda WAL streaming yeniden başlatıldı"
 
 #: replication/walreceiver.c:403
@@ -18203,8 +18203,8 @@ msgstr "replikasyon birincil sunucu tarafından sonlandırıldı"
 
 #: replication/walreceiver.c:441
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "%u zaman çizelgesinde %X/%X konumunda WAL sonuna ulaşıldı."
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "%u zaman çizelgesinde %X/%08X konumunda WAL sonuna ulaşıldı."
 
 #: replication/walreceiver.c:529
 #, c-format
@@ -18248,17 +18248,17 @@ msgstr "mantıksal replikasyon slot'u fiziksel replikasyon için kullanılamaz"
 
 #: replication/walsender.c:628
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
 msgstr ""
 
 #: replication/walsender.c:632
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
+msgid "This server's history forked from timeline %u at %X/%08X."
 msgstr ""
 
 #: replication/walsender.c:677
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
 msgstr ""
 
 #. translator: %s is a CREATE_REPLICATION_SLOT statement
@@ -26658,14 +26658,14 @@ msgstr "farklı bir veritabanından snapshot içeri aktarılamaz (import)"
 #~ msgid "removing transaction log backup history file \"%s\""
 #~ msgstr "\"%s\" transaction kayıt yedek dosyası kaldırılıyor"
 
-#~ msgid "incorrect hole size in record at %X/%X"
-#~ msgstr "%X/%X adresinde geçersiz boşluk boyutu"
+#~ msgid "incorrect hole size in record at %X/%08X"
+#~ msgstr "%X/%08X adresinde geçersiz boşluk boyutu"
 
-#~ msgid "incorrect total length in record at %X/%X"
-#~ msgstr "%X/%X adresinde geçersiz toplam uzunluk"
+#~ msgid "incorrect total length in record at %X/%08X"
+#~ msgstr "%X/%08X adresinde geçersiz toplam uzunluk"
 
-#~ msgid "invalid xlog switch record at %X/%X"
-#~ msgstr "%X/%X adresinde geçersiz xlog switch kaydı"
+#~ msgid "invalid xlog switch record at %X/%08X"
+#~ msgstr "%X/%08X adresinde geçersiz xlog switch kaydı"
 
 #~ msgid "there is no contrecord flag in log file %u, segment %u, offset %u"
 #~ msgstr "kayıt dosyası %u, segment %u, offset %u adresinde contrecord bulunamadı"
@@ -26720,8 +26720,8 @@ msgstr "farklı bir veritabanından snapshot içeri aktarılamaz (import)"
 #~ msgid "Lines should have the format parameter = 'value'."
 #~ msgstr "Satırların biçimi şöyle olmalıdır: parametre = 'değer'."
 
-#~ msgid "redo record is at %X/%X; shutdown %s"
-#~ msgstr "redo kaydı %X/%X; kapatma %s"
+#~ msgid "redo record is at %X/%08X; shutdown %s"
+#~ msgstr "redo kaydı %X/%08X; kapatma %s"
 
 #~ msgid "next transaction ID: %u/%u; next OID: %u"
 #~ msgstr "sıradaki transaction ID: %u/%u; sıradaki OID: %u"
@@ -28162,8 +28162,8 @@ msgstr "farklı bir veritabanından snapshot içeri aktarılamaz (import)"
 #~ msgid "invalid secondary checkpoint link in control file"
 #~ msgstr "kontrol dosyasındaki ikincil checkpoint bağlantısı geçersiz"
 
-#~ msgid "using previous checkpoint record at %X/%X"
-#~ msgstr "%X/%X adresindeki eski checkpoint kaydı kullanılıyor"
+#~ msgid "using previous checkpoint record at %X/%08X"
+#~ msgstr "%X/%08X adresindeki eski checkpoint kaydı kullanılıyor"
 
 #~ msgid "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server was compiled with XLOG_SEG_SIZE %d."
 #~ msgstr "Veritabanı clusteri XLOG_SEG_SIZE %d ile ilklendirilmiştir, ancak sunucu  XLOG_SEG_SIZE %d ile derlenmiştir."
diff --git a/src/backend/po/uk.po b/src/backend/po/uk.po
index 6c4c0add9ee..634e833718c 100644
--- a/src/backend/po/uk.po
+++ b/src/backend/po/uk.po
@@ -2199,18 +2199,18 @@ msgstr "Не вдалося розмістити обробник журналу
 
 #: access/transam/twophase.c:1445
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X: %s"
-msgstr "не вдалося прочитати 2-фазовий стан з WAL при %X/%X: %s"
+msgid "could not read two-phase state from WAL at %X/%08X: %s"
+msgstr "не вдалося прочитати 2-фазовий стан з WAL при %X/%08X: %s"
 
 #: access/transam/twophase.c:1450
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "не вдалося прочитати 2-фазовий стан з WAL при %X/%X"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "не вдалося прочитати 2-фазовий стан з WAL при %X/%08X"
 
 #: access/transam/twophase.c:1458
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
-msgstr "очікувані дані 2-фазного стану відсутні в WAL при %X/%X"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
+msgstr "очікувані дані 2-фазного стану відсутні в WAL при %X/%08X"
 
 #: access/transam/twophase.c:1754
 #, c-format
@@ -2268,8 +2268,8 @@ msgstr "не вдалося відновити файл 2-фазового ст
 
 #: access/transam/twophase.c:2525
 #, c-format
-msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk."
-msgstr "Файл 2-фазового стану був знайдений в запису WAL %X/%X, але ця транзакція вже відновлена з диску."
+msgid "Two-phase state file has been found in WAL record %X/%08X, but this transaction has already been restored from disk."
+msgstr "Файл 2-фазового стану був знайдений в запису WAL %X/%08X, але ця транзакція вже відновлена з диску."
 
 #: access/transam/twophase.c:2533 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209
 #, c-format
@@ -2433,13 +2433,13 @@ msgstr "в одній транзакції не може бути більше 2
 
 #: access/transam/xlog.c:1541
 #, c-format
-msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X"
-msgstr "запит на очищення минулого кінця згенерованого WAL; запит %X/%X, поточна позиція %X/%X"
+msgid "request to flush past end of generated WAL; request %X/%08X, current position %X/%08X"
+msgstr "запит на очищення минулого кінця згенерованого WAL; запит %X/%08X, поточна позиція %X/%08X"
 
 #: access/transam/xlog.c:1768
 #, c-format
-msgid "cannot read past end of generated WAL: requested %X/%X, current position %X/%X"
-msgstr "не вдалося прочитати останній кінець згенерованого WAL: запит %X/%X, поточна позиція %X/%X"
+msgid "cannot read past end of generated WAL: requested %X/%08X, current position %X/%08X"
+msgstr "не вдалося прочитати останній кінець згенерованого WAL: запит %X/%08X, поточна позиція %X/%08X"
 
 #: access/transam/xlog.c:2209 access/transam/xlog.c:4500
 #, c-format
@@ -2752,13 +2752,13 @@ msgstr "початок контрольної точки: %s%s%s%s%s%s%s%s"
 
 #: access/transam/xlog.c:6703
 #, c-format
-msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr "точка перезапуску завершена: записано %d буферів (%.1f%%); %d WAL файлів додано, %d видалено, %d перероблених; запис=%ld.%03d сек, синхронізація=%ld.%03d сек, усього=%ld.%03d сек; файли синхронізації=%d, найдовший=%ld.%03d сек, середній=%ld.%03d сек; дистанція=%d кб, приблизно=%d кб; lsn=%X/%X, lsn повтору=%X/%X"
+msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
+msgstr "точка перезапуску завершена: записано %d буферів (%.1f%%); %d WAL файлів додано, %d видалено, %d перероблених; запис=%ld.%03d сек, синхронізація=%ld.%03d сек, усього=%ld.%03d сек; файли синхронізації=%d, найдовший=%ld.%03d сек, середній=%ld.%03d сек; дистанція=%d кб, приблизно=%d кб; lsn=%X/%08X, lsn повтору=%X/%08X"
 
 #: access/transam/xlog.c:6726
 #, c-format
-msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X"
-msgstr "контрольна точка завершена: записано %d буферів (%.1f%%); %d WAL файлів додано, %d видалено, %d перероблених; запис=%ld.%03d сек, синхронізація=%ld.%03d сек, усього=%ld.%03d сек; файли синхронізації=%d, найдовший=%ld.%03d сек, середній=%ld.%03d сек; дистанція=%d кб, приблизно=%d кб; lsn=%X/%X, lsn повтору=%X/%X"
+msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB; lsn=%X/%08X, redo lsn=%X/%08X"
+msgstr "контрольна точка завершена: записано %d буферів (%.1f%%); %d WAL файлів додано, %d видалено, %d перероблених; запис=%ld.%03d сек, синхронізація=%ld.%03d сек, усього=%ld.%03d сек; файли синхронізації=%d, найдовший=%ld.%03d сек, середній=%ld.%03d сек; дистанція=%d кб, приблизно=%d кб; lsn=%X/%08X, lsn повтору=%X/%08X"
 
 #: access/transam/xlog.c:7208
 #, c-format
@@ -2767,8 +2767,8 @@ msgstr "під час того вимкнення БД помічено конк
 
 #: access/transam/xlog.c:7793
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "відновлення збереженої точки %X/%X"
+msgid "recovery restart point at %X/%08X"
+msgstr "відновлення збереженої точки %X/%08X"
 
 #: access/transam/xlog.c:7795
 #, c-format
@@ -2777,8 +2777,8 @@ msgstr "Остання завершена транзакція була в %s."
 
 #: access/transam/xlog.c:8057
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "точка відновлення \"%s\" створена в %X/%X"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "точка відновлення \"%s\" створена в %X/%08X"
 
 #: access/transam/xlog.c:8264
 #, c-format
@@ -3041,53 +3041,53 @@ msgstr "\"recovery_prefetch\" не підтримується на платфо
 
 #: access/transam/xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "неприпустиме зміщення запису в %X/%X: очікувалось хоча б %u, отримано %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "неприпустиме зміщення запису в %X/%08X: очікувалось хоча б %u, отримано %u"
 
 #: access/transam/xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "по зсуву %X/%X запитано продовження запису"
+msgid "contrecord is requested by %X/%08X"
+msgstr "по зсуву %X/%08X запитано продовження запису"
 
 #: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "неприпустима довжина запису %X/%X: очікувалась мінімум %u, отримано %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "неприпустима довжина запису %X/%08X: очікувалась мінімум %u, отримано %u"
 
 #: access/transam/xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "немає прапорця contrecord в позиції %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "немає прапорця contrecord в позиції %X/%08X"
 
 #: access/transam/xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "неприпустима довжина contrecord %u (очікувалось %lld) на %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "неприпустима довжина contrecord %u (очікувалось %lld) на %X/%08X"
 
 #: access/transam/xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "невірний ID менеджера ресурсів %u в %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "невірний ID менеджера ресурсів %u в %X/%08X"
 
 #: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "запис з неправильним попереднім посиланням %X/%X на %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "запис з неправильним попереднім посиланням %X/%08X на %X/%08X"
 
 #: access/transam/xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%08X"
 
 #: access/transam/xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "невірне магічне число %04X в сегменті WAL %s, LSN %X/%X, зсув %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "невірне магічне число %04X в сегменті WAL %s, LSN %X/%08X, зсув %u"
 
 #: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "невірні інформаційні біти %04X в сегменті WAL %s, LSN %X/%X, зсув %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "невірні інформаційні біти %04X в сегменті WAL %s, LSN %X/%08X, зсув %u"
 
 #: access/transam/xlogreader.c:1274
 #, c-format
@@ -3106,63 +3106,63 @@ msgstr "Файл WAL належить іншій системі баз дани
 
 #: access/transam/xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "неочікуваний pageaddr %X/%X у сегменті WAL %s, LSN %X/%X, зміщення %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "неочікуваний pageaddr %X/%08X у сегменті WAL %s, LSN %X/%08X, зміщення %u"
 
 #: access/transam/xlogreader.c:1346
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "порушення послідовності ID лінії часу %u (після %u) у сегменті WAL %s, LSN %X/%X, зсув %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "порушення послідовності ID лінії часу %u (після %u) у сегменті WAL %s, LSN %X/%08X, зсув %u"
 
 #: access/transam/xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "ідентифікатор блока %u out-of-order в позиції %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "ідентифікатор блока %u out-of-order в позиції %X/%08X"
 
 #: access/transam/xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%08X"
 
 #: access/transam/xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA встановлений, але довжина даних дорівнює %u в позиції %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA встановлений, але довжина даних дорівнює %u в позиції %X/%08X"
 
 #: access/transam/xlogreader.c:1816
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE встановлений, але для пропуску задані: зсув %u, довжина %u, при довжині образу блока %u в позиції %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE встановлений, але для пропуску задані: зсув %u, довжина %u, при довжині образу блока %u в позиції %X/%08X"
 
 #: access/transam/xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE не встановлений, але для пропуску задані: зсув %u, довжина %u в позиції %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE не встановлений, але для пропуску задані: зсув %u, довжина %u в позиції %X/%08X"
 
 #: access/transam/xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%08X"
 
 #: access/transam/xlogreader.c:1861
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "ні BKPIMAGE_HAS_HOLE, ні BKPIMAGE_COMPRESSED не встановлені, але довжина образу блока дорівнює %u в позиції %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "ні BKPIMAGE_HAS_HOLE, ні BKPIMAGE_COMPRESSED не встановлені, але довжина образу блока дорівнює %u в позиції %X/%08X"
 
 #: access/transam/xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%08X"
 
 #: access/transam/xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "невірний ідентифікатор блоку %u в позиції %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "невірний ідентифікатор блоку %u в позиції %X/%08X"
 
 #: access/transam/xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "запис з невірною довжиною на %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "запис з невірною довжиною на %X/%08X"
 
 #: access/transam/xlogreader.c:1982
 #, c-format
@@ -3171,38 +3171,38 @@ msgstr "не вдалося знайти блок резервної копії
 
 #: access/transam/xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "не вдалося відновити зображення %X/%X з недійсним вказаним блоком %d"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "не вдалося відновити зображення %X/%08X з недійсним вказаним блоком %d"
 
 #: access/transam/xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "не вдалося відновити зображення %X/%X з недійсним станом, блок %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "не вдалося відновити зображення %X/%08X з недійсним станом, блок %d"
 
 #: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "не вдалося відновити зображення в %X/%X, стиснуте %s, не підтримується збіркою, блок %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "не вдалося відновити зображення в %X/%08X, стиснуте %s, не підтримується збіркою, блок %d"
 
 #: access/transam/xlogreader.c:2126
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "не вдалося відновити зображення %X/%X стиснуте з невідомим методом, блок %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "не вдалося відновити зображення %X/%08X стиснуте з невідомим методом, блок %d"
 
 #: access/transam/xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "не вдалося розпакувати зображення на %X/%X, блок %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "не вдалося розпакувати зображення на %X/%08X, блок %d"
 
 #: access/transam/xlogrecovery.c:617
 #, c-format
-msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u"
-msgstr "стартуємо відновлення резервної копії з LSN повторення %X/%X, LSN контрольної точки %X/%X, на часовій шкалі з ID %u"
+msgid "starting backup recovery with redo LSN %X/%08X, checkpoint LSN %X/%08X, on timeline ID %u"
+msgstr "стартуємо відновлення резервної копії з LSN повторення %X/%08X, LSN контрольної точки %X/%08X, на часовій шкалі з ID %u"
 
 #: access/transam/xlogrecovery.c:649
 #, c-format
-msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X"
-msgstr "не вдалося знайти положення REDO %X/%X, вказане записом контрольної точки в %X/%X"
+msgid "could not find redo location %X/%08X referenced by checkpoint record at %X/%08X"
+msgstr "не вдалося знайти положення REDO %X/%08X, вказане записом контрольної точки в %X/%08X"
 
 #: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662
 #, c-format
@@ -3215,8 +3215,8 @@ msgstr "Якщо ви відновлюєтеся з резервної копі
 
 #: access/transam/xlogrecovery.c:660
 #, c-format
-msgid "could not locate required checkpoint record at %X/%X"
-msgstr "не вдалося знайти запис необхідної контрольної точки в %X/%X"
+msgid "could not locate required checkpoint record at %X/%08X"
+msgstr "не вдалося знайти запис необхідної контрольної точки в %X/%08X"
 
 #: access/transam/xlogrecovery.c:690 commands/tablespace.c:664
 #, c-format
@@ -3240,13 +3240,13 @@ msgstr "Неможливо перейменувати файл \"%s\" на \"%s\
 
 #: access/transam/xlogrecovery.c:770
 #, c-format
-msgid "restarting backup recovery with redo LSN %X/%X"
-msgstr "перезапуск відновлення резервної копії на LSN %X/%X"
+msgid "restarting backup recovery with redo LSN %X/%08X"
+msgstr "перезапуск відновлення резервної копії на LSN %X/%08X"
 
 #: access/transam/xlogrecovery.c:795
 #, c-format
-msgid "could not locate a valid checkpoint record at %X/%X"
-msgstr "не вдалося знайти запис допустимої контрольної точки в %X/%X"
+msgid "could not locate a valid checkpoint record at %X/%08X"
+msgstr "не вдалося знайти запис допустимої контрольної точки в %X/%08X"
 
 #: access/transam/xlogrecovery.c:806
 #, c-format
@@ -3270,8 +3270,8 @@ msgstr "починається відновлення точки в часі д
 
 #: access/transam/xlogrecovery.c:821
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "починається відновлення точки в часі до локації WAL (LSN) \"%X/%X\""
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
+msgstr "починається відновлення точки в часі до локації WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:825
 #, c-format
@@ -3290,13 +3290,13 @@ msgstr "запитувана лінія часу %u не є відгалужен
 
 #: access/transam/xlogrecovery.c:851
 #, c-format
-msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
-msgstr "Остання контрольна точка %X/%X на лінії часу %u, але в історії запитуваної лінії часу сервер відгалузився з цієї лінії в %X/%X."
+msgid "Latest checkpoint is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
+msgstr "Остання контрольна точка %X/%08X на лінії часу %u, але в історії запитуваної лінії часу сервер відгалузився з цієї лінії в %X/%08X."
 
 #: access/transam/xlogrecovery.c:865
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
-msgstr "запитувана лінія часу %u не містить мінімальну точку відновлення %X/%X на лінії часу %u"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
+msgstr "запитувана лінія часу %u не містить мінімальну точку відновлення %X/%08X на лінії часу %u"
 
 #: access/transam/xlogrecovery.c:893
 #, c-format
@@ -3387,18 +3387,18 @@ msgstr "Використовуйте pg_combinebackup для відновлен
 
 #: access/transam/xlogrecovery.c:1717
 #, c-format
-msgid "unexpected record type found at redo point %X/%X"
-msgstr "знайдено неочікуваний тип запису в точці повторення %X/%X"
+msgid "unexpected record type found at redo point %X/%08X"
+msgstr "знайдено неочікуваний тип запису в точці повторення %X/%08X"
 
 #: access/transam/xlogrecovery.c:1740
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "запис REDO починається з %X/%X"
+msgid "redo starts at %X/%08X"
+msgstr "запис REDO починається з %X/%08X"
 
 #: access/transam/xlogrecovery.c:1753
 #, c-format
-msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X"
-msgstr "запис REDO триває, минуло часу: %ld.%02d s, поточний LSN: %X/%X"
+msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%08X"
+msgstr "запис REDO триває, минуло часу: %ld.%02d s, поточний LSN: %X/%08X"
 
 #: access/transam/xlogrecovery.c:1843
 #, c-format
@@ -3407,8 +3407,8 @@ msgstr "запитувана точка відновлення передує у
 
 #: access/transam/xlogrecovery.c:1875
 #, c-format
-msgid "redo done at %X/%X system usage: %s"
-msgstr "повторно виконано через %X/%X системне використання: %s"
+msgid "redo done at %X/%08X system usage: %s"
+msgstr "повторно виконано через %X/%08X системне використання: %s"
 
 #: access/transam/xlogrecovery.c:1881
 #, c-format
@@ -3427,8 +3427,8 @@ msgstr "відновлення завершилось до досягення н
 
 #: access/transam/xlogrecovery.c:2095
 #, c-format
-msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s"
-msgstr "успішно пропущений відсутній contrecord при %X/%X, перезаписано на %s"
+msgid "successfully skipped missing contrecord at %X/%08X, overwritten at %s"
+msgstr "успішно пропущений відсутній contrecord при %X/%08X, перезаписано на %s"
 
 #: access/transam/xlogrecovery.c:2162
 #, c-format
@@ -3447,19 +3447,19 @@ msgstr "Видаліть ті каталоги, або тимчасово вст
 
 #: access/transam/xlogrecovery.c:2217
 #, c-format
-msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X"
-msgstr "завершено відновлення резервної копії з LSN повторення %X/%X і LSN закінчення %X/%X"
+msgid "completed backup recovery with redo LSN %X/%08X and end LSN %X/%08X"
+msgstr "завершено відновлення резервної копії з LSN повторення %X/%08X і LSN закінчення %X/%08X"
 
 #: access/transam/xlogrecovery.c:2247
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "узгоджений стан відновлення досягнутий %X/%X"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "узгоджений стан відновлення досягнутий %X/%08X"
 
 #. translator: %s is a WAL record description
 #: access/transam/xlogrecovery.c:2285
 #, c-format
-msgid "WAL redo at %X/%X for %s"
-msgstr "запис REDO в WAL в позиції %X/%X для %s"
+msgid "WAL redo at %X/%08X for %s"
+msgstr "запис REDO в WAL в позиції %X/%08X для %s"
 
 #: access/transam/xlogrecovery.c:2383
 #, c-format
@@ -3473,8 +3473,8 @@ msgstr "неочікуваний ID лінії часу %u (після %u) в з
 
 #: access/transam/xlogrecovery.c:2408
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
-msgstr "неочікуваний ID лінії часу %u в записі контрольної точки, до досягнення мінімальної точки відновлення %X/%X на лінії часу %u"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
+msgstr "неочікуваний ID лінії часу %u в записі контрольної точки, до досягнення мінімальної точки відновлення %X/%08X на лінії часу %u"
 
 #: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868
 #, c-format
@@ -3483,8 +3483,8 @@ msgstr "відновлення зупиняється після досягне
 
 #: access/transam/xlogrecovery.c:2613
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "відновлення зупиняється перед позицією WAL (LSN) \"%X/%X\""
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "відновлення зупиняється перед позицією WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:2703
 #, c-format
@@ -3503,8 +3503,8 @@ msgstr "відновлення припиняється в точці відно
 
 #: access/transam/xlogrecovery.c:2781
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "відновлення припиняється пісня локації WAL (LSN) \"%X/%X\""
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "відновлення припиняється пісня локації WAL (LSN) \"%X/%08X\""
 
 #: access/transam/xlogrecovery.c:2848
 #, c-format
@@ -3538,18 +3538,18 @@ msgstr "Виконайте pg_wal_replay_resume(), щоб продовжити."
 
 #: access/transam/xlogrecovery.c:3205
 #, c-format
-msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "неочікуваний ID лінії часу %u в сегменті WAL %s, LSN %X/%X, offset %u"
+msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "неочікуваний ID лінії часу %u в сегменті WAL %s, LSN %X/%08X, offset %u"
 
 #: access/transam/xlogrecovery.c:3413
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m"
-msgstr "не вдалося прочитати сегмент журналу %s, LSN %X/%X, зсув %u: %m"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: %m"
+msgstr "не вдалося прочитати сегмент журналу %s, LSN %X/%08X, зсув %u: %m"
 
 #: access/transam/xlogrecovery.c:3420
 #, c-format
-msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu"
-msgstr "не вдалося прочитати сегмент WAL %s, LSN %X/%X, зсув %u: прочитано %d з %zu"
+msgid "could not read from WAL segment %s, LSN %X/%08X, offset %u: read %d of %zu"
+msgstr "не вдалося прочитати сегмент WAL %s, LSN %X/%08X, зсув %u: прочитано %d з %zu"
 
 #: access/transam/xlogrecovery.c:4060
 #, c-format
@@ -3583,8 +3583,8 @@ msgstr "нова лінія часу %u не є дочірньою для лін
 
 #: access/transam/xlogrecovery.c:4158
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
-msgstr "нова лінія часу %u відгалузилась від поточної лінії часу бази даних %u до поточної точки відновлення %X/%X"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
+msgstr "нова лінія часу %u відгалузилась від поточної лінії часу бази даних %u до поточної точки відновлення %X/%08X"
 
 #: access/transam/xlogrecovery.c:4177
 #, c-format
@@ -3898,18 +3898,18 @@ msgstr "часову шкалу %u знайдено в маніфесті, ал
 
 #: backup/basebackup_incremental.c:414
 #, c-format
-msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X"
-msgstr "маніфест вимагає WAL з початкової шкали %u, починаючи з %X/%X, але ця шкала починається з %X/%X"
+msgid "manifest requires WAL from initial timeline %u starting at %X/%08X, but that timeline begins at %X/%08X"
+msgstr "маніфест вимагає WAL з початкової шкали %u, починаючи з %X/%08X, але ця шкала починається з %X/%08X"
 
 #: backup/basebackup_incremental.c:424
 #, c-format
-msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X"
-msgstr "маніфест вимагає WAL зі шкали продовження %u, починаючи з %X/%X, але ця шкала починається з %X/%X"
+msgid "manifest requires WAL from continuation timeline %u starting at %X/%08X, but that timeline begins at %X/%08X"
+msgstr "маніфест вимагає WAL зі шкали продовження %u, починаючи з %X/%08X, але ця шкала починається з %X/%08X"
 
 #: backup/basebackup_incremental.c:435
 #, c-format
-msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X"
-msgstr "маніфест вимагає WAL з кінцевої шкали часу %u, що закінчується на %X/%X, але ця резервна копія починається з %X/%X"
+msgid "manifest requires WAL from final timeline %u ending at %X/%08X, but this backup starts at %X/%08X"
+msgstr "маніфест вимагає WAL з кінцевої шкали часу %u, що закінчується на %X/%08X, але ця резервна копія починається з %X/%08X"
 
 #: backup/basebackup_incremental.c:439
 #, c-format
@@ -3918,23 +3918,23 @@ msgstr "Це може статися з інкрементними резерв
 
 #: backup/basebackup_incremental.c:446
 #, c-format
-msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X"
-msgstr "маніфест вимагає WAL з не фінальної лінійки %u, що закінчується на %X/%X, але цей сервер перемкнув лінійки на %X/%X"
+msgid "manifest requires WAL from non-final timeline %u ending at %X/%08X, but this server switched timelines at %X/%08X"
+msgstr "маніфест вимагає WAL з не фінальної лінійки %u, що закінчується на %X/%08X, але цей сервер перемкнув лінійки на %X/%08X"
 
 #: backup/basebackup_incremental.c:527
 #, c-format
-msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist"
-msgstr "Зведення WAL потрібні на часовій шкалі %u від %X/%X до %X/%X, але зведень для цієї шкали та діапазону LSN не існує"
+msgid "WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but no summaries for that timeline and LSN range exist"
+msgstr "Зведення WAL потрібні на часовій шкалі %u від %X/%08X до %X/%08X, але зведень для цієї шкали та діапазону LSN не існує"
 
 #: backup/basebackup_incremental.c:534
 #, c-format
-msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete"
-msgstr "Зведення WAL потрібні на часовій шкалі %u від %X/%X до %X/%X, але зведення для цієї часової шкали та діапазону LSN є неповними"
+msgid "WAL summaries are required on timeline %u from %X/%08X to %X/%08X, but the summaries for that timeline and LSN range are incomplete"
+msgstr "Зведення WAL потрібні на часовій шкалі %u від %X/%08X до %X/%08X, але зведення для цієї часової шкали та діапазону LSN є неповними"
 
 #: backup/basebackup_incremental.c:538
 #, c-format
-msgid "The first unsummarized LSN in this range is %X/%X."
-msgstr "Перший не підсумований LSN у цьому діапазоні - %X/%X."
+msgid "The first unsummarized LSN in this range is %X/%08X."
+msgstr "Перший не підсумований LSN у цьому діапазоні - %X/%08X."
 
 #: backup/basebackup_incremental.c:938
 #, c-format
@@ -10322,8 +10322,8 @@ msgstr "Використайте ALTER SUBSCRIPTION ... REFRESH з параме
 
 #: commands/subscriptioncmds.c:1473
 #, c-format
-msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X"
-msgstr "пропустити розташування WAL (LSN %X/%X) повинно бути більше, ніж origin LSN %X/%X"
+msgid "skip WAL location (LSN %X/%08X) must be greater than origin LSN %X/%08X"
+msgstr "пропустити розташування WAL (LSN %X/%08X) повинно бути більше, ніж origin LSN %X/%08X"
 
 #: commands/subscriptioncmds.c:1594
 #, c-format
@@ -19950,37 +19950,37 @@ msgstr "Підбиття підсумків WAL не просувається"
 
 #: postmaster/walsummarizer.c:741
 #, c-format
-msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory."
-msgstr "Підсумовування потрібне через %X/%X, але воно застрягло на %X/%X на диску та %X/%X у пам'яті."
+msgid "Summarization is needed through %X/%08X, but is stuck at %X/%08X on disk and %X/%08X in memory."
+msgstr "Підсумовування потрібне через %X/%08X, але воно застрягло на %X/%08X на диску та %X/%08X у пам'яті."
 
 #: postmaster/walsummarizer.c:755
 #, c-format
-msgid "still waiting for WAL summarization through %X/%X after %ld second"
-msgid_plural "still waiting for WAL summarization through %X/%X after %ld seconds"
-msgstr[0] "все ще чекає на підбиття підсумків WAL через %X/%X через %ld секунду"
-msgstr[1] "все ще чекає на підбиття підсумків WAL через %X/%X через %ld секунди"
-msgstr[2] "все ще чекає на підбиття підсумків WAL через %X/%X через %ld секунд"
-msgstr[3] "все ще чекає на підбиття підсумків WAL через %X/%X через %ld секунд"
+msgid "still waiting for WAL summarization through %X/%08X after %ld second"
+msgid_plural "still waiting for WAL summarization through %X/%08X after %ld seconds"
+msgstr[0] "все ще чекає на підбиття підсумків WAL через %X/%08X через %ld секунду"
+msgstr[1] "все ще чекає на підбиття підсумків WAL через %X/%08X через %ld секунди"
+msgstr[2] "все ще чекає на підбиття підсумків WAL через %X/%08X через %ld секунд"
+msgstr[3] "все ще чекає на підбиття підсумків WAL через %X/%08X через %ld секунд"
 
 #: postmaster/walsummarizer.c:760
 #, c-format
-msgid "Summarization has reached %X/%X on disk and %X/%X in memory."
-msgstr "Підсумок досягнув %X/%X на диску та %X/%X у пам'яті."
+msgid "Summarization has reached %X/%08X on disk and %X/%08X in memory."
+msgstr "Підсумок досягнув %X/%08X на диску та %X/%08X у пам'яті."
 
 #: postmaster/walsummarizer.c:1000
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "не вдалося знайти припустимий запис після %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "не вдалося знайти припустимий запис після %X/%08X"
 
 #: postmaster/walsummarizer.c:1045
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X: %s"
-msgstr "не вдалося прочитати WAL з часової шкали %u за адресою %X/%X: %s"
+msgid "could not read WAL from timeline %u at %X/%08X: %s"
+msgstr "не вдалося прочитати WAL з часової шкали %u за адресою %X/%08X: %s"
 
 #: postmaster/walsummarizer.c:1051
 #, c-format
-msgid "could not read WAL from timeline %u at %X/%X"
-msgstr "не вдалося прочитати WAL з часової шкали %u на %X/%X"
+msgid "could not read WAL from timeline %u at %X/%08X"
+msgstr "не вдалося прочитати WAL з часової шкали %u на %X/%08X"
 
 #: regex/regc_pg_locale.c:244
 #, c-format
@@ -20271,13 +20271,13 @@ msgstr "початок логічного декодування для слот
 
 #: replication/logical/logical.c:630
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
-msgstr "Потокове передавання транзакцій, що затверджені, після %X/%X, читання WAL з %X/%X."
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
+msgstr "Потокове передавання транзакцій, що затверджені, після %X/%08X, читання WAL з %X/%08X."
 
 #: replication/logical/logical.c:778
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
-msgstr "слот \"%s\", плагін виходу \"%s\", у зворотньому виклику %s, пов'язаний номер LSN %X/%X"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
+msgstr "слот \"%s\", плагін виходу \"%s\", у зворотньому виклику %s, пов'язаний номер LSN %X/%08X"
 
 #: replication/logical/logical.c:784
 #, c-format
@@ -20375,8 +20375,8 @@ msgstr "не вдалося знайти вільний слот для стан
 
 #: replication/logical/origin.c:806
 #, c-format
-msgid "recovered replication state of node %d to %X/%X"
-msgstr "відновлений стан реплікації вузла %d в %X/%X"
+msgid "recovered replication state of node %d to %X/%08X"
+msgstr "відновлений стан реплікації вузла %d в %X/%08X"
 
 #: replication/logical/origin.c:816
 #, c-format
@@ -20483,8 +20483,8 @@ msgstr "не вдалося синхронізувати слот репліка
 
 #: replication/logical/slotsync.c:217
 #, c-format
-msgid "The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has LSN %X/%X and catalog xmin %u."
-msgstr "Віддалений слот має LSN %X/%X і каталог xmin %u, а локальний слот має LSN %X/%X і каталог xmin %u."
+msgid "The remote slot has LSN %X/%08X and catalog xmin %u, but the local slot has LSN %X/%08X and catalog xmin %u."
+msgstr "Віддалений слот має LSN %X/%08X і каталог xmin %u, а локальний слот має LSN %X/%08X і каталог xmin %u."
 
 #: replication/logical/slotsync.c:459
 #, c-format
@@ -20498,8 +20498,8 @@ msgstr "не вдалося синхронізувати слот репліка
 
 #: replication/logical/slotsync.c:580
 #, c-format
-msgid "Logical decoding could not find consistent point from local slot's LSN %X/%X."
-msgstr "Логічне декодування не може знайти стійку точку з локальних LSN %X/%X."
+msgid "Logical decoding could not find consistent point from local slot's LSN %X/%08X."
+msgstr "Логічне декодування не може знайти стійку точку з локальних LSN %X/%08X."
 
 #: replication/logical/slotsync.c:589
 #, c-format
@@ -20508,8 +20508,8 @@ msgstr "новостворений слот реплікації \"%s\" гото
 
 #: replication/logical/slotsync.c:628
 #, c-format
-msgid "skipping slot synchronization because the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X"
-msgstr "пропуск синхронізації слотів, оскільки отримана синхронізація слотів LSN %X/%X для слота \"%s\" випереджає позицію очікування %X/%X"
+msgid "skipping slot synchronization because the received slot sync LSN %X/%08X for slot \"%s\" is ahead of the standby position %X/%08X"
+msgstr "пропуск синхронізації слотів, оскільки отримана синхронізація слотів LSN %X/%08X для слота \"%s\" випереджає позицію очікування %X/%08X"
 
 #: replication/logical/slotsync.c:650
 #, c-format
@@ -20621,8 +20621,8 @@ msgstr[3] "експортовано знімок логічного декоду
 #: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501
 #: replication/logical/snapbuild.c:2017
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "узгодження процесу логічного кодування знайдено в точці %X/%X"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "узгодження процесу логічного кодування знайдено в точці %X/%08X"
 
 #: replication/logical/snapbuild.c:1406
 #, c-format
@@ -20631,8 +20631,8 @@ msgstr "Більше активних транзакцій немає."
 
 #: replication/logical/snapbuild.c:1453
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "початкова стартова точка процесу логічного декодування знайдена в точці %X/%X"
+msgid "logical decoding found initial starting point at %X/%08X"
+msgstr "початкова стартова точка процесу логічного декодування знайдена в точці %X/%08X"
 
 #: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479
 #, c-format
@@ -20641,8 +20641,8 @@ msgstr "Очікування транзакцій (приблизно %d) ста
 
 #: replication/logical/snapbuild.c:1477
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
-msgstr "початкова точка узгодження процесу логічного кодування знайдена в точці %X/%X"
+msgid "logical decoding found initial consistent point at %X/%08X"
+msgstr "початкова точка узгодження процесу логічного кодування знайдена в точці %X/%08X"
 
 #: replication/logical/snapbuild.c:1503
 #, c-format
@@ -20831,13 +20831,13 @@ msgstr "підписка \"%s\" була відключена через пом
 
 #: replication/logical/worker.c:4806
 #, c-format
-msgid "logical replication starts skipping transaction at LSN %X/%X"
-msgstr "логічна реплікація починає пропускати транзакцію в LSN %X/%X"
+msgid "logical replication starts skipping transaction at LSN %X/%08X"
+msgstr "логічна реплікація починає пропускати транзакцію в LSN %X/%08X"
 
 #: replication/logical/worker.c:4820
 #, c-format
-msgid "logical replication completed skipping transaction at LSN %X/%X"
-msgstr "логічна реплікація завершила пропускати транзакцію в LSN %X/%X"
+msgid "logical replication completed skipping transaction at LSN %X/%08X"
+msgstr "логічна реплікація завершила пропускати транзакцію в LSN %X/%08X"
 
 #: replication/logical/worker.c:4902
 #, c-format
@@ -20846,8 +20846,8 @@ msgstr "очищено LSN пропуску підписки \"%s\""
 
 #: replication/logical/worker.c:4903
 #, c-format
-msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X."
-msgstr "Кінцеве розташування WAL віддаленої транзакції (LSN) %X/%X не відповідає skip-LSN %X/%X."
+msgid "Remote transaction's finish WAL location (LSN) %X/%08X did not match skip-LSN %X/%08X."
+msgstr "Кінцеве розташування WAL віддаленої транзакції (LSN) %X/%08X не відповідає skip-LSN %X/%08X."
 
 #: replication/logical/worker.c:4940
 #, c-format
@@ -20861,8 +20861,8 @@ msgstr "обробка віддалених даних для джерела р
 
 #: replication/logical/worker.c:4949
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X"
-msgstr "обробку віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\" у транзакції %u завершено о %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%08X"
+msgstr "обробку віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\" у транзакції %u завершено о %X/%08X"
 
 #: replication/logical/worker.c:4960
 #, c-format
@@ -20871,8 +20871,8 @@ msgstr "обробка віддалених даних для джерела р
 
 #: replication/logical/worker.c:4967
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X"
-msgstr "обробку віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\" для цільового відношення реплікації \"%s.%s\" в транзакції %u завершено о %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%08X"
+msgstr "обробку віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\" для цільового відношення реплікації \"%s.%s\" в транзакції %u завершено о %X/%08X"
 
 #: replication/logical/worker.c:4978
 #, c-format
@@ -20881,8 +20881,8 @@ msgstr "обробка віддалених даних для джерела р
 
 #: replication/logical/worker.c:4986
 #, c-format
-msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X"
-msgstr "обробку віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\" для цільового відношення реплікації \"%s.%s\" стовпчик \"%s\" у транзакції %u завершено о %X/%X"
+msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%08X"
+msgstr "обробку віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\" для цільового відношення реплікації \"%s.%s\" стовпчик \"%s\" у транзакції %u завершено о %X/%08X"
 
 #: replication/pgoutput/pgoutput.c:315
 #, c-format
@@ -21062,12 +21062,12 @@ msgstr "Тільки ролі з атрибутом %s можуть викори
 
 #: replication/slot.c:1498
 #, c-format
-msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte."
-msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes."
-msgstr[0] "Значення restart_lsn слота %X/%X перевищує ліміт на %llu байт."
-msgstr[1] "Значення restart_lsn слота %X/%X перевищує ліміт на %llu байта."
-msgstr[2] "Значення restart_lsn слота %X/%X перевищує ліміт на %llu байтів."
-msgstr[3] "Значення restart_lsn слота %X/%X перевищує ліміт на %llu байтів."
+msgid "The slot's restart_lsn %X/%08X exceeds the limit by %llu byte."
+msgid_plural "The slot's restart_lsn %X/%08X exceeds the limit by %llu bytes."
+msgstr[0] "Значення restart_lsn слота %X/%08X перевищує ліміт на %llu байт."
+msgstr[1] "Значення restart_lsn слота %X/%08X перевищує ліміт на %llu байта."
+msgstr[2] "Значення restart_lsn слота %X/%08X перевищує ліміт на %llu байтів."
+msgstr[3] "Значення restart_lsn слота %X/%08X перевищує ліміт на %llu байтів."
 
 #: replication/slot.c:1506
 #, c-format
@@ -21205,8 +21205,8 @@ msgstr "Цей слот ніколи раніше не резервував WAL,
 
 #: replication/slotfuncs.c:566
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
-msgstr "просунути слот реплікації до позиції %X/%X не можна, мінімальна позиція %X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
+msgstr "просунути слот реплікації до позиції %X/%08X не можна, мінімальна позиція %X/%08X"
 
 #: replication/slotfuncs.c:673
 #, c-format
@@ -21305,13 +21305,13 @@ msgstr "остання часова шкала %u на основному сер
 
 #: replication/walreceiver.c:419
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
-msgstr "запущено потокове передавання WAL з основного серверу з позиції %X/%X на часовій шкалі %u"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
+msgstr "запущено потокове передавання WAL з основного серверу з позиції %X/%08X на часовій шкалі %u"
 
 #: replication/walreceiver.c:423
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "перезапуска потокового передавання WAL з позиції %X/%X на часовій шкалі %u"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
+msgstr "перезапуска потокового передавання WAL з позиції %X/%08X на часовій шкалі %u"
 
 #: replication/walreceiver.c:458
 #, c-format
@@ -21325,8 +21325,8 @@ msgstr "реплікація завершена основним серверо
 
 #: replication/walreceiver.c:503
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "На часовій шкалі %u в позиції %X/%X WAL досяг кінця."
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "На часовій шкалі %u в позиції %X/%08X WAL досяг кінця."
 
 #: replication/walreceiver.c:593
 #, c-format
@@ -21375,18 +21375,18 @@ msgstr "використовувати логічний слот репліка
 
 #: replication/walsender.c:919
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
-msgstr "в історії серверу немає запитаної початкової точки %X/%X на часовій шкалі %u"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
+msgstr "в історії серверу немає запитаної початкової точки %X/%08X на часовій шкалі %u"
 
 #: replication/walsender.c:922
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "Історія цього серверу відгалузилась від часової шкали %u в позиції %X/%X."
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "Історія цього серверу відгалузилась від часової шкали %u в позиції %X/%08X."
 
 #: replication/walsender.c:966
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
-msgstr "запитана початкова точка %X/%X попереду позиція очищених даних WAL на цьому сервері %X/%X"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
+msgstr "запитана початкова точка %X/%08X попереду позиція очищених даних WAL на цьому сервері %X/%08X"
 
 #: replication/walsender.c:1160
 #, c-format
diff --git a/src/backend/po/zh_CN.po b/src/backend/po/zh_CN.po
index 574684d7757..8d0a1a2ff1e 100644
--- a/src/backend/po/zh_CN.po
+++ b/src/backend/po/zh_CN.po
@@ -1530,13 +1530,13 @@ msgstr "分配WAL读取处理器失败."
 
 #: access/transam/twophase.c:1401
 #, c-format
-msgid "could not read two-phase state from WAL at %X/%X"
-msgstr "无法从 %X/%X 位置的 WAL 读取两阶段状态"
+msgid "could not read two-phase state from WAL at %X/%08X"
+msgstr "无法从 %X/%08X 位置的 WAL 读取两阶段状态"
 
 #: access/transam/twophase.c:1409
 #, c-format
-msgid "expected two-phase state data is not present in WAL at %X/%X"
-msgstr "预期的两阶段状态数据没有出现在 WAL 的 %X/%X 位置上"
+msgid "expected two-phase state data is not present in WAL at %X/%08X"
+msgstr "预期的两阶段状态数据没有出现在 WAL 的 %X/%08X 位置上"
 
 #: access/transam/twophase.c:1689
 #, c-format
@@ -1737,7 +1737,7 @@ msgstr "无法在偏移量 %2$u,长度 %3$zu写入日志文件%1$s: %4$m"
 
 #: access/transam/xlog.c:2783
 #, c-format
-msgid "updated min recovery point to %X/%X on timeline %u"
+msgid "updated min recovery point to %X/%08X on timeline %u"
 msgstr "在时间点%3$u上将最小恢复点更新到%1$X/%2$X"
 
 #: access/transam/xlog.c:3864 access/transam/xlogutils.c:703
@@ -1788,7 +1788,7 @@ msgstr "新的时间线%u不附属于数据库系统时间线%u"
 
 #: access/transam/xlog.c:4446
 #, c-format
-msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
+msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%08X"
 msgstr "在当前恢复点%3$X/%4$X之前, 新的时间点%1$u脱离了当前茅的数据库系统时间点%2$u"
 
 #: access/transam/xlog.c:4465
@@ -1993,8 +1993,8 @@ msgstr "达到一致性前恢复停止"
 
 #: access/transam/xlog.c:5635
 #, c-format
-msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
-msgstr "恢复停止在WAL位置(LSN) \"%X/%X\"之前"
+msgid "recovery stopping before WAL location (LSN) \"%X/%08X\""
+msgstr "恢复停止在WAL位置(LSN) \"%X/%08X\"之前"
 
 #: access/transam/xlog.c:5721
 #, c-format
@@ -2013,8 +2013,8 @@ msgstr "恢复停止在恢复点 \"%s\", 时间 %s"
 
 #: access/transam/xlog.c:5792
 #, c-format
-msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
-msgstr "恢复停止在WAL位置(LSN) \"%X/%X\"之后"
+msgid "recovery stopping after WAL location (LSN) \"%X/%08X\""
+msgstr "恢复停止在WAL位置(LSN) \"%X/%08X\"之后"
 
 #: access/transam/xlog.c:5860
 #, c-format
@@ -2128,8 +2128,8 @@ msgstr "开始执行到基于时间点恢复的时间点\"%s\""
 
 #: access/transam/xlog.c:6322
 #, c-format
-msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
-msgstr "开始执行到基于时间点恢复到WAL位置(LSN) \"%X/%X\""
+msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%08X\""
+msgstr "开始执行到基于时间点恢复到WAL位置(LSN) \"%X/%08X\""
 
 #: access/transam/xlog.c:6327
 #, c-format
@@ -2143,8 +2143,8 @@ msgstr "开始归档恢复"
 
 #: access/transam/xlog.c:6384 access/transam/xlog.c:6516
 #, c-format
-msgid "checkpoint record is at %X/%X"
-msgstr "checkpoint 记录位置在 %X/%X"
+msgid "checkpoint record is at %X/%08X"
+msgstr "checkpoint 记录位置在 %X/%08X"
 
 #: access/transam/xlog.c:6398
 #, c-format
@@ -2199,13 +2199,13 @@ msgstr "所要求的时间线%u不在服务器的历史时间线里"
 
 #: access/transam/xlog.c:6568
 #, c-format
-msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
-msgstr "最近的检查点位于%X/%X,时间点为%u, 但是在请求的历史时间点中，服务器端在那个时间点会产生分支%X/%X."
+msgid "Latest checkpoint is at %X/%08X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%08X."
+msgstr "最近的检查点位于%X/%08X,时间点为%u, 但是在请求的历史时间点中，服务器端在那个时间点会产生分支%X/%08X."
 
 #: access/transam/xlog.c:6584
 #, c-format
-msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
-msgstr "所要求的时间线%u不包含最小恢复点%X/%X，在时间线%u处"
+msgid "requested timeline %u does not contain minimum recovery point %X/%08X on timeline %u"
+msgstr "所要求的时间线%u不包含最小恢复点%X/%08X，在时间线%u处"
 
 #: access/transam/xlog.c:6615
 #, c-format
@@ -2249,8 +2249,8 @@ msgstr "正在为热备进行初始化"
 
 #: access/transam/xlog.c:7019
 #, c-format
-msgid "redo starts at %X/%X"
-msgstr "redo 在 %X/%X 开始"
+msgid "redo starts at %X/%08X"
+msgstr "redo 在 %X/%08X 开始"
 
 #: access/transam/xlog.c:7243
 #, c-format
@@ -2259,8 +2259,8 @@ msgstr "所要求的恢复停止点在一致性恢复点之前"
 
 #: access/transam/xlog.c:7281
 #, c-format
-msgid "redo done at %X/%X"
-msgstr "redo 在 %X/%X 完成"
+msgid "redo done at %X/%08X"
+msgstr "redo 在 %X/%08X 完成"
 
 #: access/transam/xlog.c:7286
 #, c-format
@@ -2299,8 +2299,8 @@ msgstr "已选择的新时间线ID：%u"
 
 #: access/transam/xlog.c:7849
 #, c-format
-msgid "consistent recovery state reached at %X/%X"
-msgstr "在%X/%X上已到达一致性恢复状态"
+msgid "consistent recovery state reached at %X/%08X"
+msgstr "在%X/%08X上已到达一致性恢复状态"
 
 #: access/transam/xlog.c:8041
 #, c-format
@@ -2374,13 +2374,13 @@ msgstr "正在跳过重新启动点, 恢复已经结束"
 
 #: access/transam/xlog.c:9092
 #, c-format
-msgid "skipping restartpoint, already performed at %X/%X"
-msgstr "跳过重新启动点，它已经在%X/%X上执行了."
+msgid "skipping restartpoint, already performed at %X/%08X"
+msgstr "跳过重新启动点，它已经在%X/%08X上执行了."
 
 #: access/transam/xlog.c:9259
 #, c-format
-msgid "recovery restart point at %X/%X"
-msgstr "恢复得重新启动点是在%X/%X开始"
+msgid "recovery restart point at %X/%08X"
+msgstr "恢复得重新启动点是在%X/%08X开始"
 
 #: access/transam/xlog.c:9261
 #, c-format
@@ -2389,8 +2389,8 @@ msgstr "上一次完成事务是在日志时间%s完成的."
 
 #: access/transam/xlog.c:9395
 #, c-format
-msgid "restore point \"%s\" created at %X/%X"
-msgstr "恢复点\"%s\"，创建于%X/%X"
+msgid "restore point \"%s\" created at %X/%08X"
+msgstr "恢复点\"%s\"，创建于%X/%08X"
 
 #: access/transam/xlog.c:9536
 #, c-format
@@ -2404,7 +2404,7 @@ msgstr "在检查点记录中出现未期望的时间线ID%u(在%u之后)"
 
 #: access/transam/xlog.c:9561
 #, c-format
-msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
+msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%08X on timeline %u"
 msgstr "在达到最小恢复点%2$X/%3$X之前，时间点%4$u处，在检查点记录中出现意外的时间点ID %1$u"
 
 #: access/transam/xlog.c:9637
@@ -2572,7 +2572,7 @@ msgstr "文件\"%2$s\"中的备份时间线%1$u"
 #. translator: %s is a WAL record description
 #: access/transam/xlog.c:11398
 #, c-format
-msgid "WAL redo at %X/%X for %s"
+msgid "WAL redo at %X/%08X for %s"
 msgstr "%3$s WAL 重做在 %1$X/%2$X 位置"
 
 #: access/transam/xlog.c:11447
@@ -2769,48 +2769,48 @@ msgstr "服务器在%d秒内未升级"
 
 #: access/transam/xlogreader.c:299
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "%X/%X处有无效记录偏移量"
+msgid "invalid record offset at %X/%08X"
+msgstr "%X/%08X处有无效记录偏移量"
 
 #: access/transam/xlogreader.c:307
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "%X/%X位置处要求继续记录"
+msgid "contrecord is requested by %X/%08X"
+msgstr "%X/%08X位置处要求继续记录"
 
 #: access/transam/xlogreader.c:348 access/transam/xlogreader.c:645
 #, c-format
-msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "%X/%X 处的记录长度不合法：想要 %u，但得到的是 %u"
+msgid "invalid record length at %X/%08X: wanted %u, got %u"
+msgstr "%X/%08X 处的记录长度不合法：想要 %u，但得到的是 %u"
 
 #: access/transam/xlogreader.c:372
 #, c-format
-msgid "record length %u at %X/%X too long"
+msgid "record length %u at %X/%08X too long"
 msgstr "%2$X/%3$X处的记录长度%1$u太长"
 
 #: access/transam/xlogreader.c:404
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "在%X/%X处没有继续记录标志"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "在%X/%08X处没有继续记录标志"
 
 #: access/transam/xlogreader.c:417
 #, c-format
-msgid "invalid contrecord length %u at %X/%X"
+msgid "invalid contrecord length %u at %X/%08X"
 msgstr "在%2$X/%3$X处的继续记录长度%1$u不合法"
 
 #: access/transam/xlogreader.c:653
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
 msgstr "在%2$X/%3$X处的资源管理器ID%1$u不合法"
 
 #: access/transam/xlogreader.c:667 access/transam/xlogreader.c:684
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "具有不正确向前链接%X/%X的记录出现在%X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "具有不正确向前链接%X/%08X的记录出现在%X/%08X"
 
 #: access/transam/xlogreader.c:721
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "在%X/%X处的记录中的资源管理器数据校验和不正确"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "在%X/%08X处的记录中的资源管理器数据校验和不正确"
 
 #: access/transam/xlogreader.c:758
 #, c-format
@@ -2839,7 +2839,7 @@ msgstr "WAL文件来自于不同的数据库系统：页头部中的XLOG_BLCKSZ
 
 #: access/transam/xlogreader.c:842
 #, c-format
-msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgid "unexpected pageaddr %X/%08X in log segment %s, offset %u"
 msgstr "日志段%3$s、偏移%4$u出现意外的pageaddr %1$X/%2$X"
 
 #: access/transam/xlogreader.c:867
@@ -2849,58 +2849,58 @@ msgstr "日志段%3$s、偏移%4$u出现失序的时间线ID %1$u（在%2$u之
 
 #: access/transam/xlogreader.c:1112
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "乱序的block_id %u位于%X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "乱序的block_id %u位于%X/%08X"
 
 #: access/transam/xlogreader.c:1135
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA已设置，但是在%X/%X没有包括数据"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA已设置，但是在%X/%08X没有包括数据"
 
 #: access/transam/xlogreader.c:1142
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA没有被设置，但是数据长度为%u，它位于%X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA没有被设置，但是数据长度为%u，它位于%X/%08X"
 
 #: access/transam/xlogreader.c:1178
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE被设置，但是洞偏移为%u，长度为%u，块映像长度为%u，它位于%X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE被设置，但是洞偏移为%u，长度为%u，块映像长度为%u，它位于%X/%08X"
 
 #: access/transam/xlogreader.c:1194
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE没有被设置，但是洞偏移为%u，长度为%u，它位于%X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE没有被设置，但是洞偏移为%u，长度为%u，它位于%X/%08X"
 
 #: access/transam/xlogreader.c:1209
 #, c-format
-msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_IS_COMPRESSED被设置，但是块映像长度是%u，它位于%X/%X"
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_IS_COMPRESSED被设置，但是块映像长度是%u，它位于%X/%08X"
 
 #: access/transam/xlogreader.c:1224
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "既没有设置BKPIMAGE_HAS_HOLE也没有设置BKPIMAGE_IS_COMPRESSED，但是块映像长度是%u，它位于%X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "既没有设置BKPIMAGE_HAS_HOLE也没有设置BKPIMAGE_IS_COMPRESSED，但是块映像长度是%u，它位于%X/%08X"
 
 #: access/transam/xlogreader.c:1240
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "设置了BKPBLOCK_SAME_REL，但是在%X/%X位置没有记录先前的关系"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "设置了BKPBLOCK_SAME_REL，但是在%X/%08X位置没有记录先前的关系"
 
 #: access/transam/xlogreader.c:1252
 #, c-format
-msgid "invalid block_id %u at %X/%X"
+msgid "invalid block_id %u at %X/%08X"
 msgstr "%2$X/%3$X处的block_id %1$u无效"
 
 #: access/transam/xlogreader.c:1341
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "在%X/%X处的记录的长度无效"
+msgid "record with invalid length at %X/%08X"
+msgstr "在%X/%08X处的记录的长度无效"
 
 #: access/transam/xlogreader.c:1430
 #, c-format
-msgid "invalid compressed image at %X/%X, block %d"
-msgstr "在%X/%X、块%d处有无效压缩映像"
+msgid "invalid compressed image at %X/%08X, block %d"
+msgstr "在%X/%08X、块%d处有无效压缩映像"
 
 #: access/transam/xlogutils.c:727 replication/walreceiver.c:959
 #: replication/walsender.c:2462
@@ -17867,13 +17867,13 @@ msgstr "开始为槽\"%s\"进行逻辑解码"
 
 #: replication/logical/logical.c:443
 #, c-format
-msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X."
-msgstr "流事务在%X/%X后提交，从%X/%X位置读."
+msgid "Streaming transactions committing after %X/%08X, reading WAL from %X/%08X."
+msgstr "流事务在%X/%08X后提交，从%X/%08X位置读."
 
 #: replication/logical/logical.c:593
 #, c-format
-msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
-msgstr "槽 \"%s\", 输出插件 \"%s\", 在 %s 回调, 关联的 LSN 地址为%X/%X"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X"
+msgstr "槽 \"%s\", 输出插件 \"%s\", 在 %s 回调, 关联的 LSN 地址为%X/%08X"
 
 #: replication/logical/logical.c:600
 #, c-format
@@ -18054,8 +18054,8 @@ msgstr[0] "导出逻辑解码快照: \"%s\" 带有 %u 个事务 ID"
 #: replication/logical/snapbuild.c:1270 replication/logical/snapbuild.c:1363
 #: replication/logical/snapbuild.c:1917
 #, c-format
-msgid "logical decoding found consistent point at %X/%X"
-msgstr "在 %X/%X处，逻辑解码发现一致点"
+msgid "logical decoding found consistent point at %X/%08X"
+msgstr "在 %X/%08X处，逻辑解码发现一致点"
 
 #: replication/logical/snapbuild.c:1272
 #, c-format
@@ -18064,8 +18064,8 @@ msgstr "没有正运行的事务."
 
 #: replication/logical/snapbuild.c:1314
 #, c-format
-msgid "logical decoding found initial starting point at %X/%X"
-msgstr "逻辑解码在 %X/%X发现初始化的起始点"
+msgid "logical decoding found initial starting point at %X/%08X"
+msgstr "逻辑解码在 %X/%08X发现初始化的起始点"
 
 #: replication/logical/snapbuild.c:1316 replication/logical/snapbuild.c:1340
 #, c-format
@@ -18074,8 +18074,8 @@ msgstr "等待超过%2$u的事务（大约%1$d）结束."
 
 #: replication/logical/snapbuild.c:1338
 #, c-format
-msgid "logical decoding found initial consistent point at %X/%X"
-msgstr "在 %X/%X处，逻辑解码发现初始一致点"
+msgid "logical decoding found initial consistent point at %X/%08X"
+msgstr "在 %X/%08X处，逻辑解码发现初始一致点"
 
 #: replication/logical/snapbuild.c:1365
 #, c-format
@@ -18379,8 +18379,8 @@ msgstr "无法前进以前没有保留的WAL的复制槽"
 
 #: replication/slotfuncs.c:564
 #, c-format
-msgid "cannot advance replication slot to %X/%X, minimum is %X/%X"
-msgstr "无法将复制槽前进到%X/%X，最小值为%X/%X"
+msgid "cannot advance replication slot to %X/%08X, minimum is %X/%08X"
+msgstr "无法将复制槽前进到%X/%08X，最小值为%X/%08X"
 
 #: replication/slotfuncs.c:670
 #, c-format
@@ -18474,13 +18474,13 @@ msgstr "主服务器上的最高时间线%u还在恢复时间线%u的后边"
 
 #: replication/walreceiver.c:369
 #, c-format
-msgid "started streaming WAL from primary at %X/%X on timeline %u"
-msgstr "在时间点: %X/%X (时间安排%u)启动日志的流操作"
+msgid "started streaming WAL from primary at %X/%08X on timeline %u"
+msgstr "在时间点: %X/%08X (时间安排%u)启动日志的流操作"
 
 #: replication/walreceiver.c:374
 #, c-format
-msgid "restarted WAL streaming at %X/%X on timeline %u"
-msgstr "在%X/%X处时间线%u上重启WAL流操作"
+msgid "restarted WAL streaming at %X/%08X on timeline %u"
+msgstr "在%X/%08X处时间线%u上重启WAL流操作"
 
 #: replication/walreceiver.c:403
 #, c-format
@@ -18494,8 +18494,8 @@ msgstr "复制由主用服务器终止"
 
 #: replication/walreceiver.c:441
 #, c-format
-msgid "End of WAL reached on timeline %u at %X/%X."
-msgstr "WAL结束时，到了时间线%u和地址%X/%X."
+msgid "End of WAL reached on timeline %u at %X/%08X."
+msgstr "WAL结束时，到了时间线%u和地址%X/%08X."
 
 #: replication/walreceiver.c:529
 #, c-format
@@ -18539,18 +18539,18 @@ msgstr "物理复制操作不能使用逻辑复制槽"
 
 #: replication/walsender.c:628
 #, c-format
-msgid "requested starting point %X/%X on timeline %u is not in this server's history"
-msgstr "请求的起始点%X/%X, 时间线%u，不在该服务器的时间线历史记录里"
+msgid "requested starting point %X/%08X on timeline %u is not in this server's history"
+msgstr "请求的起始点%X/%08X, 时间线%u，不在该服务器的时间线历史记录里"
 
 #: replication/walsender.c:632
 #, c-format
-msgid "This server's history forked from timeline %u at %X/%X."
-msgstr "服务器的历史时间线在时间线%u，地址%X/%X处产生了分支."
+msgid "This server's history forked from timeline %u at %X/%08X."
+msgstr "服务器的历史时间线在时间线%u，地址%X/%08X处产生了分支."
 
 #: replication/walsender.c:677
 #, c-format
-msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
-msgstr "请求的起始点 %X/%X 位于该服务器的WAL刷新位置%X/%X之前"
+msgid "requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X"
+msgstr "请求的起始点 %X/%08X 位于该服务器的WAL刷新位置%X/%08X之前"
 
 #: replication/walsender.c:907
 #, c-format
diff --git a/src/backend/postmaster/walsummarizer.c b/src/backend/postmaster/walsummarizer.c
index 0fec4f1f871..f5b5af3414a 100644
--- a/src/backend/postmaster/walsummarizer.c
+++ b/src/backend/postmaster/walsummarizer.c
@@ -385,7 +385,7 @@ WalSummarizerMain(const void *startup_data, size_t startup_data_len)
 
 			switch_lsn = tliSwitchPoint(current_tli, tles, &switch_tli);
 			ereport(DEBUG1,
-					errmsg_internal("switch point from TLI %u to TLI %u is at %X/%X",
+					errmsg_internal("switch point from TLI %u to TLI %u is at %X/%08X",
 									current_tli, switch_tli, LSN_FORMAT_ARGS(switch_lsn)));
 		}
 
@@ -741,7 +741,7 @@ WaitForWalSummarization(XLogRecPtr lsn)
 				ereport(ERROR,
 						(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
 						 errmsg("WAL summarization is not progressing"),
-						 errdetail("Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory.",
+						 errdetail("Summarization is needed through %X/%08X, but is stuck at %X/%08X on disk and %X/%08X in memory.",
 								   LSN_FORMAT_ARGS(lsn),
 								   LSN_FORMAT_ARGS(summarized_lsn),
 								   LSN_FORMAT_ARGS(pending_lsn))));
@@ -755,12 +755,12 @@ WaitForWalSummarization(XLogRecPtr lsn)
 												current_time) / 1000;
 			ereport(WARNING,
 					(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
-					 errmsg_plural("still waiting for WAL summarization through %X/%X after %ld second",
-								   "still waiting for WAL summarization through %X/%X after %ld seconds",
+					 errmsg_plural("still waiting for WAL summarization through %X/%08X after %ld second",
+								   "still waiting for WAL summarization through %X/%08X after %ld seconds",
 								   elapsed_seconds,
 								   LSN_FORMAT_ARGS(lsn),
 								   elapsed_seconds),
-					 errdetail("Summarization has reached %X/%X on disk and %X/%X in memory.",
+					 errdetail("Summarization has reached %X/%08X on disk and %X/%08X in memory.",
 							   LSN_FORMAT_ARGS(summarized_lsn),
 							   LSN_FORMAT_ARGS(pending_lsn))));
 		}
@@ -981,7 +981,7 @@ SummarizeWAL(TimeLineID tli, XLogRecPtr start_lsn, bool exact,
 			if (private_data->end_of_wal)
 			{
 				ereport(DEBUG1,
-						errmsg_internal("could not read WAL from timeline %u at %X/%X: end of WAL at %X/%X",
+						errmsg_internal("could not read WAL from timeline %u at %X/%08X: end of WAL at %X/%08X",
 										tli,
 										LSN_FORMAT_ARGS(start_lsn),
 										LSN_FORMAT_ARGS(private_data->read_upto)));
@@ -1000,7 +1000,7 @@ SummarizeWAL(TimeLineID tli, XLogRecPtr start_lsn, bool exact,
 			}
 			else
 				ereport(ERROR,
-						(errmsg("could not find a valid record after %X/%X",
+						(errmsg("could not find a valid record after %X/%08X",
 								LSN_FORMAT_ARGS(start_lsn))));
 		}
 
@@ -1034,7 +1034,7 @@ SummarizeWAL(TimeLineID tli, XLogRecPtr start_lsn, bool exact,
 				 * able to read a complete record.
 				 */
 				ereport(DEBUG1,
-						errmsg_internal("could not read WAL from timeline %u at %X/%X: end of WAL at %X/%X",
+						errmsg_internal("could not read WAL from timeline %u at %X/%08X: end of WAL at %X/%08X",
 										tli,
 										LSN_FORMAT_ARGS(xlogreader->EndRecPtr),
 										LSN_FORMAT_ARGS(private_data->read_upto)));
@@ -1045,13 +1045,13 @@ SummarizeWAL(TimeLineID tli, XLogRecPtr start_lsn, bool exact,
 			if (errormsg)
 				ereport(ERROR,
 						(errcode_for_file_access(),
-						 errmsg("could not read WAL from timeline %u at %X/%X: %s",
+						 errmsg("could not read WAL from timeline %u at %X/%08X: %s",
 								tli, LSN_FORMAT_ARGS(xlogreader->EndRecPtr),
 								errormsg)));
 			else
 				ereport(ERROR,
 						(errcode_for_file_access(),
-						 errmsg("could not read WAL from timeline %u at %X/%X",
+						 errmsg("could not read WAL from timeline %u at %X/%08X",
 								tli, LSN_FORMAT_ARGS(xlogreader->EndRecPtr))));
 		}
 
@@ -1222,7 +1222,7 @@ SummarizeWAL(TimeLineID tli, XLogRecPtr start_lsn, bool exact,
 
 		/* Tell the user what we did. */
 		ereport(DEBUG1,
-				errmsg_internal("summarized WAL on TLI %u from %X/%X to %X/%X",
+				errmsg_internal("summarized WAL on TLI %u from %X/%08X to %X/%08X",
 								tli,
 								LSN_FORMAT_ARGS(summary_start_lsn),
 								LSN_FORMAT_ARGS(summary_end_lsn)));
@@ -1234,7 +1234,7 @@ SummarizeWAL(TimeLineID tli, XLogRecPtr start_lsn, bool exact,
 	/* If we skipped a non-zero amount of WAL, log a debug message. */
 	if (summary_end_lsn > summary_start_lsn && fast_forward)
 		ereport(DEBUG1,
-				errmsg_internal("skipped summarizing WAL on TLI %u from %X/%X to %X/%X",
+				errmsg_internal("skipped summarizing WAL on TLI %u from %X/%08X to %X/%08X",
 								tli,
 								LSN_FORMAT_ARGS(summary_start_lsn),
 								LSN_FORMAT_ARGS(summary_end_lsn)));
@@ -1580,7 +1580,7 @@ summarizer_read_local_xlog_page(XLogReaderState *state,
 
 					/* Debugging output. */
 					ereport(DEBUG1,
-							errmsg_internal("timeline %u became historic, can read up to %X/%X",
+							errmsg_internal("timeline %u became historic, can read up to %X/%08X",
 											private_data->tli, LSN_FORMAT_ARGS(private_data->read_upto)));
 				}
 
diff --git a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
index 7b4ddf7a8f5..f7b5d093681 100644
--- a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
+++ b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
@@ -534,7 +534,7 @@ libpqrcv_startstreaming(WalReceiverConn *conn,
 	if (options->logical)
 		appendStringInfoString(&cmd, " LOGICAL");
 
-	appendStringInfo(&cmd, " %X/%X", LSN_FORMAT_ARGS(options->startpoint));
+	appendStringInfo(&cmd, " %X/%08X", LSN_FORMAT_ARGS(options->startpoint));
 
 	/*
 	 * Additional options are different depending on if we are doing logical
diff --git a/src/backend/replication/logical/logical.c b/src/backend/replication/logical/logical.c
index f1eb798f3e9..7e363a7c05b 100644
--- a/src/backend/replication/logical/logical.c
+++ b/src/backend/replication/logical/logical.c
@@ -567,7 +567,7 @@ CreateDecodingContext(XLogRecPtr start_lsn,
 		 * kinds of client errors; so the client may wish to check that
 		 * confirmed_flush_lsn matches its expectations.
 		 */
-		elog(LOG, "%X/%X has been already streamed, forwarding to %X/%X",
+		elog(LOG, "%X/%08X has been already streamed, forwarding to %X/%08X",
 			 LSN_FORMAT_ARGS(start_lsn),
 			 LSN_FORMAT_ARGS(slot->data.confirmed_flush));
 
@@ -610,7 +610,7 @@ CreateDecodingContext(XLogRecPtr start_lsn,
 	ereport(LOG,
 			(errmsg("starting logical decoding for slot \"%s\"",
 					NameStr(slot->data.name)),
-			 errdetail("Streaming transactions committing after %X/%X, reading WAL from %X/%X.",
+			 errdetail("Streaming transactions committing after %X/%08X, reading WAL from %X/%08X.",
 					   LSN_FORMAT_ARGS(slot->data.confirmed_flush),
 					   LSN_FORMAT_ARGS(slot->data.restart_lsn))));
 
@@ -637,7 +637,7 @@ DecodingContextFindStartpoint(LogicalDecodingContext *ctx)
 	/* Initialize from where to start reading WAL. */
 	XLogBeginRead(ctx->reader, slot->data.restart_lsn);
 
-	elog(DEBUG1, "searching for logical decoding starting point, starting at %X/%X",
+	elog(DEBUG1, "searching for logical decoding starting point, starting at %X/%08X",
 		 LSN_FORMAT_ARGS(slot->data.restart_lsn));
 
 	/* Wait for a consistent starting point */
@@ -758,7 +758,7 @@ output_plugin_error_callback(void *arg)
 
 	/* not all callbacks have an associated LSN  */
 	if (state->report_location != InvalidXLogRecPtr)
-		errcontext("slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X",
+		errcontext("slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%08X",
 				   NameStr(state->ctx->slot->data.name),
 				   NameStr(state->ctx->slot->data.plugin),
 				   state->callback_name,
@@ -1725,7 +1725,7 @@ LogicalIncreaseXminForSlot(XLogRecPtr current_lsn, TransactionId xmin)
 	SpinLockRelease(&slot->mutex);
 
 	if (got_new_xmin)
-		elog(DEBUG1, "got new catalog xmin %u at %X/%X", xmin,
+		elog(DEBUG1, "got new catalog xmin %u at %X/%08X", xmin,
 			 LSN_FORMAT_ARGS(current_lsn));
 
 	/* candidate already valid with the current flush position, apply */
@@ -1785,7 +1785,7 @@ LogicalIncreaseRestartDecodingForSlot(XLogRecPtr current_lsn, XLogRecPtr restart
 		slot->candidate_restart_lsn = restart_lsn;
 		SpinLockRelease(&slot->mutex);
 
-		elog(DEBUG1, "got new restart lsn %X/%X at %X/%X",
+		elog(DEBUG1, "got new restart lsn %X/%08X at %X/%08X",
 			 LSN_FORMAT_ARGS(restart_lsn),
 			 LSN_FORMAT_ARGS(current_lsn));
 	}
@@ -1800,7 +1800,7 @@ LogicalIncreaseRestartDecodingForSlot(XLogRecPtr current_lsn, XLogRecPtr restart
 		confirmed_flush = slot->data.confirmed_flush;
 		SpinLockRelease(&slot->mutex);
 
-		elog(DEBUG1, "failed to increase restart lsn: proposed %X/%X, after %X/%X, current candidate %X/%X, current after %X/%X, flushed up to %X/%X",
+		elog(DEBUG1, "failed to increase restart lsn: proposed %X/%08X, after %X/%08X, current candidate %X/%08X, current after %X/%08X, flushed up to %X/%08X",
 			 LSN_FORMAT_ARGS(restart_lsn),
 			 LSN_FORMAT_ARGS(current_lsn),
 			 LSN_FORMAT_ARGS(candidate_restart_lsn),
diff --git a/src/backend/replication/logical/origin.c b/src/backend/replication/logical/origin.c
index a17bacf88e7..8e75d3bb47b 100644
--- a/src/backend/replication/logical/origin.c
+++ b/src/backend/replication/logical/origin.c
@@ -826,7 +826,7 @@ StartupReplicationOrigin(void)
 		last_state++;
 
 		ereport(LOG,
-				(errmsg("recovered replication state of node %d to %X/%X",
+				(errmsg("recovered replication state of node %d to %X/%08X",
 						disk_state.roident,
 						LSN_FORMAT_ARGS(disk_state.remote_lsn))));
 	}
diff --git a/src/backend/replication/logical/slotsync.c b/src/backend/replication/logical/slotsync.c
index 3ec3abfa3da..2f0c08b8fbd 100644
--- a/src/backend/replication/logical/slotsync.c
+++ b/src/backend/replication/logical/slotsync.c
@@ -213,7 +213,7 @@ update_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid,
 		ereport(slot->data.persistency == RS_TEMPORARY ? LOG : DEBUG1,
 				errmsg("could not synchronize replication slot \"%s\"",
 					   remote_slot->name),
-				errdetail("Synchronization could lead to data loss, because the remote slot needs WAL at LSN %X/%X and catalog xmin %u, but the standby has LSN %X/%X and catalog xmin %u.",
+				errdetail("Synchronization could lead to data loss, because the remote slot needs WAL at LSN %X/%08X and catalog xmin %u, but the standby has LSN %X/%08X and catalog xmin %u.",
 						  LSN_FORMAT_ARGS(remote_slot->restart_lsn),
 						  remote_slot->catalog_xmin,
 						  LSN_FORMAT_ARGS(slot->data.restart_lsn),
@@ -275,7 +275,7 @@ update_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid,
 				ereport(ERROR,
 						errmsg_internal("synchronized confirmed_flush for slot \"%s\" differs from remote slot",
 										remote_slot->name),
-						errdetail_internal("Remote slot has LSN %X/%X but local slot has LSN %X/%X.",
+						errdetail_internal("Remote slot has LSN %X/%08X but local slot has LSN %X/%08X.",
 										   LSN_FORMAT_ARGS(remote_slot->confirmed_lsn),
 										   LSN_FORMAT_ARGS(slot->data.confirmed_flush)));
 		}
@@ -593,7 +593,7 @@ update_and_persist_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid)
 	{
 		ereport(LOG,
 				errmsg("could not synchronize replication slot \"%s\"", remote_slot->name),
-				errdetail("Synchronization could lead to data loss, because the standby could not build a consistent snapshot to decode WALs at LSN %X/%X.",
+				errdetail("Synchronization could lead to data loss, because the standby could not build a consistent snapshot to decode WALs at LSN %X/%08X.",
 						  LSN_FORMAT_ARGS(slot->data.restart_lsn)));
 
 		return false;
@@ -642,7 +642,7 @@ synchronize_one_slot(RemoteSlot *remote_slot, Oid remote_dbid)
 		ereport(AmLogicalSlotSyncWorkerProcess() ? LOG : ERROR,
 				errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
 				errmsg("skipping slot synchronization because the received slot sync"
-					   " LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X",
+					   " LSN %X/%08X for slot \"%s\" is ahead of the standby position %X/%08X",
 					   LSN_FORMAT_ARGS(remote_slot->confirmed_lsn),
 					   remote_slot->name,
 					   LSN_FORMAT_ARGS(latestFlushPtr)));
@@ -733,7 +733,7 @@ synchronize_one_slot(RemoteSlot *remote_slot, Oid remote_dbid)
 				ereport(ERROR,
 						errmsg_internal("cannot synchronize local slot \"%s\"",
 										remote_slot->name),
-						errdetail_internal("Local slot's start streaming location LSN(%X/%X) is ahead of remote slot's LSN(%X/%X).",
+						errdetail_internal("Local slot's start streaming location LSN(%X/%08X) is ahead of remote slot's LSN(%X/%08X).",
 										   LSN_FORMAT_ARGS(slot->data.confirmed_flush),
 										   LSN_FORMAT_ARGS(remote_slot->confirmed_lsn)));
 
diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c
index adf18c397db..90d037ad802 100644
--- a/src/backend/replication/logical/snapbuild.c
+++ b/src/backend/replication/logical/snapbuild.c
@@ -774,7 +774,7 @@ SnapBuildDistributeSnapshotAndInval(SnapBuild *builder, XLogRecPtr lsn, Transact
 		if (rbtxn_is_prepared(txn))
 			continue;
 
-		elog(DEBUG2, "adding a new snapshot and invalidations to %u at %X/%X",
+		elog(DEBUG2, "adding a new snapshot and invalidations to %u at %X/%08X",
 			 txn->xid, LSN_FORMAT_ARGS(lsn));
 
 		/*
@@ -1271,7 +1271,7 @@ SnapBuildFindSnapshot(SnapBuild *builder, XLogRecPtr lsn, xl_running_xacts *runn
 									builder->initial_xmin_horizon))
 	{
 		ereport(DEBUG1,
-				(errmsg_internal("skipping snapshot at %X/%X while building logical decoding snapshot, xmin horizon too low",
+				(errmsg_internal("skipping snapshot at %X/%08X while building logical decoding snapshot, xmin horizon too low",
 								 LSN_FORMAT_ARGS(lsn)),
 				 errdetail_internal("initial xmin horizon of %u vs the snapshot's %u",
 									builder->initial_xmin_horizon, running->oldestRunningXid)));
@@ -1310,7 +1310,7 @@ SnapBuildFindSnapshot(SnapBuild *builder, XLogRecPtr lsn, xl_running_xacts *runn
 		builder->next_phase_at = InvalidTransactionId;
 
 		ereport(LOG,
-				(errmsg("logical decoding found consistent point at %X/%X",
+				(errmsg("logical decoding found consistent point at %X/%08X",
 						LSN_FORMAT_ARGS(lsn)),
 				 errdetail("There are no running transactions.")));
 
@@ -1359,7 +1359,7 @@ SnapBuildFindSnapshot(SnapBuild *builder, XLogRecPtr lsn, xl_running_xacts *runn
 		Assert(TransactionIdIsNormal(builder->xmax));
 
 		ereport(LOG,
-				(errmsg("logical decoding found initial starting point at %X/%X",
+				(errmsg("logical decoding found initial starting point at %X/%08X",
 						LSN_FORMAT_ARGS(lsn)),
 				 errdetail("Waiting for transactions (approximately %d) older than %u to end.",
 						   running->xcnt, running->nextXid)));
@@ -1383,7 +1383,7 @@ SnapBuildFindSnapshot(SnapBuild *builder, XLogRecPtr lsn, xl_running_xacts *runn
 		builder->next_phase_at = running->nextXid;
 
 		ereport(LOG,
-				(errmsg("logical decoding found initial consistent point at %X/%X",
+				(errmsg("logical decoding found initial consistent point at %X/%08X",
 						LSN_FORMAT_ARGS(lsn)),
 				 errdetail("Waiting for transactions (approximately %d) older than %u to end.",
 						   running->xcnt, running->nextXid)));
@@ -1407,7 +1407,7 @@ SnapBuildFindSnapshot(SnapBuild *builder, XLogRecPtr lsn, xl_running_xacts *runn
 		builder->next_phase_at = InvalidTransactionId;
 
 		ereport(LOG,
-				(errmsg("logical decoding found consistent point at %X/%X",
+				(errmsg("logical decoding found consistent point at %X/%08X",
 						LSN_FORMAT_ARGS(lsn)),
 				 errdetail("There are no old transactions anymore.")));
 	}
@@ -1913,7 +1913,7 @@ SnapBuildRestore(SnapBuild *builder, XLogRecPtr lsn)
 	Assert(builder->state == SNAPBUILD_CONSISTENT);
 
 	ereport(LOG,
-			(errmsg("logical decoding found consistent point at %X/%X",
+			(errmsg("logical decoding found consistent point at %X/%08X",
 					LSN_FORMAT_ARGS(lsn)),
 			 errdetail("Logical decoding will begin using saved snapshot.")));
 	return true;
diff --git a/src/backend/replication/logical/tablesync.c b/src/backend/replication/logical/tablesync.c
index c90f23ee5b0..e4fd6347fd1 100644
--- a/src/backend/replication/logical/tablesync.c
+++ b/src/backend/replication/logical/tablesync.c
@@ -1553,7 +1553,7 @@ LogicalRepSyncTableStart(XLogRecPtr *origin_startpos)
 copy_table_done:
 
 	elog(DEBUG1,
-		 "LogicalRepSyncTableStart: '%s' origin_startpos lsn %X/%X",
+		 "LogicalRepSyncTableStart: '%s' origin_startpos lsn %X/%08X",
 		 originname, LSN_FORMAT_ARGS(*origin_startpos));
 
 	/*
diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c
index fd11805a44c..d470d624055 100644
--- a/src/backend/replication/logical/worker.c
+++ b/src/backend/replication/logical/worker.c
@@ -1016,7 +1016,7 @@ apply_handle_commit(StringInfo s)
 	if (commit_data.commit_lsn != remote_final_lsn)
 		ereport(ERROR,
 				(errcode(ERRCODE_PROTOCOL_VIOLATION),
-				 errmsg_internal("incorrect commit LSN %X/%X in commit message (expected %X/%X)",
+				 errmsg_internal("incorrect commit LSN %X/%08X in commit message (expected %X/%08X)",
 								 LSN_FORMAT_ARGS(commit_data.commit_lsn),
 								 LSN_FORMAT_ARGS(remote_final_lsn))));
 
@@ -1108,7 +1108,7 @@ apply_handle_prepare(StringInfo s)
 	if (prepare_data.prepare_lsn != remote_final_lsn)
 		ereport(ERROR,
 				(errcode(ERRCODE_PROTOCOL_VIOLATION),
-				 errmsg_internal("incorrect prepare LSN %X/%X in prepare message (expected %X/%X)",
+				 errmsg_internal("incorrect prepare LSN %X/%08X in prepare message (expected %X/%08X)",
 								 LSN_FORMAT_ARGS(prepare_data.prepare_lsn),
 								 LSN_FORMAT_ARGS(remote_final_lsn))));
 
@@ -3903,7 +3903,7 @@ send_feedback(XLogRecPtr recvpos, bool force, bool requestReply)
 	pq_sendint64(reply_message, now);	/* sendTime */
 	pq_sendbyte(reply_message, requestReply);	/* replyRequested */
 
-	elog(DEBUG2, "sending feedback (force %d) to recv %X/%X, write %X/%X, flush %X/%X",
+	elog(DEBUG2, "sending feedback (force %d) to recv %X/%08X, write %X/%08X, flush %X/%08X",
 		 force,
 		 LSN_FORMAT_ARGS(recvpos),
 		 LSN_FORMAT_ARGS(writepos),
@@ -4909,7 +4909,7 @@ maybe_start_skipping_changes(XLogRecPtr finish_lsn)
 	skip_xact_finish_lsn = finish_lsn;
 
 	ereport(LOG,
-			errmsg("logical replication starts skipping transaction at LSN %X/%X",
+			errmsg("logical replication starts skipping transaction at LSN %X/%08X",
 				   LSN_FORMAT_ARGS(skip_xact_finish_lsn)));
 }
 
@@ -4923,7 +4923,7 @@ stop_skipping_changes(void)
 		return;
 
 	ereport(LOG,
-			(errmsg("logical replication completed skipping transaction at LSN %X/%X",
+			(errmsg("logical replication completed skipping transaction at LSN %X/%08X",
 					LSN_FORMAT_ARGS(skip_xact_finish_lsn))));
 
 	/* Stop skipping changes */
@@ -5012,7 +5012,7 @@ clear_subscription_skip_lsn(XLogRecPtr finish_lsn)
 		if (myskiplsn != finish_lsn)
 			ereport(WARNING,
 					errmsg("skip-LSN of subscription \"%s\" cleared", MySubscription->name),
-					errdetail("Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X.",
+					errdetail("Remote transaction's finish WAL location (LSN) %X/%08X did not match skip-LSN %X/%08X.",
 							  LSN_FORMAT_ARGS(finish_lsn),
 							  LSN_FORMAT_ARGS(myskiplsn)));
 	}
@@ -5049,7 +5049,7 @@ apply_error_callback(void *arg)
 					   logicalrep_message_type(errarg->command),
 					   errarg->remote_xid);
 		else
-			errcontext("processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X",
+			errcontext("processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%08X",
 					   errarg->origin_name,
 					   logicalrep_message_type(errarg->command),
 					   errarg->remote_xid,
@@ -5067,7 +5067,7 @@ apply_error_callback(void *arg)
 						   errarg->rel->remoterel.relname,
 						   errarg->remote_xid);
 			else
-				errcontext("processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%X",
+				errcontext("processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u, finished at %X/%08X",
 						   errarg->origin_name,
 						   logicalrep_message_type(errarg->command),
 						   errarg->rel->remoterel.nspname,
@@ -5086,7 +5086,7 @@ apply_error_callback(void *arg)
 						   errarg->rel->remoterel.attnames[errarg->remote_attnum],
 						   errarg->remote_xid);
 			else
-				errcontext("processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%X",
+				errcontext("processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u, finished at %X/%08X",
 						   errarg->origin_name,
 						   logicalrep_message_type(errarg->command),
 						   errarg->rel->remoterel.nspname,
diff --git a/src/backend/replication/repl_gram.y b/src/backend/replication/repl_gram.y
index 7440aae5a1a..8a649199ec6 100644
--- a/src/backend/replication/repl_gram.y
+++ b/src/backend/replication/repl_gram.y
@@ -279,7 +279,7 @@ alter_replication_slot:
 			;
 
 /*
- * START_REPLICATION [SLOT slot] [PHYSICAL] %X/%X [TIMELINE %u]
+ * START_REPLICATION [SLOT slot] [PHYSICAL] %X/%08X [TIMELINE %u]
  */
 start_replication:
 			K_START_REPLICATION opt_slot opt_physical RECPTR opt_timeline
@@ -295,7 +295,7 @@ start_replication:
 				}
 			;
 
-/* START_REPLICATION SLOT slot LOGICAL %X/%X options */
+/* START_REPLICATION SLOT slot LOGICAL %X/%08X options */
 start_logical_replication:
 			K_START_REPLICATION K_SLOT IDENT K_LOGICAL RECPTR plugin_options
 				{
diff --git a/src/backend/replication/repl_scanner.l b/src/backend/replication/repl_scanner.l
index 014ea8d25c6..b6930e28659 100644
--- a/src/backend/replication/repl_scanner.l
+++ b/src/backend/replication/repl_scanner.l
@@ -155,7 +155,7 @@ UPLOAD_MANIFEST		{ return K_UPLOAD_MANIFEST; }
 {hexdigit}+\/{hexdigit}+		{
 					uint32	hi,
 							lo;
-					if (sscanf(yytext, "%X/%X", &hi, &lo) != 2)
+					if (sscanf(yytext, "%X/%08X", &hi, &lo) != 2)
 						replication_yyerror(NULL, yyscanner, "invalid streaming start location");
 					yylval->recptr = ((uint64) hi) << 32 | lo;
 					return RECPTR;
diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c
index f9fec50ae88..f369fce2485 100644
--- a/src/backend/replication/slot.c
+++ b/src/backend/replication/slot.c
@@ -1591,8 +1591,8 @@ ReportSlotInvalidation(ReplicationSlotInvalidationCause cause,
 				uint64		ex = oldestLSN - restart_lsn;
 
 				appendStringInfo(&err_detail,
-								 ngettext("The slot's restart_lsn %X/%X exceeds the limit by %" PRIu64 " byte.",
-										  "The slot's restart_lsn %X/%X exceeds the limit by %" PRIu64 " bytes.",
+								 ngettext("The slot's restart_lsn %X/%08X exceeds the limit by %" PRIu64 " byte.",
+										  "The slot's restart_lsn %X/%08X exceeds the limit by %" PRIu64 " bytes.",
 										  ex),
 								 LSN_FORMAT_ARGS(restart_lsn),
 								 ex);
diff --git a/src/backend/replication/slotfuncs.c b/src/backend/replication/slotfuncs.c
index 36cc2ed4e44..69f4c6157c5 100644
--- a/src/backend/replication/slotfuncs.c
+++ b/src/backend/replication/slotfuncs.c
@@ -566,7 +566,7 @@ pg_replication_slot_advance(PG_FUNCTION_ARGS)
 	if (moveto < minlsn)
 		ereport(ERROR,
 				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
-				 errmsg("cannot advance replication slot to %X/%X, minimum is %X/%X",
+				 errmsg("cannot advance replication slot to %X/%08X, minimum is %X/%08X",
 						LSN_FORMAT_ARGS(moveto), LSN_FORMAT_ARGS(minlsn))));
 
 	/* Do the actual slot update, depending on the slot type */
diff --git a/src/backend/replication/syncrep.c b/src/backend/replication/syncrep.c
index cc35984ad00..32cf3a48b89 100644
--- a/src/backend/replication/syncrep.c
+++ b/src/backend/replication/syncrep.c
@@ -258,7 +258,7 @@ SyncRepWaitForLSN(XLogRecPtr lsn, bool commit)
 	{
 		char		buffer[32];
 
-		sprintf(buffer, "waiting for %X/%X", LSN_FORMAT_ARGS(lsn));
+		sprintf(buffer, "waiting for %X/%08X", LSN_FORMAT_ARGS(lsn));
 		set_ps_display_suffix(buffer);
 	}
 
@@ -566,7 +566,7 @@ SyncRepReleaseWaiters(void)
 
 	LWLockRelease(SyncRepLock);
 
-	elog(DEBUG3, "released %d procs up to write %X/%X, %d procs up to flush %X/%X, %d procs up to apply %X/%X",
+	elog(DEBUG3, "released %d procs up to write %X/%08X, %d procs up to flush %X/%08X, %d procs up to apply %X/%08X",
 		 numwrite, LSN_FORMAT_ARGS(writePtr),
 		 numflush, LSN_FORMAT_ARGS(flushPtr),
 		 numapply, LSN_FORMAT_ARGS(applyPtr));
diff --git a/src/backend/replication/walreceiver.c b/src/backend/replication/walreceiver.c
index 8c4d0fd9aed..33aece08de2 100644
--- a/src/backend/replication/walreceiver.c
+++ b/src/backend/replication/walreceiver.c
@@ -386,11 +386,11 @@ WalReceiverMain(const void *startup_data, size_t startup_data_len)
 		{
 			if (first_stream)
 				ereport(LOG,
-						(errmsg("started streaming WAL from primary at %X/%X on timeline %u",
+						(errmsg("started streaming WAL from primary at %X/%08X on timeline %u",
 								LSN_FORMAT_ARGS(startpoint), startpointTLI)));
 			else
 				ereport(LOG,
-						(errmsg("restarted WAL streaming at %X/%X on timeline %u",
+						(errmsg("restarted WAL streaming at %X/%08X on timeline %u",
 								LSN_FORMAT_ARGS(startpoint), startpointTLI)));
 			first_stream = false;
 
@@ -470,7 +470,7 @@ WalReceiverMain(const void *startup_data, size_t startup_data_len)
 						{
 							ereport(LOG,
 									(errmsg("replication terminated by primary server"),
-									 errdetail("End of WAL reached on timeline %u at %X/%X.",
+									 errdetail("End of WAL reached on timeline %u at %X/%08X.",
 											   startpointTLI,
 											   LSN_FORMAT_ARGS(LogstreamResult.Write))));
 							endofwal = true;
@@ -711,7 +711,7 @@ WalRcvWaitForStartPosition(XLogRecPtr *startpoint, TimeLineID *startpointTLI)
 	{
 		char		activitymsg[50];
 
-		snprintf(activitymsg, sizeof(activitymsg), "restarting at %X/%X",
+		snprintf(activitymsg, sizeof(activitymsg), "restarting at %X/%08X",
 				 LSN_FORMAT_ARGS(*startpoint));
 		set_ps_display(activitymsg);
 	}
@@ -1014,7 +1014,7 @@ XLogWalRcvFlush(bool dying, TimeLineID tli)
 		{
 			char		activitymsg[50];
 
-			snprintf(activitymsg, sizeof(activitymsg), "streaming %X/%X",
+			snprintf(activitymsg, sizeof(activitymsg), "streaming %X/%08X",
 					 LSN_FORMAT_ARGS(LogstreamResult.Write));
 			set_ps_display(activitymsg);
 		}
@@ -1138,7 +1138,7 @@ XLogWalRcvSendReply(bool force, bool requestReply)
 	pq_sendbyte(&reply_message, requestReply ? 1 : 0);
 
 	/* Send it */
-	elog(DEBUG2, "sending write %X/%X flush %X/%X apply %X/%X%s",
+	elog(DEBUG2, "sending write %X/%08X flush %X/%08X apply %X/%08X%s",
 		 LSN_FORMAT_ARGS(writePtr),
 		 LSN_FORMAT_ARGS(flushPtr),
 		 LSN_FORMAT_ARGS(applyPtr),
diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c
index f2c33250e8b..486ebe01c8b 100644
--- a/src/backend/replication/walsender.c
+++ b/src/backend/replication/walsender.c
@@ -408,7 +408,7 @@ IdentifySystem(void)
 	else
 		logptr = GetFlushRecPtr(&currTLI);
 
-	snprintf(xloc, sizeof(xloc), "%X/%X", LSN_FORMAT_ARGS(logptr));
+	snprintf(xloc, sizeof(xloc), "%X/%08X", LSN_FORMAT_ARGS(logptr));
 
 	if (MyDatabaseId != InvalidOid)
 	{
@@ -515,7 +515,7 @@ ReadReplicationSlot(ReadReplicationSlotCmd *cmd)
 		{
 			char		xloc[64];
 
-			snprintf(xloc, sizeof(xloc), "%X/%X",
+			snprintf(xloc, sizeof(xloc), "%X/%08X",
 					 LSN_FORMAT_ARGS(slot_contents.data.restart_lsn));
 			values[i] = CStringGetTextDatum(xloc);
 			nulls[i] = false;
@@ -892,10 +892,10 @@ StartReplication(StartReplicationCmd *cmd)
 				switchpoint < cmd->startpoint)
 			{
 				ereport(ERROR,
-						(errmsg("requested starting point %X/%X on timeline %u is not in this server's history",
+						(errmsg("requested starting point %X/%08X on timeline %u is not in this server's history",
 								LSN_FORMAT_ARGS(cmd->startpoint),
 								cmd->timeline),
-						 errdetail("This server's history forked from timeline %u at %X/%X.",
+						 errdetail("This server's history forked from timeline %u at %X/%08X.",
 								   cmd->timeline,
 								   LSN_FORMAT_ARGS(switchpoint))));
 			}
@@ -939,7 +939,7 @@ StartReplication(StartReplicationCmd *cmd)
 		if (FlushPtr < cmd->startpoint)
 		{
 			ereport(ERROR,
-					(errmsg("requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X",
+					(errmsg("requested starting point %X/%08X is ahead of the WAL flush position of this server %X/%08X",
 							LSN_FORMAT_ARGS(cmd->startpoint),
 							LSN_FORMAT_ARGS(FlushPtr))));
 		}
@@ -983,7 +983,7 @@ StartReplication(StartReplicationCmd *cmd)
 		Datum		values[2];
 		bool		nulls[2] = {0};
 
-		snprintf(startpos_str, sizeof(startpos_str), "%X/%X",
+		snprintf(startpos_str, sizeof(startpos_str), "%X/%08X",
 				 LSN_FORMAT_ARGS(sendTimeLineValidUpto));
 
 		dest = CreateDestReceiver(DestRemoteSimple);
@@ -1324,7 +1324,7 @@ CreateReplicationSlot(CreateReplicationSlotCmd *cmd)
 			ReplicationSlotPersist();
 	}
 
-	snprintf(xloc, sizeof(xloc), "%X/%X",
+	snprintf(xloc, sizeof(xloc), "%X/%08X",
 			 LSN_FORMAT_ARGS(MyReplicationSlot->data.confirmed_flush));
 
 	dest = CreateDestReceiver(DestRemoteSimple);
@@ -2429,7 +2429,7 @@ ProcessStandbyReplyMessage(void)
 		/* Copy because timestamptz_to_str returns a static buffer */
 		replyTimeStr = pstrdup(timestamptz_to_str(replyTime));
 
-		elog(DEBUG2, "write %X/%X flush %X/%X apply %X/%X%s reply_time %s",
+		elog(DEBUG2, "write %X/%08X flush %X/%08X apply %X/%08X%s reply_time %s",
 			 LSN_FORMAT_ARGS(writePtr),
 			 LSN_FORMAT_ARGS(flushPtr),
 			 LSN_FORMAT_ARGS(applyPtr),
@@ -3251,7 +3251,7 @@ XLogSendPhysical(void)
 
 		WalSndCaughtUp = true;
 
-		elog(DEBUG1, "walsender reached end of timeline at %X/%X (sent up to %X/%X)",
+		elog(DEBUG1, "walsender reached end of timeline at %X/%08X (sent up to %X/%08X)",
 			 LSN_FORMAT_ARGS(sendTimeLineValidUpto),
 			 LSN_FORMAT_ARGS(sentPtr));
 		return;
@@ -3392,7 +3392,7 @@ retry:
 	{
 		char		activitymsg[50];
 
-		snprintf(activitymsg, sizeof(activitymsg), "streaming %X/%X",
+		snprintf(activitymsg, sizeof(activitymsg), "streaming %X/%08X",
 				 LSN_FORMAT_ARGS(sentPtr));
 		set_ps_display(activitymsg);
 	}
diff --git a/src/backend/storage/ipc/standby.c b/src/backend/storage/ipc/standby.c
index 7fa8d9247e0..4222bdab078 100644
--- a/src/backend/storage/ipc/standby.c
+++ b/src/backend/storage/ipc/standby.c
@@ -1376,7 +1376,7 @@ LogCurrentRunningXacts(RunningTransactions CurrRunningXacts)
 
 	if (xlrec.subxid_overflow)
 		elog(DEBUG2,
-			 "snapshot of %d running transactions overflowed (lsn %X/%X oldest xid %u latest complete %u next xid %u)",
+			 "snapshot of %d running transactions overflowed (lsn %X/%08X oldest xid %u latest complete %u next xid %u)",
 			 CurrRunningXacts->xcnt,
 			 LSN_FORMAT_ARGS(recptr),
 			 CurrRunningXacts->oldestRunningXid,
@@ -1384,7 +1384,7 @@ LogCurrentRunningXacts(RunningTransactions CurrRunningXacts)
 			 CurrRunningXacts->nextXid);
 	else
 		elog(DEBUG2,
-			 "snapshot of %d+%d running transaction ids (lsn %X/%X oldest xid %u latest complete %u next xid %u)",
+			 "snapshot of %d+%d running transaction ids (lsn %X/%08X oldest xid %u latest complete %u next xid %u)",
 			 CurrRunningXacts->xcnt, CurrRunningXacts->subxcnt,
 			 LSN_FORMAT_ARGS(recptr),
 			 CurrRunningXacts->oldestRunningXid,
diff --git a/src/backend/utils/adt/pg_lsn.c b/src/backend/utils/adt/pg_lsn.c
index 16311590a14..12de2446f5b 100644
--- a/src/backend/utils/adt/pg_lsn.c
+++ b/src/backend/utils/adt/pg_lsn.c
@@ -83,7 +83,7 @@ pg_lsn_out(PG_FUNCTION_ARGS)
 	char		buf[MAXPG_LSNLEN + 1];
 	char	   *result;
 
-	snprintf(buf, sizeof buf, "%X/%X", LSN_FORMAT_ARGS(lsn));
+	snprintf(buf, sizeof buf, "%X/%08X", LSN_FORMAT_ARGS(lsn));
 	result = pstrdup(buf);
 	PG_RETURN_CSTRING(result);
 }
diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c
index eb7354200bc..55621f35fb6 100644
--- a/src/bin/pg_basebackup/pg_basebackup.c
+++ b/src/bin/pg_basebackup/pg_basebackup.c
@@ -487,7 +487,7 @@ reached_end_position(XLogRecPtr segendpos, uint32 timeline,
 			if (r < 0)
 				pg_fatal("could not read from ready pipe: %m");
 
-			if (sscanf(xlogend, "%X/%X", &hi, &lo) != 2)
+			if (sscanf(xlogend, "%X/%08X", &hi, &lo) != 2)
 				pg_fatal("could not parse write-ahead log location \"%s\"",
 						 xlogend);
 			xlogendptr = ((uint64) hi) << 32 | lo;
@@ -629,7 +629,7 @@ StartLogStreamer(char *startpos, uint32 timeline, char *sysidentifier,
 	param->wal_compress_level = wal_compress_level;
 
 	/* Convert the starting position */
-	if (sscanf(startpos, "%X/%X", &hi, &lo) != 2)
+	if (sscanf(startpos, "%X/%08X", &hi, &lo) != 2)
 		pg_fatal("could not parse write-ahead log location \"%s\"",
 				 startpos);
 	param->startptr = ((uint64) hi) << 32 | lo;
@@ -2255,7 +2255,7 @@ BaseBackup(char *compression_algorithm, char *compression_detail,
 		 * value directly in the variable, and then set the flag that says
 		 * it's there.
 		 */
-		if (sscanf(xlogend, "%X/%X", &hi, &lo) != 2)
+		if (sscanf(xlogend, "%X/%08X", &hi, &lo) != 2)
 			pg_fatal("could not parse write-ahead log location \"%s\"",
 					 xlogend);
 		xlogendptr = ((uint64) hi) << 32 | lo;
diff --git a/src/bin/pg_basebackup/pg_createsubscriber.c b/src/bin/pg_basebackup/pg_createsubscriber.c
index 11f71c03801..025b893a41e 100644
--- a/src/bin/pg_basebackup/pg_createsubscriber.c
+++ b/src/bin/pg_basebackup/pg_createsubscriber.c
@@ -1262,7 +1262,7 @@ setup_recovery(const struct LogicalRepInfo *dbinfo, const char *datadir, const c
 	{
 		appendPQExpBufferStr(recoveryconfcontents, "# dry run mode");
 		appendPQExpBuffer(recoveryconfcontents,
-						  "recovery_target_lsn = '%X/%X'\n",
+						  "recovery_target_lsn = '%X/%08X'\n",
 						  LSN_FORMAT_ARGS((XLogRecPtr) InvalidXLogRecPtr));
 	}
 	else
@@ -1876,7 +1876,7 @@ set_replication_progress(PGconn *conn, const struct LogicalRepInfo *dbinfo, cons
 	if (dry_run)
 	{
 		suboid = InvalidOid;
-		lsnstr = psprintf("%X/%X", LSN_FORMAT_ARGS((XLogRecPtr) InvalidXLogRecPtr));
+		lsnstr = psprintf("%X/%08X", LSN_FORMAT_ARGS((XLogRecPtr) InvalidXLogRecPtr));
 	}
 	else
 	{
diff --git a/src/bin/pg_basebackup/pg_receivewal.c b/src/bin/pg_basebackup/pg_receivewal.c
index e816cf58101..289ca14dcfe 100644
--- a/src/bin/pg_basebackup/pg_receivewal.c
+++ b/src/bin/pg_basebackup/pg_receivewal.c
@@ -188,14 +188,14 @@ stop_streaming(XLogRecPtr xlogpos, uint32 timeline, bool segment_finished)
 
 	/* we assume that we get called once at the end of each segment */
 	if (verbose && segment_finished)
-		pg_log_info("finished segment at %X/%X (timeline %u)",
+		pg_log_info("finished segment at %X/%08X (timeline %u)",
 					LSN_FORMAT_ARGS(xlogpos),
 					timeline);
 
 	if (!XLogRecPtrIsInvalid(endpos) && endpos < xlogpos)
 	{
 		if (verbose)
-			pg_log_info("stopped log streaming at %X/%X (timeline %u)",
+			pg_log_info("stopped log streaming at %X/%08X (timeline %u)",
 						LSN_FORMAT_ARGS(xlogpos),
 						timeline);
 		time_to_stop = true;
@@ -211,7 +211,7 @@ stop_streaming(XLogRecPtr xlogpos, uint32 timeline, bool segment_finished)
 	 * timeline, but it's close enough for reporting purposes.
 	 */
 	if (verbose && prevtimeline != 0 && prevtimeline != timeline)
-		pg_log_info("switched to timeline %u at %X/%X",
+		pg_log_info("switched to timeline %u at %X/%08X",
 					timeline,
 					LSN_FORMAT_ARGS(prevpos));
 
@@ -575,7 +575,7 @@ StreamLog(void)
 	 * Start the replication
 	 */
 	if (verbose)
-		pg_log_info("starting log streaming at %X/%X (timeline %u)",
+		pg_log_info("starting log streaming at %X/%08X (timeline %u)",
 					LSN_FORMAT_ARGS(stream.startpos),
 					stream.timeline);
 
@@ -689,7 +689,7 @@ main(int argc, char **argv)
 				basedir = pg_strdup(optarg);
 				break;
 			case 'E':
-				if (sscanf(optarg, "%X/%X", &hi, &lo) != 2)
+				if (sscanf(optarg, "%X/%08X", &hi, &lo) != 2)
 					pg_fatal("could not parse end position \"%s\"", optarg);
 				endpos = ((uint64) hi) << 32 | lo;
 				break;
diff --git a/src/bin/pg_basebackup/pg_recvlogical.c b/src/bin/pg_basebackup/pg_recvlogical.c
index fb7a6a1d05d..8a5dd24e6c9 100644
--- a/src/bin/pg_basebackup/pg_recvlogical.c
+++ b/src/bin/pg_basebackup/pg_recvlogical.c
@@ -144,7 +144,7 @@ sendFeedback(PGconn *conn, TimestampTz now, bool force, bool replyRequested)
 		return true;
 
 	if (verbose)
-		pg_log_info("confirming write up to %X/%X, flush to %X/%X (slot %s)",
+		pg_log_info("confirming write up to %X/%08X, flush to %X/%08X (slot %s)",
 					LSN_FORMAT_ARGS(output_written_lsn),
 					LSN_FORMAT_ARGS(output_fsync_lsn),
 					replication_slot);
@@ -238,13 +238,13 @@ StreamLogicalLog(void)
 	 * Start the replication
 	 */
 	if (verbose)
-		pg_log_info("starting log streaming at %X/%X (slot %s)",
+		pg_log_info("starting log streaming at %X/%08X (slot %s)",
 					LSN_FORMAT_ARGS(startpos),
 					replication_slot);
 
 	/* Initiate the replication stream at specified location */
 	query = createPQExpBuffer();
-	appendPQExpBuffer(query, "START_REPLICATION SLOT \"%s\" LOGICAL %X/%X",
+	appendPQExpBuffer(query, "START_REPLICATION SLOT \"%s\" LOGICAL %X/%08X",
 					  replication_slot, LSN_FORMAT_ARGS(startpos));
 
 	/* print options if there are any */
@@ -800,12 +800,12 @@ main(int argc, char **argv)
 				break;
 /* replication options */
 			case 'I':
-				if (sscanf(optarg, "%X/%X", &hi, &lo) != 2)
+				if (sscanf(optarg, "%X/%08X", &hi, &lo) != 2)
 					pg_fatal("could not parse start position \"%s\"", optarg);
 				startpos = ((uint64) hi) << 32 | lo;
 				break;
 			case 'E':
-				if (sscanf(optarg, "%X/%X", &hi, &lo) != 2)
+				if (sscanf(optarg, "%X/%08X", &hi, &lo) != 2)
 					pg_fatal("could not parse end position \"%s\"", optarg);
 				endpos = ((uint64) hi) << 32 | lo;
 				break;
@@ -1075,12 +1075,12 @@ prepareToTerminate(PGconn *conn, XLogRecPtr endpos, StreamStopReason reason,
 				pg_log_info("received interrupt signal, exiting");
 				break;
 			case STREAM_STOP_KEEPALIVE:
-				pg_log_info("end position %X/%X reached by keepalive",
+				pg_log_info("end position %X/%08X reached by keepalive",
 							LSN_FORMAT_ARGS(endpos));
 				break;
 			case STREAM_STOP_END_OF_WAL:
 				Assert(!XLogRecPtrIsInvalid(lsn));
-				pg_log_info("end position %X/%X reached by WAL record at %X/%X",
+				pg_log_info("end position %X/%08X reached by WAL record at %X/%08X",
 							LSN_FORMAT_ARGS(endpos), LSN_FORMAT_ARGS(lsn));
 				break;
 			case STREAM_STOP_NONE:
diff --git a/src/bin/pg_basebackup/po/cs.po b/src/bin/pg_basebackup/po/cs.po
index f74b659741b..332ab103dfb 100644
--- a/src/bin/pg_basebackup/po/cs.po
+++ b/src/bin/pg_basebackup/po/cs.po
@@ -970,18 +970,18 @@ msgstr "      --drop-slot        odstraní replikační slot (pro jméno slotu v
 
 #: pg_receivewal.c:117
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "dokončen segment na %X/%X (timeline %u)"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "dokončen segment na %X/%08X (timeline %u)"
 
 #: pg_receivewal.c:124
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "končím streamování logu na %X/%X (timeline %u)"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "končím streamování logu na %X/%08X (timeline %u)"
 
 #: pg_receivewal.c:140
 #, c-format
-msgid "switched to timeline %u at %X/%X"
-msgstr "přepnuto na timeline %u v %X/%X"
+msgid "switched to timeline %u at %X/%08X"
+msgstr "přepnuto na timeline %u v %X/%08X"
 
 #: pg_receivewal.c:150
 #, c-format
@@ -1025,8 +1025,8 @@ msgstr "komprimovaný segment soubor \"%s\" má po dekompresi neplatnou velikost
 
 #: pg_receivewal.c:422
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "začínám streamování logu na %X/%X (timeline %u)"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "začínám streamování logu na %X/%08X (timeline %u)"
 
 #: pg_receivewal.c:537 pg_recvlogical.c:762
 #, c-format
@@ -1144,8 +1144,8 @@ msgstr "  -d, --dbname=DBNAME    databáze ke které se připojit\n"
 
 #: pg_recvlogical.c:133
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "potvrzuji zápis až do %X/%X, flush do %X/%X (slot %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "potvrzuji zápis až do %X/%08X, flush do %X/%08X (slot %s)"
 
 #: pg_recvlogical.c:157 receivelog.c:343
 #, c-format
@@ -1154,8 +1154,8 @@ msgstr "nelze zaslat packet se zpětnou vazbou: %s"
 
 #: pg_recvlogical.c:230
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "začínám streamování logu na %X/%X (slot %s)"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "začínám streamování logu na %X/%08X (slot %s)"
 
 #: pg_recvlogical.c:271
 #, c-format
@@ -1254,13 +1254,13 @@ msgstr "nelze otevřít database-specific replikační spojení"
 
 #: pg_recvlogical.c:1047
 #, c-format
-msgid "end position %X/%X reached by keepalive"
-msgstr "koncová pozice %X/%X dosažena keepalive"
+msgid "end position %X/%08X reached by keepalive"
+msgstr "koncová pozice %X/%08X dosažena keepalive"
 
 #: pg_recvlogical.c:1050
 #, c-format
-msgid "end position %X/%X reached by WAL record at %X/%X"
-msgstr "koncová pozice %X/%X doražena WAL záznamem na %X/%X"
+msgid "end position %X/%08X reached by WAL record at %X/%08X"
+msgstr "koncová pozice %X/%08X doražena WAL záznamem na %X/%08X"
 
 #: receivelog.c:69
 #, c-format
@@ -1362,8 +1362,8 @@ msgstr "server ohlásil neočekávanou další timeline %u, následující timel
 
 #: receivelog.c:619
 #, c-format
-msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgstr "server přestal streamovat timeline %u at %X/%X, ale začátek další timelineoznámil %u na %X/%X"
+msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgstr "server přestal streamovat timeline %u at %X/%08X, ale začátek další timelineoznámil %u na %X/%08X"
 
 #: receivelog.c:659
 #, c-format
diff --git a/src/bin/pg_basebackup/po/de.po b/src/bin/pg_basebackup/po/de.po
index 0afd145285c..365939f3977 100644
--- a/src/bin/pg_basebackup/po/de.po
+++ b/src/bin/pg_basebackup/po/de.po
@@ -2101,18 +2101,18 @@ msgstr "      --drop-slot        Replikations-Slot löschen (Slot-Name siehe --s
 
 #: pg_receivewal.c:191
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "Segment bei %X/%X abgeschlossen (Zeitleiste %u)"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "Segment bei %X/%08X abgeschlossen (Zeitleiste %u)"
 
 #: pg_receivewal.c:198
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "Log-Streaming gestoppt bei %X/%X (Zeitleiste %u)"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "Log-Streaming gestoppt bei %X/%08X (Zeitleiste %u)"
 
 #: pg_receivewal.c:214
 #, c-format
-msgid "switched to timeline %u at %X/%X"
-msgstr "auf Zeitleiste %u umgeschaltet bei %X/%X"
+msgid "switched to timeline %u at %X/%08X"
+msgstr "auf Zeitleiste %u umgeschaltet bei %X/%08X"
 
 #: pg_receivewal.c:224 pg_recvlogical.c:1073
 #, c-format
@@ -2181,8 +2181,8 @@ msgstr "kann Datei »%s« nicht prüfen: Komprimierung mit %s wird von dieser In
 
 #: pg_receivewal.c:578
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "starte Log-Streaming bei %X/%X (Zeitleiste %u)"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "starte Log-Streaming bei %X/%08X (Zeitleiste %u)"
 
 #: pg_receivewal.c:693 pg_recvlogical.c:807
 #, c-format
@@ -2324,8 +2324,8 @@ msgstr "  -d, --dbname=DBNAME    Datenbank, mit der verbunden werden soll\n"
 
 #: pg_recvlogical.c:146
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "bestätige Schreiben bis %X/%X, Flush bis %X/%X (Slot %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "bestätige Schreiben bis %X/%08X, Flush bis %X/%08X (Slot %s)"
 
 #: pg_recvlogical.c:170 receivelog.c:359
 #, c-format
@@ -2334,8 +2334,8 @@ msgstr "konnte Rückmeldungspaket nicht senden: %s"
 
 #: pg_recvlogical.c:240
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "starte Log-Streaming bei %X/%X (Slot %s)"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "starte Log-Streaming bei %X/%08X (Slot %s)"
 
 #: pg_recvlogical.c:282
 #, c-format
@@ -2440,13 +2440,13 @@ msgstr "konnte keine datenbankspezifische Replikationsverbindung herstellen"
 
 #: pg_recvlogical.c:1076
 #, c-format
-msgid "end position %X/%X reached by keepalive"
-msgstr "Endposition %X/%X durch Keepalive erreicht"
+msgid "end position %X/%08X reached by keepalive"
+msgstr "Endposition %X/%08X durch Keepalive erreicht"
 
 #: pg_recvlogical.c:1081
 #, c-format
-msgid "end position %X/%X reached by WAL record at %X/%X"
-msgstr "Endposition %X/%X erreicht durch WAL-Eintrag bei %X/%X"
+msgid "end position %X/%08X reached by WAL record at %X/%08X"
+msgstr "Endposition %X/%08X erreicht durch WAL-Eintrag bei %X/%08X"
 
 #: receivelog.c:65
 #, c-format
@@ -2542,8 +2542,8 @@ msgstr "Server berichtete unerwartete nächste Zeitleiste %u, folgend auf Zeitle
 
 #: receivelog.c:631
 #, c-format
-msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt"
+msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%08X, aber gab an, dass nächste Zeitleiste %u bei %X/%08X beginnt"
 
 #: receivelog.c:671
 #, c-format
diff --git a/src/bin/pg_basebackup/po/el.po b/src/bin/pg_basebackup/po/el.po
index f4fd4d66a75..18233150c0a 100644
--- a/src/bin/pg_basebackup/po/el.po
+++ b/src/bin/pg_basebackup/po/el.po
@@ -1219,18 +1219,18 @@ msgstr "      --drop-slot        εγκατάληψη της υποδοχής α
 
 #: pg_receivewal.c:252
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "τελείωσε το τμήμα σε %X/%X (χρονογραμμή %u)"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "τελείωσε το τμήμα σε %X/%08X (χρονογραμμή %u)"
 
 #: pg_receivewal.c:259
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "διακοπή ροής αρχείων καταγραφής σε %X/%X (χρονογραμμή %u)"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "διακοπή ροής αρχείων καταγραφής σε %X/%08X (χρονογραμμή %u)"
 
 #: pg_receivewal.c:275
 #, c-format
-msgid "switched to timeline %u at %X/%X"
-msgstr "μεταπήδησε στη χρονογραμμή %u στο %X/%X"
+msgid "switched to timeline %u at %X/%08X"
+msgstr "μεταπήδησε στη χρονογραμμή %u στο %X/%08X"
 
 #: pg_receivewal.c:285
 #, c-format
@@ -1304,8 +1304,8 @@ msgstr "δεν είναι δυνατός ο έλεγχος του αρχείου
 
 #: pg_receivewal.c:641
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "έναρξη ροής αρχείων καταγραφής σε %X/%X (χρονογραμμή %u)"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "έναρξη ροής αρχείων καταγραφής σε %X/%08X (χρονογραμμή %u)"
 
 #: pg_receivewal.c:783 pg_recvlogical.c:785
 #, c-format
@@ -1433,8 +1433,8 @@ msgstr "  -d, --dbname=DBNAME    βάση δεδομένων για να συν
 
 #: pg_recvlogical.c:137
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "επιβεβαίωση εγγραφής έως %X/%X, flush σε %X/%X (υποδοχή %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "επιβεβαίωση εγγραφής έως %X/%08X, flush σε %X/%08X (υποδοχή %s)"
 
 #: pg_recvlogical.c:161 receivelog.c:366
 #, c-format
@@ -1443,8 +1443,8 @@ msgstr "δεν ήταν δυνατή η αποστολή πακέτου σχολ
 
 #: pg_recvlogical.c:229
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "έναρξη ροής αρχείων καταγραφής σε %X/%X (υποδοχή %s)"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "έναρξη ροής αρχείων καταγραφής σε %X/%08X (υποδοχή %s)"
 
 #: pg_recvlogical.c:271
 #, c-format
@@ -1544,13 +1544,13 @@ msgstr "δεν ήταν δυνατή η δημιουργία σύνδεσης α
 
 #: pg_recvlogical.c:1033
 #, c-format
-msgid "end position %X/%X reached by keepalive"
-msgstr "τελική θέση %X/%X που επιτεύχθηκε από keepalive"
+msgid "end position %X/%08X reached by keepalive"
+msgstr "τελική θέση %X/%08X που επιτεύχθηκε από keepalive"
 
 #: pg_recvlogical.c:1036
 #, c-format
-msgid "end position %X/%X reached by WAL record at %X/%X"
-msgstr "τελική θέση %X/%X που επιτεύχθηκε από εγγραφή WAL στο %X/%X"
+msgid "end position %X/%08X reached by WAL record at %X/%08X"
+msgstr "τελική θέση %X/%08X που επιτεύχθηκε από εγγραφή WAL στο %X/%08X"
 
 #: receivelog.c:68
 #, c-format
@@ -1651,8 +1651,8 @@ msgstr "ο διακομιστής ανέφερε απροσδόκητη επόμ
 
 #: receivelog.c:638
 #, c-format
-msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgstr "ο διακομιστής σταμάτησε τη ροή χρονογραμμής %u στο %X/%X, αλλά ανέφερε ότι η επόμενη χρονογραμμή %u να ξεκινήσει από το %X/%X"
+msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgstr "ο διακομιστής σταμάτησε τη ροή χρονογραμμής %u στο %X/%08X, αλλά ανέφερε ότι η επόμενη χρονογραμμή %u να ξεκινήσει από το %X/%08X"
 
 #: receivelog.c:678
 #, c-format
diff --git a/src/bin/pg_basebackup/po/es.po b/src/bin/pg_basebackup/po/es.po
index b637026541f..0418cdde272 100644
--- a/src/bin/pg_basebackup/po/es.po
+++ b/src/bin/pg_basebackup/po/es.po
@@ -2025,18 +2025,18 @@ msgstr "      --drop-slot        eliminar un slot de replicación (para el nombr
 
 #: pg_receivewal.c:191
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "terminó el segmento en %X/%X (timeline %u)"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "terminó el segmento en %X/%08X (timeline %u)"
 
 #: pg_receivewal.c:198
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "detenido el flujo de log en %X/%X (timeline %u)"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "detenido el flujo de log en %X/%08X (timeline %u)"
 
 #: pg_receivewal.c:214
 #, c-format
-msgid "switched to timeline %u at %X/%X"
-msgstr "cambiado al timeline %u en %X/%X"
+msgid "switched to timeline %u at %X/%08X"
+msgstr "cambiado al timeline %u en %X/%08X"
 
 #: pg_receivewal.c:224 pg_recvlogical.c:1053
 #, c-format
@@ -2105,8 +2105,8 @@ msgstr "no se puede verificar el archivo «%s»: la compresión con %s no está
 
 #: pg_receivewal.c:578
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "iniciando el flujo de log en %X/%X (timeline %u)"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "iniciando el flujo de log en %X/%08X (timeline %u)"
 
 #: pg_receivewal.c:693 pg_recvlogical.c:801
 #, c-format
@@ -2234,8 +2234,8 @@ msgstr "  -d, --dbname=BASE      base de datos a la cual conectarse\n"
 
 #: pg_recvlogical.c:145
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "confirmando escritura hasta %X/%X, fsync hasta %X/%X (slot %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "confirmando escritura hasta %X/%08X, fsync hasta %X/%08X (slot %s)"
 
 #: pg_recvlogical.c:169 receivelog.c:360
 #, c-format
@@ -2244,8 +2244,8 @@ msgstr "no se pudo enviar el paquete de retroalimentación: %s"
 
 #: pg_recvlogical.c:239
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "iniciando el flujo de log en %X/%X (slot %s)"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "iniciando el flujo de log en %X/%08X (slot %s)"
 
 #: pg_recvlogical.c:281
 #, c-format
@@ -2345,13 +2345,13 @@ msgstr "no se pudo establecer una conexión de replicación específica a una ba
 
 #: pg_recvlogical.c:1056
 #, c-format
-msgid "end position %X/%X reached by keepalive"
-msgstr "ubicación de término %X/%X alcanzado por «keep-alive»"
+msgid "end position %X/%08X reached by keepalive"
+msgstr "ubicación de término %X/%08X alcanzado por «keep-alive»"
 
 #: pg_recvlogical.c:1061
 #, c-format
-msgid "end position %X/%X reached by WAL record at %X/%X"
-msgstr "ubicación de término %X/%X alcanzado por registro WAL en %X/%X"
+msgid "end position %X/%08X reached by WAL record at %X/%08X"
+msgstr "ubicación de término %X/%08X alcanzado por registro WAL en %X/%08X"
 
 #: receivelog.c:66
 #, c-format
@@ -2447,8 +2447,8 @@ msgstr "el servidor reportó un timeline siguiente %u inesperado, a continuació
 
 #: receivelog.c:632
 #, c-format
-msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgstr "el servidor paró la transmisión del timeline %u en %X/%X, pero reportó que el siguiente timeline %u comienza en %X/%X"
+msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgstr "el servidor paró la transmisión del timeline %u en %X/%08X, pero reportó que el siguiente timeline %u comienza en %X/%08X"
 
 #: receivelog.c:672
 #, c-format
diff --git a/src/bin/pg_basebackup/po/fr.po b/src/bin/pg_basebackup/po/fr.po
index ae370d26a6c..d70334129a5 100644
--- a/src/bin/pg_basebackup/po/fr.po
+++ b/src/bin/pg_basebackup/po/fr.po
@@ -2041,18 +2041,18 @@ msgstr ""
 
 #: pg_receivewal.c:191
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "segment terminé à %X/%X (timeline %u)"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "segment terminé à %X/%08X (timeline %u)"
 
 #: pg_receivewal.c:198
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "arrêt du flux streaming à %X/%X (timeline %u)"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "arrêt du flux streaming à %X/%08X (timeline %u)"
 
 #: pg_receivewal.c:214
 #, c-format
-msgid "switched to timeline %u at %X/%X"
-msgstr "a basculé sur la timeline %u à %X/%X"
+msgid "switched to timeline %u at %X/%08X"
+msgstr "a basculé sur la timeline %u à %X/%08X"
 
 #: pg_receivewal.c:224 pg_recvlogical.c:1053
 #, c-format
@@ -2121,8 +2121,8 @@ msgstr "ne peut pas vérifier le fichier « %s » : la compression avec %s n'a p
 
 #: pg_receivewal.c:578
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "commence le flux des journaux à %X/%X (timeline %u)"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "commence le flux des journaux à %X/%08X (timeline %u)"
 
 #: pg_receivewal.c:693 pg_recvlogical.c:801
 #, c-format
@@ -2257,8 +2257,8 @@ msgstr "  -d, --dbname=BASE              base de données de connexion\n"
 
 #: pg_recvlogical.c:145
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "confirmation d'écriture jusqu'à %X/%X et de synchronisation jusqu'à %X/%X (slot %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "confirmation d'écriture jusqu'à %X/%08X et de synchronisation jusqu'à %X/%08X (slot %s)"
 
 #: pg_recvlogical.c:169 receivelog.c:360
 #, c-format
@@ -2267,8 +2267,8 @@ msgstr "n'a pas pu envoyer le paquet d'informations en retour : %s"
 
 #: pg_recvlogical.c:239
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "commence le flux des journaux à %X/%X (slot %s)"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "commence le flux des journaux à %X/%08X (slot %s)"
 
 #: pg_recvlogical.c:281
 #, c-format
@@ -2368,13 +2368,13 @@ msgstr "n'a pas pu établir une connexion de réplication spécifique à la base
 
 #: pg_recvlogical.c:1056
 #, c-format
-msgid "end position %X/%X reached by keepalive"
-msgstr "position finale %X/%X atteinte par keepalive"
+msgid "end position %X/%08X reached by keepalive"
+msgstr "position finale %X/%08X atteinte par keepalive"
 
 #: pg_recvlogical.c:1061
 #, c-format
-msgid "end position %X/%X reached by WAL record at %X/%X"
-msgstr "position finale %X/%X atteinte à l'enregistrement WAL %X/%X"
+msgid "end position %X/%08X reached by WAL record at %X/%08X"
+msgstr "position finale %X/%08X atteinte à l'enregistrement WAL %X/%08X"
 
 #: receivelog.c:66
 #, c-format
@@ -2470,8 +2470,8 @@ msgstr "le serveur a renvoyé une timeline suivante %u inattendue, après la tim
 
 #: receivelog.c:632
 #, c-format
-msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgstr "le serveur a arrêté l'envoi de la timeline %u à %X/%X, mais a indiqué que la timeline suivante, %u, commence à %X/%X"
+msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgstr "le serveur a arrêté l'envoi de la timeline %u à %X/%08X, mais a indiqué que la timeline suivante, %u, commence à %X/%08X"
 
 #: receivelog.c:672
 #, c-format
diff --git a/src/bin/pg_basebackup/po/he.po b/src/bin/pg_basebackup/po/he.po
index 7bdd08ee487..c88c10bd36b 100644
--- a/src/bin/pg_basebackup/po/he.po
+++ b/src/bin/pg_basebackup/po/he.po
@@ -922,14 +922,14 @@ msgstr ""
 
 #: pg_receivewal.c:111
 #, c-format
-msgid "%s: finished segment at %X/%X (timeline %u)\n"
-msgstr "תכנית %s: מסיים מקטע  %X/%X  (ציר זמן %u)\n"
+msgid "%s: finished segment at %X/%08X (timeline %u)\n"
+msgstr "תכנית %s: מסיים מקטע  %X/%08X  (ציר זמן %u)\n"
 
 #: pg_receivewal.c:124
 #, c-format
-msgid "%s: switched to timeline %u at %X/%X\n"
+msgid "%s: switched to timeline %u at %X/%08X\n"
 msgstr ""
-"תכנית %s: החלפת ציר הזמן %u ב %X/%X\n"
+"תכנית %s: החלפת ציר הזמן %u ב %X/%08X\n"
 "\n"
 
 #: pg_receivewal.c:133
@@ -969,8 +969,8 @@ msgstr "תכנית %s: לקובץ קטע דחוס \"%s\" יש גודל לא דח
 
 #: pg_receivewal.c:407
 #, c-format
-msgid "%s: starting log streaming at %X/%X (timeline %u)\n"
-msgstr "תכנית %s: החל יומן בכתובת %X/%X (ציר זמן %u)\n"
+msgid "%s: starting log streaming at %X/%08X (timeline %u)\n"
+msgstr "תכנית %s: החל יומן בכתובת %X/%08X (ציר זמן %u)\n"
 
 #: pg_receivewal.c:519 pg_recvlogical.c:762
 #, c-format
@@ -1110,8 +1110,8 @@ msgstr ""
 
 #: pg_recvlogical.c:135
 #, c-format
-msgid "%s: confirming write up to %X/%X, flush to %X/%X (slot %s)\n"
-msgstr "תכנית %s: מאשר לכתוב עד % X/%X, סומק ל %X/%X (חריץ %s)\n"
+msgid "%s: confirming write up to %X/%08X, flush to %X/%08X (slot %s)\n"
+msgstr "תכנית %s: מאשר לכתוב עד % X/%X, סומק ל %X/%08X (חריץ %s)\n"
 
 #: pg_recvlogical.c:160 receivelog.c:349
 #, c-format
@@ -1125,8 +1125,8 @@ msgstr "תכנית %s: לא ניתן להעביר תוכן הקובץ יומן (
 
 #: pg_recvlogical.c:238
 #, c-format
-msgid "%s: starting log streaming at %X/%X (slot %s)\n"
-msgstr "תכנית %s: החל הזרמת היומן בכתובת %X/%X (חריץ %s)\n"
+msgid "%s: starting log streaming at %X/%08X (slot %s)\n"
+msgstr "תכנית %s: החל הזרמת היומן בכתובת %X/%08X (חריץ %s)\n"
 
 #: pg_recvlogical.c:280
 #, c-format
@@ -1332,8 +1332,8 @@ msgstr "תכנתי %s: שרת דיווח ציר הזמן הבא לא צפוי %u
 
 #: receivelog.c:653
 #, c-format
-msgid "%s: server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X\n"
-msgstr "תכנית %s: שרת הפסיק הזרמת ציר הזמן %u ב- %X/%X, אך דיווח ציר הזמן הבא  %u שתתחיל ב %X/%X\n"
+msgid "%s: server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X\n"
+msgstr "תכנית %s: שרת הפסיק הזרמת ציר הזמן %u ב- %X/%08X, אך דיווח ציר הזמן הבא  %u שתתחיל ב %X/%08X\n"
 
 #: receivelog.c:694
 #, c-format
diff --git a/src/bin/pg_basebackup/po/it.po b/src/bin/pg_basebackup/po/it.po
index 37892c7f527..b4787227ccb 100644
--- a/src/bin/pg_basebackup/po/it.po
+++ b/src/bin/pg_basebackup/po/it.po
@@ -1227,18 +1227,18 @@ msgstr "      --drop-slot        elimina lo slot di replica (per il nome vedi --
 
 #: pg_receivewal.c:252
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "segmento finito alle %X/%X (timeline %u)"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "segmento finito alle %X/%08X (timeline %u)"
 
 #: pg_receivewal.c:259
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "flusso di log interrotto alle %X/%X (timeline %u)"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "flusso di log interrotto alle %X/%08X (timeline %u)"
 
 #: pg_receivewal.c:275
 #, c-format
-msgid "switched to timeline %u at %X/%X"
-msgstr "passato alla sequenza temporale %u alle %X/%X"
+msgid "switched to timeline %u at %X/%08X"
+msgstr "passato alla sequenza temporale %u alle %X/%08X"
 
 #: pg_receivewal.c:285
 #, c-format
@@ -1312,8 +1312,8 @@ msgstr "impossibile controllare il file \"%s\": compressione con %s non supporta
 
 #: pg_receivewal.c:641
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "avvio del flusso di log alle %X/%X (timeline %u)"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "avvio del flusso di log alle %X/%08X (timeline %u)"
 
 #: pg_receivewal.c:783 pg_recvlogical.c:785
 #, c-format
@@ -1441,8 +1441,8 @@ msgstr "  -d, --dbname=NOMEDB    database a cui connettersi\n"
 
 #: pg_recvlogical.c:137
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "conferma scrittura fino a %X/%X, svuota fino a %X/%X (slot %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "conferma scrittura fino a %X/%08X, svuota fino a %X/%08X (slot %s)"
 
 #: pg_recvlogical.c:161 receivelog.c:366
 #, c-format
@@ -1451,8 +1451,8 @@ msgstr "impossibile inviare il pacchetto di feedback: %s"
 
 #: pg_recvlogical.c:229
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "avvio dello streaming del registro a %X/%X (slot %s)"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "avvio dello streaming del registro a %X/%08X (slot %s)"
 
 #: pg_recvlogical.c:271
 #, c-format
@@ -1552,13 +1552,13 @@ msgstr "non è stato possibile stabilire una connessione di replica specifica de
 
 #: pg_recvlogical.c:1033
 #, c-format
-msgid "end position %X/%X reached by keepalive"
-msgstr "posizione finale %X/%X raggiunta da keepalive"
+msgid "end position %X/%08X reached by keepalive"
+msgstr "posizione finale %X/%08X raggiunta da keepalive"
 
 #: pg_recvlogical.c:1036
 #, c-format
-msgid "end position %X/%X reached by WAL record at %X/%X"
-msgstr "posizione finale %X/%X raggiunta dal record WAL a %X/%X"
+msgid "end position %X/%08X reached by WAL record at %X/%08X"
+msgstr "posizione finale %X/%08X raggiunta dal record WAL a %X/%08X"
 
 #: receivelog.c:68
 #, c-format
@@ -1659,8 +1659,8 @@ msgstr "il server ha segnalato la sequenza temporale successiva inaspettata %u,
 
 #: receivelog.c:638
 #, c-format
-msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgstr "il server ha interrotto lo streaming della sequenza temporale %u alle %X/%X, ma ha segnalato che la sequenza temporale successiva %u inizia alle %X/%X"
+msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgstr "il server ha interrotto lo streaming della sequenza temporale %u alle %X/%08X, ma ha segnalato che la sequenza temporale successiva %u inizia alle %X/%08X"
 
 #: receivelog.c:678
 #, c-format
diff --git a/src/bin/pg_basebackup/po/ja.po b/src/bin/pg_basebackup/po/ja.po
index d85ecc42ae0..508297ca349 100644
--- a/src/bin/pg_basebackup/po/ja.po
+++ b/src/bin/pg_basebackup/po/ja.po
@@ -2099,17 +2099,17 @@ msgstr ""
 
 #: pg_receivewal.c:191
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "%X/%X (タイムライン %u)でセグメントが完了"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "%X/%08X (タイムライン %u)でセグメントが完了"
 
 #: pg_receivewal.c:198
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "%X/%X (タイムライン %u)でログのストリーミングを停止しました"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "%X/%08X (タイムライン %u)でログのストリーミングを停止しました"
 
 #: pg_receivewal.c:214
 #, c-format
-msgid "switched to timeline %u at %X/%X"
+msgid "switched to timeline %u at %X/%08X"
 msgstr "%3$X/%2$Xで タイムライン%1$uに切り替えました"
 
 #: pg_receivewal.c:224 pg_recvlogical.c:1073
@@ -2179,8 +2179,8 @@ msgstr "ファイル\"%s\"の確認ができません: %sによる圧縮はこ
 
 #: pg_receivewal.c:578
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "%X/%X (タイムライン %u)からログのストリーミングを開始"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "%X/%08X (タイムライン %u)からログのストリーミングを開始"
 
 #: pg_receivewal.c:693 pg_recvlogical.c:807
 #, c-format
@@ -2319,8 +2319,8 @@ msgstr "  -d, --dbname=DBNAME    接続先データベース\n"
 
 #: pg_recvlogical.c:146
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "PrecPpg%X/%Xまでの書き込みと、%X/%X (スロット %s）までのフラッシュを確認しています"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "PrecPpg%X/%08Xまでの書き込みと、%X/%08X (スロット %s）までのフラッシュを確認しています"
 
 #: pg_recvlogical.c:170 receivelog.c:359
 #, c-format
@@ -2329,8 +2329,8 @@ msgstr "フィードバックパケットを送信できませんでした: %s"
 
 #: pg_recvlogical.c:240
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "%X/%X (スロット %s)からログのストリーミングを開始します"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "%X/%08X (スロット %s)からログのストリーミングを開始します"
 
 #: pg_recvlogical.c:282
 #, c-format
@@ -2435,13 +2435,13 @@ msgstr "データベース指定のレプリケーション接続が確立でき
 
 #: pg_recvlogical.c:1076
 #, c-format
-msgid "end position %X/%X reached by keepalive"
-msgstr "キープアライブで終了位置 %X/%X に到達しました "
+msgid "end position %X/%08X reached by keepalive"
+msgstr "キープアライブで終了位置 %X/%08X に到達しました "
 
 #: pg_recvlogical.c:1081
 #, c-format
-msgid "end position %X/%X reached by WAL record at %X/%X"
-msgstr "%X/%X のWALレコードで終了位置 %X/%X に到達しました"
+msgid "end position %X/%08X reached by WAL record at %X/%08X"
+msgstr "%X/%08X のWALレコードで終了位置 %X/%08X に到達しました"
 
 #: receivelog.c:65
 #, c-format
@@ -2536,8 +2536,8 @@ msgstr "サーバーがタイムライン%2$uに続いて想定外のタイム
 
 #: receivelog.c:631
 #, c-format
-msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgstr "サーバーはタイムライン%uのストリーミングを%X/%Xで停止しました、しかし次のタイムライン%uが%X/%Xから開始すると通知してきています"
+msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgstr "サーバーはタイムライン%uのストリーミングを%X/%08Xで停止しました、しかし次のタイムライン%uが%X/%08Xから開始すると通知してきています"
 
 #: receivelog.c:671
 #, c-format
diff --git a/src/bin/pg_basebackup/po/ka.po b/src/bin/pg_basebackup/po/ka.po
index b42019dcab6..ef8eb0496d4 100644
--- a/src/bin/pg_basebackup/po/ka.po
+++ b/src/bin/pg_basebackup/po/ka.po
@@ -2085,18 +2085,18 @@ msgstr "      --drop-slot        რეპლიკაციის სლოტ
 
 #: pg_receivewal.c:191
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "სეგმენტის დასრულების მისამართია %X/%X (დროის ხაზი %u)"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "სეგმენტის დასრულების მისამართია %X/%08X (დროის ხაზი %u)"
 
 #: pg_receivewal.c:198
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "ჟურნალის ნაკადი შეჩერდა მისამართზე %X/%X (დროის ხაზი %u)"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "ჟურნალის ნაკადი შეჩერდა მისამართზე %X/%08X (დროის ხაზი %u)"
 
 #: pg_receivewal.c:214
 #, c-format
-msgid "switched to timeline %u at %X/%X"
-msgstr "გადავერთე %u-ე დროის ხაზზე მისამართით %X/%X"
+msgid "switched to timeline %u at %X/%08X"
+msgstr "გადავერთე %u-ე დროის ხაზზე მისამართით %X/%08X"
 
 #: pg_receivewal.c:224 pg_recvlogical.c:1073
 #, c-format
@@ -2165,8 +2165,8 @@ msgstr "ფაილის (%s) შემოწმება შეუძლე
 
 #: pg_receivewal.c:578
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "ჟურნალის ნაკადი დაიწყო მისამართზე %X/%X (დროის ხაზი %u)"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "ჟურნალის ნაკადი დაიწყო მისამართზე %X/%08X (დროის ხაზი %u)"
 
 #: pg_receivewal.c:693 pg_recvlogical.c:807
 #, c-format
@@ -2307,8 +2307,8 @@ msgstr "  -d, --dbname=DBNAME    მისაერთებელი ბაზ
 
 #: pg_recvlogical.c:146
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "ჩაწერის დადასტურება %X/%X-მდე, %X/%X-მდე მოცილება (სლოტი %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "ჩაწერის დადასტურება %X/%08X-მდე, %X/%08X-მდე მოცილება (სლოტი %s)"
 
 #: pg_recvlogical.c:170 receivelog.c:359
 #, c-format
@@ -2317,8 +2317,8 @@ msgstr "უკუკავშირის პაკეტის გაგზა
 
 #: pg_recvlogical.c:240
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "ჟურნალის ნაკადის დაწყება მისამართზე %X/%X (სლოტი %s)"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "ჟურნალის ნაკადის დაწყება მისამართზე %X/%08X (სლოტი %s)"
 
 #: pg_recvlogical.c:282
 #, c-format
@@ -2424,13 +2424,13 @@ msgstr "ბაზაზე-დამოკიდებული რეპლი
 
 #: pg_recvlogical.c:1076
 #, c-format
-msgid "end position %X/%X reached by keepalive"
-msgstr "ბოლო მდებარეობა %X/%X keepalive-ის მიერ მიღწეული"
+msgid "end position %X/%08X reached by keepalive"
+msgstr "ბოლო მდებარეობა %X/%08X keepalive-ის მიერ მიღწეული"
 
 #: pg_recvlogical.c:1081
 #, c-format
-msgid "end position %X/%X reached by WAL record at %X/%X"
-msgstr "ბოლო მდებარეობა %X/%X WAL ჩანაწერის მიერ მიღწეულია მისამართზე %X/%X"
+msgid "end position %X/%08X reached by WAL record at %X/%08X"
+msgstr "ბოლო მდებარეობა %X/%08X WAL ჩანაწერის მიერ მიღწეულია მისამართზე %X/%08X"
 
 #: receivelog.c:65
 #, c-format
@@ -2526,8 +2526,8 @@ msgstr "სერვერის პასუხში მოულოდნე
 
 #: receivelog.c:631
 #, c-format
-msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgstr "სერვერმა შეწყვიტა დროის ხაზის %u ნაკადი მისამართზე %X/%X, მაგრამ მოიწერა, რომ შემდეგი დროის ხაზი %u მისამართზე %X/%X იწყება"
+msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgstr "სერვერმა შეწყვიტა დროის ხაზის %u ნაკადი მისამართზე %X/%08X, მაგრამ მოიწერა, რომ შემდეგი დროის ხაზი %u მისამართზე %X/%08X იწყება"
 
 #: receivelog.c:671
 #, c-format
diff --git a/src/bin/pg_basebackup/po/ko.po b/src/bin/pg_basebackup/po/ko.po
index 08861d1022c..fabecc2b87c 100644
--- a/src/bin/pg_basebackup/po/ko.po
+++ b/src/bin/pg_basebackup/po/ko.po
@@ -2101,18 +2101,18 @@ msgstr ""
 
 #: pg_receivewal.c:191
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "마무리된 세그먼트 위치: %X/%X (타임라인 %u)"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "마무리된 세그먼트 위치: %X/%08X (타임라인 %u)"
 
 #: pg_receivewal.c:198
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "로그 스트리밍 중지된 위치: %X/%X (타임라인 %u)"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "로그 스트리밍 중지된 위치: %X/%08X (타임라인 %u)"
 
 #: pg_receivewal.c:214
 #, c-format
-msgid "switched to timeline %u at %X/%X"
-msgstr "전환됨: 타임라인 %u, 위치 %X/%X"
+msgid "switched to timeline %u at %X/%08X"
+msgstr "전환됨: 타임라인 %u, 위치 %X/%08X"
 
 #: pg_receivewal.c:224 pg_recvlogical.c:1053
 #, c-format
@@ -2184,8 +2184,8 @@ msgstr "\"%s\" 파일 검사 실패: %s 압축을 지원 안하게 빌드되었
 
 #: pg_receivewal.c:578
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "로그 스트리밍 시작 위치: %X/%X (타임라인 %u)"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "로그 스트리밍 시작 위치: %X/%08X (타임라인 %u)"
 
 #: pg_receivewal.c:693 pg_recvlogical.c:801
 #, c-format
@@ -2325,8 +2325,8 @@ msgstr "  -d, --dbname=디비이름  접속할 데이터베이스\n"
 
 #: pg_recvlogical.c:145
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "쓰기 확인 위치: %X/%X, 플러시 위치 %X/%X (슬롯 %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "쓰기 확인 위치: %X/%08X, 플러시 위치 %X/%08X (슬롯 %s)"
 
 #: pg_recvlogical.c:169 receivelog.c:360
 #, c-format
@@ -2335,8 +2335,8 @@ msgstr "피드백 패킷을 보낼 수 없음: %s"
 
 #: pg_recvlogical.c:239
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "로그 스트리밍 시작 함, 위치: %X/%X (슬롯 %s)"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "로그 스트리밍 시작 함, 위치: %X/%08X (슬롯 %s)"
 
 #: pg_recvlogical.c:281
 #, c-format
@@ -2438,13 +2438,13 @@ msgstr "데이터베이스 의존적인 복제 연결을 할 수 없음"
 
 #: pg_recvlogical.c:1056
 #, c-format
-msgid "end position %X/%X reached by keepalive"
-msgstr "keepalive에 의해서 %X/%X 마지막 위치에 도달했음"
+msgid "end position %X/%08X reached by keepalive"
+msgstr "keepalive에 의해서 %X/%08X 마지막 위치에 도달했음"
 
 #: pg_recvlogical.c:1061
 #, c-format
-msgid "end position %X/%X reached by WAL record at %X/%X"
-msgstr "%X/%X 마지막 위치가 WAL 레코드 %X/%X 위치에서 도달했음"
+msgid "end position %X/%08X reached by WAL record at %X/%08X"
+msgstr "%X/%08X 마지막 위치가 WAL 레코드 %X/%08X 위치에서 도달했음"
 
 #: receivelog.c:66
 #, c-format
@@ -2554,11 +2554,11 @@ msgstr "서버가 잘못된 다음 타임라인 번호 %u 보고함, 이전 타
 #: receivelog.c:632
 #, c-format
 msgid ""
-"server stopped streaming timeline %u at %X/%X, but reported next timeline %u "
-"to begin at %X/%X"
+"server stopped streaming timeline %u at %X/%08X, but reported next timeline %u "
+"to begin at %X/%08X"
 msgstr ""
-"서버의 중지 위치: 타임라인 %u, 위치 %X/%X, 하지만 보고 받은 위치: 타임라인 "
-"%u 위치 %X/%X"
+"서버의 중지 위치: 타임라인 %u, 위치 %X/%08X, 하지만 보고 받은 위치: 타임라인 "
+"%u 위치 %X/%08X"
 
 #: receivelog.c:672
 #, c-format
diff --git a/src/bin/pg_basebackup/po/pl.po b/src/bin/pg_basebackup/po/pl.po
index b0e647b9417..8c3f0e3512d 100644
--- a/src/bin/pg_basebackup/po/pl.po
+++ b/src/bin/pg_basebackup/po/pl.po
@@ -849,13 +849,13 @@ msgstr "      --drop-slot        usuwa gniazdo replikacji (nazwa gniazda patrz "
 
 #: pg_receivewal.c:111
 #, c-format
-msgid "%s: finished segment at %X/%X (timeline %u)\n"
-msgstr "%s: zakończono segment na %X/%X (oś czasu %u)\n"
+msgid "%s: finished segment at %X/%08X (timeline %u)\n"
+msgstr "%s: zakończono segment na %X/%08X (oś czasu %u)\n"
 
 #: pg_receivewal.c:124
 #, c-format
-msgid "%s: switched to timeline %u at %X/%X\n"
-msgstr "%s: przełączono na linię czasu %u na %X/%X\n"
+msgid "%s: switched to timeline %u at %X/%08X\n"
+msgstr "%s: przełączono na linię czasu %u na %X/%08X\n"
 
 #: pg_receivewal.c:133
 #, c-format
@@ -895,8 +895,8 @@ msgstr "%s: spakowany plik segmentu \"%s\" ma niepoprawny rozmiar po rozpakowani
 
 #: pg_receivewal.c:407
 #, c-format
-msgid "%s: starting log streaming at %X/%X (timeline %u)\n"
-msgstr "%s: rozpoczęto przesyłanie dziennika na %X/%X (oś czasu %u)\n"
+msgid "%s: starting log streaming at %X/%08X (timeline %u)\n"
+msgstr "%s: rozpoczęto przesyłanie dziennika na %X/%08X (oś czasu %u)\n"
 
 #: pg_receivewal.c:518 pg_recvlogical.c:762
 #, c-format
@@ -1021,8 +1021,8 @@ msgstr "  -d, --dbname=NAZWADB         baza danych do połączenia\n"
 
 #: pg_recvlogical.c:135
 #, c-format
-msgid "%s: confirming write up to %X/%X, flush to %X/%X (slot %s)\n"
-msgstr "%s: potwierdzenie zapisu aż do %X/%X, zrzut do %X/%X (gniazdo %s)\n"
+msgid "%s: confirming write up to %X/%08X, flush to %X/%08X (slot %s)\n"
+msgstr "%s: potwierdzenie zapisu aż do %X/%08X, zrzut do %X/%08X (gniazdo %s)\n"
 
 #: pg_recvlogical.c:160 receivelog.c:345
 #, c-format
@@ -1036,8 +1036,8 @@ msgstr "%s: nie można wykonać fsync na pliku dziennika \"%s\": %s\n"
 
 #: pg_recvlogical.c:238
 #, c-format
-msgid "%s: starting log streaming at %X/%X (slot %s)\n"
-msgstr "%s: rozpoczęto przesyłanie dziennika na %X/%X (gniazdo %s)\n"
+msgid "%s: starting log streaming at %X/%08X (slot %s)\n"
+msgstr "%s: rozpoczęto przesyłanie dziennika na %X/%08X (gniazdo %s)\n"
 
 #: pg_recvlogical.c:280
 #, c-format
@@ -1237,9 +1237,9 @@ msgstr "%s: serwer zgłosił nieoczekiwaną kolejną linię czasu %u, za linią
 
 #: receivelog.c:642
 #, c-format
-msgid "%s: server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X\n"
-msgstr "%s: serwer zakończył przepływ linii czasu %u na %X/%X, ale zgłosił kolejną "
-"linię czasu %u o początku %X/%X\n"
+msgid "%s: server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X\n"
+msgstr "%s: serwer zakończył przepływ linii czasu %u na %X/%08X, ale zgłosił kolejną "
+"linię czasu %u o początku %X/%08X\n"
 
 #: receivelog.c:683
 #, c-format
diff --git a/src/bin/pg_basebackup/po/pt_BR.po b/src/bin/pg_basebackup/po/pt_BR.po
index 60ca723adf3..3fbcd75e492 100644
--- a/src/bin/pg_basebackup/po/pt_BR.po
+++ b/src/bin/pg_basebackup/po/pt_BR.po
@@ -697,13 +697,13 @@ msgstr "      --drop-slot        remove a entrada de replicação (para nome da
 
 #: pg_receivexlog.c:100
 #, c-format
-msgid "%s: finished segment at %X/%X (timeline %u)\n"
-msgstr "%s: terminou o segmento em %X/%X (linha do tempo %u)\n"
+msgid "%s: finished segment at %X/%08X (timeline %u)\n"
+msgstr "%s: terminou o segmento em %X/%08X (linha do tempo %u)\n"
 
 #: pg_receivexlog.c:113
 #, c-format
-msgid "%s: switched to timeline %u at %X/%X\n"
-msgstr "%s: passou para linha do tempo %u em %X/%X\n"
+msgid "%s: switched to timeline %u at %X/%08X\n"
+msgstr "%s: passou para linha do tempo %u em %X/%08X\n"
 
 #: pg_receivexlog.c:122
 #, c-format
@@ -737,8 +737,8 @@ msgstr "%s: não pôde ler diretório \"%s\": %s\n"
 
 #: pg_receivexlog.c:331
 #, c-format
-msgid "%s: starting log streaming at %X/%X (timeline %u)\n"
-msgstr "%s: iniciando fluxo de log em %X/%X (linha do tempo %u)\n"
+msgid "%s: starting log streaming at %X/%08X (timeline %u)\n"
+msgstr "%s: iniciando fluxo de log em %X/%08X (linha do tempo %u)\n"
 
 #: pg_receivexlog.c:420 pg_recvlogical.c:699
 #, c-format
@@ -852,8 +852,8 @@ msgstr "  -d, --dbname=NOMEBD    banco de dados ao qual quer se conectar\n"
 
 #: pg_recvlogical.c:126
 #, c-format
-msgid "%s: confirming write up to %X/%X, flush to %X/%X (slot %s)\n"
-msgstr "%s: confirmando escrita até %X/%X, escrita no disco até %X/%X (entrada %s)\n"
+msgid "%s: confirming write up to %X/%08X, flush to %X/%08X (slot %s)\n"
+msgstr "%s: confirmando escrita até %X/%08X, escrita no disco até %X/%08X (entrada %s)\n"
 
 #: pg_recvlogical.c:151 receivelog.c:415
 #, c-format
@@ -867,8 +867,8 @@ msgstr "%s: não pôde executar fsync no arquivo de log \"%s\": %s\n"
 
 #: pg_recvlogical.c:229
 #, c-format
-msgid "%s: starting log streaming at %X/%X (slot %s)\n"
-msgstr "%s: iniciando fluxo de log em %X/%X (entrada %s)\n"
+msgid "%s: starting log streaming at %X/%08X (slot %s)\n"
+msgstr "%s: iniciando fluxo de log em %X/%08X (entrada %s)\n"
 
 #: pg_recvlogical.c:271
 #, c-format
@@ -1069,8 +1069,8 @@ msgstr "%s: servidor relatou próxima linha do tempo %u inesperada, seguindo lin
 
 #: receivelog.c:695
 #, c-format
-msgid "%s: server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X\n"
-msgstr "%s: servidor parou de enviar linha do tempo %u em %X/%X, mas relatou próxima linha do tempo %u começando em %X/%X\n"
+msgid "%s: server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X\n"
+msgstr "%s: servidor parou de enviar linha do tempo %u em %X/%08X, mas relatou próxima linha do tempo %u começando em %X/%08X\n"
 
 #: receivelog.c:736
 #, c-format
diff --git a/src/bin/pg_basebackup/po/ru.po b/src/bin/pg_basebackup/po/ru.po
index 94912f27c90..25e371308a9 100644
--- a/src/bin/pg_basebackup/po/ru.po
+++ b/src/bin/pg_basebackup/po/ru.po
@@ -2176,18 +2176,18 @@ msgstr ""
 
 #: pg_receivewal.c:191
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "завершён сегмент %X/%X (линия времени %u)"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "завершён сегмент %X/%08X (линия времени %u)"
 
 #: pg_receivewal.c:198
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "завершена передача журнала с позиции %X/%X (линия времени %u)"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "завершена передача журнала с позиции %X/%08X (линия времени %u)"
 
 #: pg_receivewal.c:214
 #, c-format
-msgid "switched to timeline %u at %X/%X"
-msgstr "переключение на линию времени %u (позиция %X/%X)"
+msgid "switched to timeline %u at %X/%08X"
+msgstr "переключение на линию времени %u (позиция %X/%08X)"
 
 #: pg_receivewal.c:224 pg_recvlogical.c:1053
 #, c-format
@@ -2265,8 +2265,8 @@ msgstr ""
 
 #: pg_receivewal.c:578
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "начало передачи журнала с позиции %X/%X (линия времени %u)"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "начало передачи журнала с позиции %X/%08X (линия времени %u)"
 
 #: pg_receivewal.c:693 pg_recvlogical.c:801
 #, c-format
@@ -2415,8 +2415,8 @@ msgstr "  -d, --dbname=ИМЯ_БД    целевая база данных\n"
 
 #: pg_recvlogical.c:145
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "подтверждается запись до %X/%X, синхронизация с ФС до %X/%X (слот %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "подтверждается запись до %X/%08X, синхронизация с ФС до %X/%08X (слот %s)"
 
 #: pg_recvlogical.c:169 receivelog.c:360
 #, c-format
@@ -2425,8 +2425,8 @@ msgstr "не удалось отправить пакет ответа: %s"
 
 #: pg_recvlogical.c:239
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "начало передачи журнала с позиции %X/%X (слот %s)"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "начало передачи журнала с позиции %X/%08X (слот %s)"
 
 #: pg_recvlogical.c:281
 #, c-format
@@ -2527,13 +2527,13 @@ msgstr ""
 
 #: pg_recvlogical.c:1056
 #, c-format
-msgid "end position %X/%X reached by keepalive"
-msgstr "конечная позиция %X/%X достигнута при обработке keepalive"
+msgid "end position %X/%08X reached by keepalive"
+msgstr "конечная позиция %X/%08X достигнута при обработке keepalive"
 
 #: pg_recvlogical.c:1061
 #, c-format
-msgid "end position %X/%X reached by WAL record at %X/%X"
-msgstr "конечная позиция %X/%X достигнута при обработке записи WAL %X/%X"
+msgid "end position %X/%08X reached by WAL record at %X/%08X"
+msgstr "конечная позиция %X/%08X достигнута при обработке записи WAL %X/%08X"
 
 #: receivelog.c:66
 #, c-format
@@ -2650,11 +2650,11 @@ msgstr "сервер неожиданно сообщил линию времен
 #: receivelog.c:632
 #, c-format
 msgid ""
-"server stopped streaming timeline %u at %X/%X, but reported next timeline %u "
-"to begin at %X/%X"
+"server stopped streaming timeline %u at %X/%08X, but reported next timeline %u "
+"to begin at %X/%08X"
 msgstr ""
-"сервер прекратил передачу линии времени %u в %X/%X, но сообщил, что "
-"следующая линии времени %u начнётся в %X/%X"
+"сервер прекратил передачу линии времени %u в %X/%08X, но сообщил, что "
+"следующая линии времени %u начнётся в %X/%08X"
 
 #: receivelog.c:672
 #, c-format
diff --git a/src/bin/pg_basebackup/po/sv.po b/src/bin/pg_basebackup/po/sv.po
index e93dab66b4c..f6a828de38a 100644
--- a/src/bin/pg_basebackup/po/sv.po
+++ b/src/bin/pg_basebackup/po/sv.po
@@ -2011,18 +2011,18 @@ msgstr "      --drop-slot        släng replikeringsslot (angående slot:ens nam
 
 #: pg_receivewal.c:191
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "slutförde segment vid %X/%X (tidslinje %u)"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "slutförde segment vid %X/%08X (tidslinje %u)"
 
 #: pg_receivewal.c:198
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "stoppade logg-strömning vid %X/%X (tidslinje %u)"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "stoppade logg-strömning vid %X/%08X (tidslinje %u)"
 
 #: pg_receivewal.c:214
 #, c-format
-msgid "switched to timeline %u at %X/%X"
-msgstr "bytte till tidslinje %u vid %X/%X"
+msgid "switched to timeline %u at %X/%08X"
+msgstr "bytte till tidslinje %u vid %X/%08X"
 
 #: pg_receivewal.c:224 pg_recvlogical.c:1053
 #, c-format
@@ -2091,8 +2091,8 @@ msgstr "kan inte kontrollera filen \"%s\": komprimering med %s stöds inte av de
 
 #: pg_receivewal.c:578
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "startar logg-strömning vid %X/%X (tidslinje %u)"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "startar logg-strömning vid %X/%08X (tidslinje %u)"
 
 #: pg_receivewal.c:693 pg_recvlogical.c:801
 #, c-format
@@ -2220,8 +2220,8 @@ msgstr "  -d, --dbname=DBNAMN    databas att ansluta till\n"
 
 #: pg_recvlogical.c:145
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "bekräftar skrivning fram till %X/%X, flush till %X/%X (slot %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "bekräftar skrivning fram till %X/%08X, flush till %X/%08X (slot %s)"
 
 #: pg_recvlogical.c:169 receivelog.c:360
 #, c-format
@@ -2230,8 +2230,8 @@ msgstr "kunde inte skicka feedback-paket: %s"
 
 #: pg_recvlogical.c:239
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "startar logg-strömning vid %X/%X (slot %s)"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "startar logg-strömning vid %X/%08X (slot %s)"
 
 #: pg_recvlogical.c:281
 #, c-format
@@ -2331,13 +2331,13 @@ msgstr "kunde inte upprätta databasspecifik replikeringsanslutning"
 
 #: pg_recvlogical.c:1056
 #, c-format
-msgid "end position %X/%X reached by keepalive"
-msgstr "slutposition %X/%X nådd av keepalive"
+msgid "end position %X/%08X reached by keepalive"
+msgstr "slutposition %X/%08X nådd av keepalive"
 
 #: pg_recvlogical.c:1061
 #, c-format
-msgid "end position %X/%X reached by WAL record at %X/%X"
-msgstr "slutposition %X/%X nådd av WAL-post vid %X/%X"
+msgid "end position %X/%08X reached by WAL record at %X/%08X"
+msgstr "slutposition %X/%08X nådd av WAL-post vid %X/%08X"
 
 #: receivelog.c:66
 #, c-format
@@ -2433,8 +2433,8 @@ msgstr "servern rapporterade oväntad nästa tidslinje %u, följer på tidslinje
 
 #: receivelog.c:632
 #, c-format
-msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgstr "servern stoppade strömning av tidslinje %u vid %X/%X men rapporterade nästa tidslinje %u skulle börja vid %X/%X"
+msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgstr "servern stoppade strömning av tidslinje %u vid %X/%08X men rapporterade nästa tidslinje %u skulle börja vid %X/%08X"
 
 #: receivelog.c:672
 #, c-format
diff --git a/src/bin/pg_basebackup/po/tr.po b/src/bin/pg_basebackup/po/tr.po
index 92e0513da04..ba6c1b95715 100644
--- a/src/bin/pg_basebackup/po/tr.po
+++ b/src/bin/pg_basebackup/po/tr.po
@@ -894,17 +894,17 @@ msgstr "      --drop-slot        replikasyon slotunu sil (slotun adı için bkz.
 
 #: pg_receivewal.c:118
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "segment %X/%X de bitirildi (zaman çizelgesi %u)"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "segment %X/%08X de bitirildi (zaman çizelgesi %u)"
 
 #: pg_receivewal.c:125
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "log streaming %X/%X de durduruldu (zaman çizelgesi %u)"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "log streaming %X/%08X de durduruldu (zaman çizelgesi %u)"
 
 #: pg_receivewal.c:141
 #, c-format
-msgid "switched to timeline %u at %X/%X"
+msgid "switched to timeline %u at %X/%08X"
 msgstr "%2$X/%3$X konumunda%1$u zaman çizelgesine geçildi"
 
 #: pg_receivewal.c:151
@@ -949,8 +949,8 @@ msgstr "%s sıkıştırılmış segment dosyasının sıkıştırılmamış boyu
 
 #: pg_receivewal.c:423
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "%X/%X de log streaming başlatılıyor (zaman çizelgesi %u)"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "%X/%08X de log streaming başlatılıyor (zaman çizelgesi %u)"
 
 #: pg_receivewal.c:538 pg_recvlogical.c:738
 #, c-format
@@ -1073,8 +1073,8 @@ msgstr "  -d, --dbname=VERITABANI_ADI    bağlanılacak veritabanı adı\n"
 
 #: pg_recvlogical.c:135
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "%X/%X e kadar yazma, %X/%X'e kadar boşaltma (flush) için onaylama (slot %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "%X/%08X e kadar yazma, %X/%08X'e kadar boşaltma (flush) için onaylama (slot %s)"
 
 #: pg_recvlogical.c:159 receivelog.c:346
 #, c-format
@@ -1083,8 +1083,8 @@ msgstr "geribesleme (feedback) paketi gönderilemedi: %s"
 
 #: pg_recvlogical.c:232
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "%X/%X de log streaming işlemi başlatılıyor (slot %s)"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "%X/%08X de log streaming işlemi başlatılıyor (slot %s)"
 
 #: pg_recvlogical.c:273
 #, c-format
@@ -1183,12 +1183,12 @@ msgstr "veritabanına özel replikasyon bağlantısı kurulamadı"
 
 #: pg_recvlogical.c:1023
 #, c-format
-msgid "endpos %X/%X reached by keepalive"
-msgstr "keepalive tarafından endpos %X/%X'a ulaşıldı"
+msgid "endpos %X/%08X reached by keepalive"
+msgstr "keepalive tarafından endpos %X/%08X'a ulaşıldı"
 
 #: pg_recvlogical.c:1026
 #, c-format
-msgid "endpos %X/%X reached by record at %X/%X"
+msgid "endpos %X/%08X reached by record at %X/%08X"
 msgstr "%3$X/%4$X deki kayıt tarafından endpos %1$X/%2$X'e ulaşıldı"
 
 #: receivelog.c:72
@@ -1289,8 +1289,8 @@ msgstr "sunucu %2$u zaman çizelgesini takiben beklenmedik sonraki zaman çizelg
 
 #: receivelog.c:622
 #, c-format
-msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgstr "sunucu %u streaming zaman çizelgesini %X/%X de durdurdu, fakat sonraki %u zaman çizelgesinin %X/%X de başlayacağını bildirdi"
+msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgstr "sunucu %u streaming zaman çizelgesini %X/%08X de durdurdu, fakat sonraki %u zaman çizelgesinin %X/%08X de başlayacağını bildirdi"
 
 #: receivelog.c:662
 #, c-format
diff --git a/src/bin/pg_basebackup/po/uk.po b/src/bin/pg_basebackup/po/uk.po
index 09cd1a552dd..46fd7e0de56 100644
--- a/src/bin/pg_basebackup/po/uk.po
+++ b/src/bin/pg_basebackup/po/uk.po
@@ -1956,18 +1956,18 @@ msgstr "      --drop-slot        видалити слот реплікації
 
 #: pg_receivewal.c:191
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "завершено сегмент в позиції %X/%X (часова шкала %u)"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "завершено сегмент в позиції %X/%08X (часова шкала %u)"
 
 #: pg_receivewal.c:198
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "зупинено потокове передавання журналу в позиції %X/%X (часова шкала %u)"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "зупинено потокове передавання журналу в позиції %X/%08X (часова шкала %u)"
 
 #: pg_receivewal.c:214
 #, c-format
-msgid "switched to timeline %u at %X/%X"
-msgstr "переключено на часову шкалу %u в позиції %X/%X"
+msgid "switched to timeline %u at %X/%08X"
+msgstr "переключено на часову шкалу %u в позиції %X/%08X"
 
 #: pg_receivewal.c:224 pg_recvlogical.c:1053
 #, c-format
@@ -2036,8 +2036,8 @@ msgstr "неможливо перевірити файл \"%s\": стиснен
 
 #: pg_receivewal.c:578
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "початок потокового передавання журналу в позиції %X/%X (часова шкала %u)"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "початок потокового передавання журналу в позиції %X/%08X (часова шкала %u)"
 
 #: pg_receivewal.c:693 pg_recvlogical.c:801
 #, c-format
@@ -2155,8 +2155,8 @@ msgstr "  -d, --dbname=DBNAME    бази даних для підключенн
 
 #: pg_recvlogical.c:145
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "підтвердження запису до %X/%X, очищення до %X/%X (слот %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "підтвердження запису до %X/%08X, очищення до %X/%08X (слот %s)"
 
 #: pg_recvlogical.c:169 receivelog.c:360
 #, c-format
@@ -2165,8 +2165,8 @@ msgstr "не вдалося відправити пакет зворотньог
 
 #: pg_recvlogical.c:239
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "початок потокового передавання журналу в позиції %X/%X (слот %s)"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "початок потокового передавання журналу в позиції %X/%08X (слот %s)"
 
 #: pg_recvlogical.c:281
 #, c-format
@@ -2266,13 +2266,13 @@ msgstr "не вдалося встановити підключення для 
 
 #: pg_recvlogical.c:1056
 #, c-format
-msgid "end position %X/%X reached by keepalive"
-msgstr "кінцева позиція %X/%X досягнута наживо"
+msgid "end position %X/%08X reached by keepalive"
+msgstr "кінцева позиція %X/%08X досягнута наживо"
 
 #: pg_recvlogical.c:1061
 #, c-format
-msgid "end position %X/%X reached by WAL record at %X/%X"
-msgstr "кінцева позиція %X/%X досягнута WAL записом %X/%X"
+msgid "end position %X/%08X reached by WAL record at %X/%08X"
+msgstr "кінцева позиція %X/%08X досягнута WAL записом %X/%08X"
 
 #: receivelog.c:66
 #, c-format
@@ -2370,8 +2370,8 @@ msgstr "сервер неочікувано повідомив наступну
 
 #: receivelog.c:632
 #, c-format
-msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
-msgstr "сервер зупинив потокове передавання часової шкали %u в позиції %X/%X, але повідомив, що наступна часова шкала %u почнеться в позиції %X/%X"
+msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
+msgstr "сервер зупинив потокове передавання часової шкали %u в позиції %X/%08X, але повідомив, що наступна часова шкала %u почнеться в позиції %X/%08X"
 
 #: receivelog.c:672
 #, c-format
diff --git a/src/bin/pg_basebackup/po/vi.po b/src/bin/pg_basebackup/po/vi.po
index 19fcce3c253..1bb507c6ad4 100644
--- a/src/bin/pg_basebackup/po/vi.po
+++ b/src/bin/pg_basebackup/po/vi.po
@@ -926,18 +926,18 @@ msgstr ""
 
 #: pg_receivewal.c:116
 #, c-format
-msgid "%s: finished segment at %X/%X (timeline %u)\n"
-msgstr "%s: kết thúc phân đoạn tại %X/%X (timeline %u)\n"
+msgid "%s: finished segment at %X/%08X (timeline %u)\n"
+msgstr "%s: kết thúc phân đoạn tại %X/%08X (timeline %u)\n"
 
 #: pg_receivewal.c:123
 #, c-format
-msgid "%s: stopped streaming at %X/%X (timeline %u)\n"
-msgstr "%s: kết thúc truyền tại %X/%X (timeline %u)\n"
+msgid "%s: stopped streaming at %X/%08X (timeline %u)\n"
+msgstr "%s: kết thúc truyền tại %X/%08X (timeline %u)\n"
 
 #: pg_receivewal.c:139
 #, c-format
-msgid "%s: switched to timeline %u at %X/%X\n"
-msgstr "%s: chuyển qua timeline %u tại %X/%X\n"
+msgid "%s: switched to timeline %u at %X/%08X\n"
+msgstr "%s: chuyển qua timeline %u tại %X/%08X\n"
 
 #: pg_receivewal.c:149
 #, c-format
@@ -979,8 +979,8 @@ msgstr ""
 
 #: pg_receivewal.c:423
 #, c-format
-msgid "%s: starting log streaming at %X/%X (timeline %u)\n"
-msgstr "%s: bắt đầu truyền log tại %X/%X (timeline %u)\n"
+msgid "%s: starting log streaming at %X/%08X (timeline %u)\n"
+msgstr "%s: bắt đầu truyền log tại %X/%08X (timeline %u)\n"
 
 #: pg_receivewal.c:538 pg_recvlogical.c:763
 #, c-format
@@ -1117,8 +1117,8 @@ msgstr "  -d, --dbname=DBNAME    cở sở dữ liệu kết nối tới\n"
 
 #: pg_recvlogical.c:136
 #, c-format
-msgid "%s: confirming write up to %X/%X, flush to %X/%X (slot %s)\n"
-msgstr "%s: xác nhận ghi đến %X/%X, flush đến %X/%X (slot %s)\n"
+msgid "%s: confirming write up to %X/%08X, flush to %X/%08X (slot %s)\n"
+msgstr "%s: xác nhận ghi đến %X/%08X, flush đến %X/%08X (slot %s)\n"
 
 #: pg_recvlogical.c:161 receivelog.c:352
 #, c-format
@@ -1132,7 +1132,7 @@ msgstr "%s: không thể fsync tệp log \"%s\": %s\n"
 
 #: pg_recvlogical.c:239
 #, c-format
-msgid "%s: starting log streaming at %X/%X (slot %s)\n"
+msgid "%s: starting log streaming at %X/%08X (slot %s)\n"
 msgstr "%s: bắt đầu truyền log ở %X /%X (slot %s)\n"
 
 #: pg_recvlogical.c:281
@@ -1351,11 +1351,11 @@ msgstr ""
 #: receivelog.c:638
 #, c-format
 msgid ""
-"%s: server stopped streaming timeline %u at %X/%X, but reported next "
-"timeline %u to begin at %X/%X\n"
+"%s: server stopped streaming timeline %u at %X/%08X, but reported next "
+"timeline %u to begin at %X/%08X\n"
 msgstr ""
-"%s: server ngừng phát timeline %u ở %X/%X, nhưng đã báo cáo timeline tiếp "
-"theo %u để bắt đầu ở %X/%X\n"
+"%s: server ngừng phát timeline %u ở %X/%08X, nhưng đã báo cáo timeline tiếp "
+"theo %u để bắt đầu ở %X/%08X\n"
 "\n"
 
 #: receivelog.c:680
diff --git a/src/bin/pg_basebackup/po/zh_CN.po b/src/bin/pg_basebackup/po/zh_CN.po
index 8583ac20b62..42cf151ad8f 100644
--- a/src/bin/pg_basebackup/po/zh_CN.po
+++ b/src/bin/pg_basebackup/po/zh_CN.po
@@ -892,18 +892,18 @@ msgstr "      --drop-slot        删除复制槽 (槽名请参考选项 --slot)\
 
 #: pg_receivewal.c:118
 #, c-format
-msgid "finished segment at %X/%X (timeline %u)"
-msgstr "在 %X/%X (时间线 %u)处完成段"
+msgid "finished segment at %X/%08X (timeline %u)"
+msgstr "在 %X/%08X (时间线 %u)处完成段"
 
 #: pg_receivewal.c:125
 #, c-format
-msgid "stopped log streaming at %X/%X (timeline %u)"
-msgstr "在时间点: %X/%X (时间线%u)停止日志的流操作"
+msgid "stopped log streaming at %X/%08X (timeline %u)"
+msgstr "在时间点: %X/%08X (时间线%u)停止日志的流操作"
 
 #: pg_receivewal.c:141
 #, c-format
-msgid "switched to timeline %u at %X/%X"
-msgstr "切换到时间表 %u 在 %X/%X"
+msgid "switched to timeline %u at %X/%08X"
+msgstr "切换到时间表 %u 在 %X/%08X"
 
 #: pg_receivewal.c:151
 #, c-format
@@ -947,8 +947,8 @@ msgstr "压缩的段文件\"%s\"未压缩大小值: %d不正确, 跳过"
 
 #: pg_receivewal.c:423
 #, c-format
-msgid "starting log streaming at %X/%X (timeline %u)"
-msgstr "在时间点: %X/%X (时间线%u)启动日志的流操作"
+msgid "starting log streaming at %X/%08X (timeline %u)"
+msgstr "在时间点: %X/%08X (时间线%u)启动日志的流操作"
 
 #: pg_receivewal.c:538 pg_recvlogical.c:738
 #, c-format
@@ -1071,8 +1071,8 @@ msgstr "  -d, --dbname=DBNAME    要连接的目标数据库\n"
 
 #: pg_recvlogical.c:135
 #, c-format
-msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)"
-msgstr "确认上写至%X/%X, 并刷写回至 %X/%X (槽 %s)"
+msgid "confirming write up to %X/%08X, flush to %X/%08X (slot %s)"
+msgstr "确认上写至%X/%08X, 并刷写回至 %X/%08X (槽 %s)"
 
 #: pg_recvlogical.c:159 receivelog.c:346
 #, c-format
@@ -1081,8 +1081,8 @@ msgstr "无法发送回馈包: %s"
 
 #: pg_recvlogical.c:232
 #, c-format
-msgid "starting log streaming at %X/%X (slot %s)"
-msgstr "在%X/%X (槽 %s)位置启动日志流"
+msgid "starting log streaming at %X/%08X (slot %s)"
+msgstr "在%X/%08X (槽 %s)位置启动日志流"
 
 #: pg_recvlogical.c:273
 #, c-format
@@ -1182,13 +1182,13 @@ msgstr "无法建立数据库相关的复制连接"
 
 #: pg_recvlogical.c:1023
 #, c-format
-msgid "endpos %X/%X reached by keepalive"
-msgstr "keepalive已到达endpos %X/%X"
+msgid "endpos %X/%08X reached by keepalive"
+msgstr "keepalive已到达endpos %X/%08X"
 
 #: pg_recvlogical.c:1026
 #, c-format
-msgid "endpos %X/%X reached by record at %X/%X"
-msgstr "记录在%X/%X到达了endpos %X/%X"
+msgid "endpos %X/%08X reached by record at %X/%08X"
+msgstr "记录在%X/%08X到达了endpos %X/%08X"
 
 #: receivelog.c:72
 #, c-format
@@ -1289,7 +1289,7 @@ msgstr "服务器报出的下次意外时间表 %u, 紧跟时间表 %u之后"
 
 #: receivelog.c:622
 #, c-format
-msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X"
+msgid "server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X"
 msgstr "服务器在%2$X/%3$X时停止流操作时间表%1$u, 但是报出将在%5$X/%6$X时开始下一个时间表%4$u"
 
 #: receivelog.c:662
diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c
index 6b6e32dfbdf..d6b7f117fa3 100644
--- a/src/bin/pg_basebackup/receivelog.c
+++ b/src/bin/pg_basebackup/receivelog.c
@@ -571,7 +571,7 @@ ReceiveXlogStream(PGconn *conn, StreamCtl *stream)
 			return true;
 
 		/* Initiate the replication stream at specified location */
-		snprintf(query, sizeof(query), "START_REPLICATION %s%X/%X TIMELINE %u",
+		snprintf(query, sizeof(query), "START_REPLICATION %s%X/%08X TIMELINE %u",
 				 slotcmd,
 				 LSN_FORMAT_ARGS(stream->startpos),
 				 stream->timeline);
@@ -628,7 +628,7 @@ ReceiveXlogStream(PGconn *conn, StreamCtl *stream)
 			}
 			if (stream->startpos > stoppos)
 			{
-				pg_log_error("server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X",
+				pg_log_error("server stopped streaming timeline %u at %X/%08X, but reported next timeline %u to begin at %X/%08X",
 							 stream->timeline, LSN_FORMAT_ARGS(stoppos),
 							 newtimeline, LSN_FORMAT_ARGS(stream->startpos));
 				goto error;
@@ -720,7 +720,7 @@ ReadEndOfStreamingResult(PGresult *res, XLogRecPtr *startpos, uint32 *timeline)
 	}
 
 	*timeline = atoi(PQgetvalue(res, 0, 0));
-	if (sscanf(PQgetvalue(res, 0, 1), "%X/%X", &startpos_xlogid,
+	if (sscanf(PQgetvalue(res, 0, 1), "%X/%08X", &startpos_xlogid,
 			   &startpos_xrecoff) != 2)
 	{
 		pg_log_error("could not parse next timeline's starting point \"%s\"",
diff --git a/src/bin/pg_basebackup/streamutil.c b/src/bin/pg_basebackup/streamutil.c
index c7b8a4c3a4b..e5a7cb6e5b1 100644
--- a/src/bin/pg_basebackup/streamutil.c
+++ b/src/bin/pg_basebackup/streamutil.c
@@ -445,7 +445,7 @@ RunIdentifySystem(PGconn *conn, char **sysid, TimeLineID *starttli,
 	/* Get LSN start position if necessary */
 	if (startpos != NULL)
 	{
-		if (sscanf(PQgetvalue(res, 0, 2), "%X/%X", &hi, &lo) != 2)
+		if (sscanf(PQgetvalue(res, 0, 2), "%X/%08X", &hi, &lo) != 2)
 		{
 			pg_log_error("could not parse write-ahead log location \"%s\"",
 						 PQgetvalue(res, 0, 2));
@@ -551,7 +551,7 @@ GetSlotInformation(PGconn *conn, const char *slot_name,
 		uint32		hi,
 					lo;
 
-		if (sscanf(PQgetvalue(res, 0, 1), "%X/%X", &hi, &lo) != 2)
+		if (sscanf(PQgetvalue(res, 0, 1), "%X/%08X", &hi, &lo) != 2)
 		{
 			pg_log_error("could not parse restart_lsn \"%s\" for replication slot \"%s\"",
 						 PQgetvalue(res, 0, 1), slot_name);
diff --git a/src/bin/pg_combinebackup/backup_label.c b/src/bin/pg_combinebackup/backup_label.c
index e89d4603f09..e774bc78a62 100644
--- a/src/bin/pg_combinebackup/backup_label.c
+++ b/src/bin/pg_combinebackup/backup_label.c
@@ -247,7 +247,7 @@ parse_lsn(char *s, char *e, XLogRecPtr *lsn, char **c)
 	unsigned	lo;
 
 	*e = '\0';
-	success = (sscanf(s, "%X/%X%n", &hi, &lo, &nchars) == 2);
+	success = (sscanf(s, "%X/%08X%n", &hi, &lo, &nchars) == 2);
 	*e = save;
 
 	if (success)
diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c
index 28e58cd8ef4..f5cef99f627 100644
--- a/src/bin/pg_combinebackup/pg_combinebackup.c
+++ b/src/bin/pg_combinebackup/pg_combinebackup.c
@@ -569,7 +569,7 @@ check_backup_label_files(int n_backups, char **backup_dirs)
 			pg_fatal("backup at \"%s\" starts on timeline %u, but expected %u",
 					 backup_dirs[i], start_tli, check_tli);
 		if (i < n_backups - 1 && start_lsn != check_lsn)
-			pg_fatal("backup at \"%s\" starts at LSN %X/%X, but expected %X/%X",
+			pg_fatal("backup at \"%s\" starts at LSN %X/%08X, but expected %X/%08X",
 					 backup_dirs[i],
 					 LSN_FORMAT_ARGS(start_lsn),
 					 LSN_FORMAT_ARGS(check_lsn));
diff --git a/src/bin/pg_combinebackup/po/de.po b/src/bin/pg_combinebackup/po/de.po
index 7b7966539b9..99ba1423cf8 100644
--- a/src/bin/pg_combinebackup/po/de.po
+++ b/src/bin/pg_combinebackup/po/de.po
@@ -636,8 +636,8 @@ msgstr "Backup in »%s« startet auf Zeitleiste %u, aber %u wurde erwartet"
 
 #: pg_combinebackup.c:572
 #, c-format
-msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X"
-msgstr "Backup in »%s« startet bei LSN %X/%X, aber %X/%X wurde erwartet"
+msgid "backup at \"%s\" starts at LSN %X/%08X, but expected %X/%08X"
+msgstr "Backup in »%s« startet bei LSN %X/%08X, aber %X/%08X wurde erwartet"
 
 #: pg_combinebackup.c:624
 #, c-format
diff --git a/src/bin/pg_combinebackup/po/es.po b/src/bin/pg_combinebackup/po/es.po
index 850ef3dde2a..f43f48a56b0 100644
--- a/src/bin/pg_combinebackup/po/es.po
+++ b/src/bin/pg_combinebackup/po/es.po
@@ -626,8 +626,8 @@ msgstr "el backup en «%s» empieza en el timeline %u, pero se esperaba %u"
 
 #: pg_combinebackup.c:562
 #, c-format
-msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X"
-msgstr "el backup en «%s» empieza en el LSN %X/%X, pero se esperaba %X/%X"
+msgid "backup at \"%s\" starts at LSN %X/%08X, but expected %X/%08X"
+msgstr "el backup en «%s» empieza en el LSN %X/%08X, pero se esperaba %X/%08X"
 
 #: pg_combinebackup.c:614
 #, c-format
diff --git a/src/bin/pg_combinebackup/po/fr.po b/src/bin/pg_combinebackup/po/fr.po
index aa8b0f4ea61..93046a4bf1f 100644
--- a/src/bin/pg_combinebackup/po/fr.po
+++ b/src/bin/pg_combinebackup/po/fr.po
@@ -624,8 +624,8 @@ msgstr "la sauvegarde à « %s » commence à la timeline %u, mais attendait %u"
 
 #: pg_combinebackup.c:562
 #, c-format
-msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X"
-msgstr "la sauvegarde à « %s » commence au LSN %X/%X, mais s'attendait à %X/%X"
+msgid "backup at \"%s\" starts at LSN %X/%08X, but expected %X/%08X"
+msgstr "la sauvegarde à « %s » commence au LSN %X/%08X, mais s'attendait à %X/%08X"
 
 #: pg_combinebackup.c:614
 #, c-format
diff --git a/src/bin/pg_combinebackup/po/ja.po b/src/bin/pg_combinebackup/po/ja.po
index 627c4213b24..9c0c47a3e97 100644
--- a/src/bin/pg_combinebackup/po/ja.po
+++ b/src/bin/pg_combinebackup/po/ja.po
@@ -637,8 +637,8 @@ msgstr "\"%s\"のバックアップはタイムライン%uで始まっていま
 
 #: pg_combinebackup.c:571
 #, c-format
-msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X"
-msgstr "\"%s\"のバックアップはLSN %X/%Xで始まっていますが、%X/%Xを期待していました"
+msgid "backup at \"%s\" starts at LSN %X/%08X, but expected %X/%08X"
+msgstr "\"%s\"のバックアップはLSN %X/%08Xで始まっていますが、%X/%08Xを期待していました"
 
 #: pg_combinebackup.c:623
 #, c-format
diff --git a/src/bin/pg_combinebackup/po/ka.po b/src/bin/pg_combinebackup/po/ka.po
index 9aa8952078c..d69bc7fbc0f 100644
--- a/src/bin/pg_combinebackup/po/ka.po
+++ b/src/bin/pg_combinebackup/po/ka.po
@@ -636,8 +636,8 @@ msgstr "მარქაფი მისამართზე \"%s\" იწყე
 
 #: pg_combinebackup.c:572
 #, c-format
-msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X"
-msgstr "მარქაფი მისამართზე \"%s\" იწყება LSN-თან %X/%X, მაგრამ მოველოდი მნიშვნელობას %X/%X"
+msgid "backup at \"%s\" starts at LSN %X/%08X, but expected %X/%08X"
+msgstr "მარქაფი მისამართზე \"%s\" იწყება LSN-თან %X/%08X, მაგრამ მოველოდი მნიშვნელობას %X/%08X"
 
 #: pg_combinebackup.c:624
 #, c-format
diff --git a/src/bin/pg_combinebackup/po/ko.po b/src/bin/pg_combinebackup/po/ko.po
index e6d9629b170..339c1498fc7 100644
--- a/src/bin/pg_combinebackup/po/ko.po
+++ b/src/bin/pg_combinebackup/po/ko.po
@@ -636,8 +636,8 @@ msgstr "\"%s\"의 백업은 타임라인 %u번으로 시작하지만, 기대번
 
 #: pg_combinebackup.c:562
 #, c-format
-msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X"
-msgstr "\"%s\"의 백업은 시작 LSN이 %X/%X이지만, 기대 LSN은 %X/%X임"
+msgid "backup at \"%s\" starts at LSN %X/%08X, but expected %X/%08X"
+msgstr "\"%s\"의 백업은 시작 LSN이 %X/%08X이지만, 기대 LSN은 %X/%08X임"
 
 #: pg_combinebackup.c:614
 #, c-format
diff --git a/src/bin/pg_combinebackup/po/ru.po b/src/bin/pg_combinebackup/po/ru.po
index 5c2af7387c3..8131e0ed9a4 100644
--- a/src/bin/pg_combinebackup/po/ru.po
+++ b/src/bin/pg_combinebackup/po/ru.po
@@ -650,8 +650,8 @@ msgstr "копия в \"%s\" начинается с линии времени %
 
 #: pg_combinebackup.c:562
 #, c-format
-msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X"
-msgstr "копия в \"%s\" начинается с LSN %X/%X, а ожидался %X/%X"
+msgid "backup at \"%s\" starts at LSN %X/%08X, but expected %X/%08X"
+msgstr "копия в \"%s\" начинается с LSN %X/%08X, а ожидался %X/%08X"
 
 #: pg_combinebackup.c:614
 #, c-format
diff --git a/src/bin/pg_combinebackup/po/sv.po b/src/bin/pg_combinebackup/po/sv.po
index 06327f49fe9..1de4628bc18 100644
--- a/src/bin/pg_combinebackup/po/sv.po
+++ b/src/bin/pg_combinebackup/po/sv.po
@@ -622,8 +622,8 @@ msgstr "backup:en vid \"%s\" startar på tidslinjen %u men det förväntades var
 
 #: pg_combinebackup.c:562
 #, c-format
-msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X"
-msgstr "backup:eb vid \"%s\" startar vid LSN %X/%X men förväntades vare %X/%X"
+msgid "backup at \"%s\" starts at LSN %X/%08X, but expected %X/%08X"
+msgstr "backup:eb vid \"%s\" startar vid LSN %X/%08X men förväntades vare %X/%08X"
 
 #: pg_combinebackup.c:614
 #, c-format
diff --git a/src/bin/pg_combinebackup/po/uk.po b/src/bin/pg_combinebackup/po/uk.po
index 51e19b62206..abd54adcae8 100644
--- a/src/bin/pg_combinebackup/po/uk.po
+++ b/src/bin/pg_combinebackup/po/uk.po
@@ -618,8 +618,8 @@ msgstr "резервне копіювання на \"%s\" починається
 
 #: pg_combinebackup.c:562
 #, c-format
-msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X"
-msgstr "резервне копіювання на \"%s\" починається з LSN %X/%X, але очікується %X/%X"
+msgid "backup at \"%s\" starts at LSN %X/%08X, but expected %X/%08X"
+msgstr "резервне копіювання на \"%s\" починається з LSN %X/%08X, але очікується %X/%08X"
 
 #: pg_combinebackup.c:614
 #, c-format
diff --git a/src/bin/pg_combinebackup/write_manifest.c b/src/bin/pg_combinebackup/write_manifest.c
index 313f8929df5..819a3fd0b7a 100644
--- a/src/bin/pg_combinebackup/write_manifest.c
+++ b/src/bin/pg_combinebackup/write_manifest.c
@@ -155,7 +155,7 @@ finalize_manifest(manifest_writer *mwriter,
 	for (wal_range = first_wal_range; wal_range != NULL;
 		 wal_range = wal_range->next)
 		appendStringInfo(&mwriter->buf,
-						 "%s{ \"Timeline\": %u, \"Start-LSN\": \"%X/%X\", \"End-LSN\": \"%X/%X\" }",
+						 "%s{ \"Timeline\": %u, \"Start-LSN\": \"%X/%08X\", \"End-LSN\": \"%X/%08X\" }",
 						 wal_range == first_wal_range ? "" : ",\n",
 						 wal_range->tli,
 						 LSN_FORMAT_ARGS(wal_range->start_lsn),
diff --git a/src/bin/pg_controldata/pg_controldata.c b/src/bin/pg_controldata/pg_controldata.c
index 7bb801bb886..10de058ce91 100644
--- a/src/bin/pg_controldata/pg_controldata.c
+++ b/src/bin/pg_controldata/pg_controldata.c
@@ -245,9 +245,9 @@ main(int argc, char *argv[])
 		   dbState(ControlFile->state));
 	printf(_("pg_control last modified:             %s\n"),
 		   pgctime_str);
-	printf(_("Latest checkpoint location:           %X/%X\n"),
+	printf(_("Latest checkpoint location:           %X/%08X\n"),
 		   LSN_FORMAT_ARGS(ControlFile->checkPoint));
-	printf(_("Latest checkpoint's REDO location:    %X/%X\n"),
+	printf(_("Latest checkpoint's REDO location:    %X/%08X\n"),
 		   LSN_FORMAT_ARGS(ControlFile->checkPointCopy.redo));
 	printf(_("Latest checkpoint's REDO WAL file:    %s\n"),
 		   xlogfilename);
@@ -282,15 +282,15 @@ main(int argc, char *argv[])
 		   ControlFile->checkPointCopy.newestCommitTsXid);
 	printf(_("Time of latest checkpoint:            %s\n"),
 		   ckpttime_str);
-	printf(_("Fake LSN counter for unlogged rels:   %X/%X\n"),
+	printf(_("Fake LSN counter for unlogged rels:   %X/%08X\n"),
 		   LSN_FORMAT_ARGS(ControlFile->unloggedLSN));
-	printf(_("Minimum recovery ending location:     %X/%X\n"),
+	printf(_("Minimum recovery ending location:     %X/%08X\n"),
 		   LSN_FORMAT_ARGS(ControlFile->minRecoveryPoint));
 	printf(_("Min recovery ending loc's timeline:   %u\n"),
 		   ControlFile->minRecoveryPointTLI);
-	printf(_("Backup start location:                %X/%X\n"),
+	printf(_("Backup start location:                %X/%08X\n"),
 		   LSN_FORMAT_ARGS(ControlFile->backupStartPoint));
-	printf(_("Backup end location:                  %X/%X\n"),
+	printf(_("Backup end location:                  %X/%08X\n"),
 		   LSN_FORMAT_ARGS(ControlFile->backupEndPoint));
 	printf(_("End-of-backup record required:        %s\n"),
 		   ControlFile->backupEndRequired ? _("yes") : _("no"));
diff --git a/src/bin/pg_controldata/po/cs.po b/src/bin/pg_controldata/po/cs.po
index 165b7d134a0..40a1a79e3df 100644
--- a/src/bin/pg_controldata/po/cs.po
+++ b/src/bin/pg_controldata/po/cs.po
@@ -271,13 +271,13 @@ msgstr "Poslední modifikace pg_control:            %s\n"
 
 #: pg_controldata.c:238
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "Poslední umístění checkpointu:             %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "Poslední umístění checkpointu:             %X/%08X\n"
 
 #: pg_controldata.c:241
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "Poslední umístění REDO checkpointu:        %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "Poslední umístění REDO checkpointu:        %X/%08X\n"
 
 #: pg_controldata.c:244
 #, c-format
@@ -369,13 +369,13 @@ msgstr "Čas posledního checkpointu:                %s\n"
 
 #: pg_controldata.c:277
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Falešné LSN počítadlo pro unlogged relace: %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Falešné LSN počítadlo pro unlogged relace: %X/%08X\n"
 
 #: pg_controldata.c:280
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Minimální pozice ukončení obnovy:          %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Minimální pozice ukončení obnovy:          %X/%08X\n"
 
 #: pg_controldata.c:283
 #, c-format
@@ -384,13 +384,13 @@ msgstr "Timeline minimální pozice ukončení obnovy: %u\n"
 
 #: pg_controldata.c:285
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Pozice počátku backupu:                    %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Pozice počátku backupu:                    %X/%08X\n"
 
 #: pg_controldata.c:288
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Koncová pozice zálohy:                     %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Koncová pozice zálohy:                     %X/%08X\n"
 
 #: pg_controldata.c:291
 #, c-format
diff --git a/src/bin/pg_controldata/po/de.po b/src/bin/pg_controldata/po/de.po
index d1ec166e892..5c10bf1bccc 100644
--- a/src/bin/pg_controldata/po/de.po
+++ b/src/bin/pg_controldata/po/de.po
@@ -256,13 +256,13 @@ msgstr "pg_control zuletzt geändert:                 %s\n"
 
 #: pg_controldata.c:237
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "Position des letzten Checkpoints:            %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "Position des letzten Checkpoints:            %X/%08X\n"
 
 #: pg_controldata.c:239
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "REDO-Position des letzten Checkpoints:       %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "REDO-Position des letzten Checkpoints:       %X/%08X\n"
 
 #: pg_controldata.c:241
 #, c-format
@@ -354,13 +354,13 @@ msgstr "Zeit des letzten Checkpoints:                %s\n"
 
 #: pg_controldata.c:274
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Fake-LSN-Zähler für ungeloggte Relationen:   %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Fake-LSN-Zähler für ungeloggte Relationen:   %X/%08X\n"
 
 #: pg_controldata.c:276
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Minimaler Wiederherstellungsendpunkt:        %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Minimaler Wiederherstellungsendpunkt:        %X/%08X\n"
 
 #: pg_controldata.c:278
 #, c-format
@@ -369,13 +369,13 @@ msgstr "Zeitleiste des minimalen Wiederherstellungsendpunkts: %u\n"
 
 #: pg_controldata.c:280
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Backup-Startpunkt:                           %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Backup-Startpunkt:                           %X/%08X\n"
 
 #: pg_controldata.c:282
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Backup-Endpunkt:                             %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Backup-Endpunkt:                             %X/%08X\n"
 
 #: pg_controldata.c:284
 #, c-format
diff --git a/src/bin/pg_controldata/po/el.po b/src/bin/pg_controldata/po/el.po
index f08b70fecb8..6f5c8f495e7 100644
--- a/src/bin/pg_controldata/po/el.po
+++ b/src/bin/pg_controldata/po/el.po
@@ -269,13 +269,13 @@ msgstr "πιο πρόσφατη μετατροπή pg_control:                 %
 
 #: pg_controldata.c:238
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "Πιο πρόσφατη τοποθεσία σημείου ελέγχου:            %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "Πιο πρόσφατη τοποθεσία σημείου ελέγχου:            %X/%08X\n"
 
 #: pg_controldata.c:240
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "Πιο πρόσφατη τοποθεσία REDO του σημείου ελέγχου:   %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "Πιο πρόσφατη τοποθεσία REDO του σημείου ελέγχου:   %X/%08X\n"
 
 #: pg_controldata.c:242
 #, c-format
@@ -367,13 +367,13 @@ msgstr "Ώρα του πιο πρόσφατου σημείου ελέγχου:
 
 #: pg_controldata.c:275
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Ψεύτικος μετρητής LSN για μη κενές rels:           %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Ψεύτικος μετρητής LSN για μη κενές rels:           %X/%08X\n"
 
 #: pg_controldata.c:277
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Ελάχιστη τοποθεσία τερματισμού ανάκαμψης:          %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Ελάχιστη τοποθεσία τερματισμού ανάκαμψης:          %X/%08X\n"
 
 #: pg_controldata.c:279
 #, c-format
@@ -382,13 +382,13 @@ msgstr "Χρονογραμμή ελάχιστης θέσης τερματισμ
 
 #: pg_controldata.c:281
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Τοποθεσία εκκίνησης Backup:                        %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Τοποθεσία εκκίνησης Backup:                        %X/%08X\n"
 
 #: pg_controldata.c:283
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Τοποθεσία τερματισμου Backup:                      %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Τοποθεσία τερματισμου Backup:                      %X/%08X\n"
 
 #: pg_controldata.c:285
 #, c-format
diff --git a/src/bin/pg_controldata/po/es.po b/src/bin/pg_controldata/po/es.po
index 79a931a21b2..0788b2cd0bc 100644
--- a/src/bin/pg_controldata/po/es.po
+++ b/src/bin/pg_controldata/po/es.po
@@ -262,13 +262,13 @@ msgstr "Última modificación de pg_control:          %s\n"
 
 #: pg_controldata.c:248
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "Ubicación del último checkpoint:            %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "Ubicación del último checkpoint:            %X/%08X\n"
 
 #: pg_controldata.c:250
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "Ubicación de REDO de último checkpoint:     %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "Ubicación de REDO de último checkpoint:     %X/%08X\n"
 
 #: pg_controldata.c:252
 #, c-format
@@ -360,13 +360,13 @@ msgstr "Instante de último checkpoint:              %s\n"
 
 #: pg_controldata.c:285
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Contador de LSN falsas para rels. unlogged: %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Contador de LSN falsas para rels. unlogged: %X/%08X\n"
 
 #: pg_controldata.c:287
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Punto final mínimo de recuperación:         %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Punto final mínimo de recuperación:         %X/%08X\n"
 
 #: pg_controldata.c:289
 #, c-format
@@ -375,13 +375,13 @@ msgstr "Timeline de dicho punto final mínimo:       %u\n"
 
 #: pg_controldata.c:291
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Ubicación del inicio de backup:             %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Ubicación del inicio de backup:             %X/%08X\n"
 
 #: pg_controldata.c:293
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Ubicación del fin de backup:                %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Ubicación del fin de backup:                %X/%08X\n"
 
 #: pg_controldata.c:295
 #, c-format
diff --git a/src/bin/pg_controldata/po/fr.po b/src/bin/pg_controldata/po/fr.po
index 1c94ff051b7..5f280b4af78 100644
--- a/src/bin/pg_controldata/po/fr.po
+++ b/src/bin/pg_controldata/po/fr.po
@@ -263,13 +263,13 @@ msgstr "Dernière modification de pg_control :                   %s\n"
 
 #: pg_controldata.c:237
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "Dernier point de contrôle :                             %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "Dernier point de contrôle :                             %X/%08X\n"
 
 #: pg_controldata.c:239
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "Dernier REDO (reprise) du point de contrôle :           %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "Dernier REDO (reprise) du point de contrôle :           %X/%08X\n"
 
 #: pg_controldata.c:241
 #, c-format
@@ -361,13 +361,13 @@ msgstr "Heure du dernier point de contrôle :                    %s\n"
 
 #: pg_controldata.c:274
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Faux compteur LSN pour les relations non journalisés :  %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Faux compteur LSN pour les relations non journalisés :  %X/%08X\n"
 
 #: pg_controldata.c:276
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Emplacement de fin de la récupération minimale :        %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Emplacement de fin de la récupération minimale :        %X/%08X\n"
 
 #: pg_controldata.c:278
 #, c-format
@@ -376,13 +376,13 @@ msgstr "Timeline de l'emplacement de fin de restauration :      %u\n"
 
 #: pg_controldata.c:280
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Début de la sauvegarde :                                %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Début de la sauvegarde :                                %X/%08X\n"
 
 #: pg_controldata.c:282
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Fin de la sauvegarde :                                  %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Fin de la sauvegarde :                                  %X/%08X\n"
 
 #: pg_controldata.c:284
 #, c-format
diff --git a/src/bin/pg_controldata/po/it.po b/src/bin/pg_controldata/po/it.po
index cc35f9609e9..15e6003aa99 100644
--- a/src/bin/pg_controldata/po/it.po
+++ b/src/bin/pg_controldata/po/it.po
@@ -280,13 +280,13 @@ msgstr "ultima modifica a pg_control:               %s\n"
 
 #: pg_controldata.c:238
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "Ultima posizione del checkpoint:            %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "Ultima posizione del checkpoint:            %X/%08X\n"
 
 #: pg_controldata.c:240
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "Locazione di REDO dell'ultimo checkpoint:   %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "Locazione di REDO dell'ultimo checkpoint:   %X/%08X\n"
 
 #: pg_controldata.c:242
 #, c-format
@@ -378,13 +378,13 @@ msgstr "Orario ultimo checkpoint:                   %s\n"
 
 #: pg_controldata.c:275
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Falso contatore LSN per rel. non loggate:   %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Falso contatore LSN per rel. non loggate:   %X/%08X\n"
 
 #: pg_controldata.c:277
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Posizione del minimum recovery ending:      %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Posizione del minimum recovery ending:      %X/%08X\n"
 
 #: pg_controldata.c:279
 #, c-format
@@ -393,13 +393,13 @@ msgstr "Timeline posiz. minimum recovery ending:    %u\n"
 
 #: pg_controldata.c:281
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Posizione dell'inizio del backup:           %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Posizione dell'inizio del backup:           %X/%08X\n"
 
 #: pg_controldata.c:283
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Posizione della fine del backup:            %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Posizione della fine del backup:            %X/%08X\n"
 
 #: pg_controldata.c:285
 #, c-format
diff --git a/src/bin/pg_controldata/po/ja.po b/src/bin/pg_controldata/po/ja.po
index 6b9c5d7128a..67b3249b60e 100644
--- a/src/bin/pg_controldata/po/ja.po
+++ b/src/bin/pg_controldata/po/ja.po
@@ -255,13 +255,13 @@ msgstr "pg_control最終更新:                          %s\n"
 
 #: pg_controldata.c:248
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "最終チェックポイント位置:                    %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "最終チェックポイント位置:                    %X/%08X\n"
 
 #: pg_controldata.c:250
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "最終チェックポイントのREDO位置:              %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "最終チェックポイントのREDO位置:              %X/%08X\n"
 
 #: pg_controldata.c:252
 #, c-format
@@ -353,13 +353,13 @@ msgstr "最終チェックポイント時刻:                    %s\n"
 
 #: pg_controldata.c:285
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "UNLOGGEDリレーションの偽のLSNカウンタ:       %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "UNLOGGEDリレーションの偽のLSNカウンタ:       %X/%08X\n"
 
 #: pg_controldata.c:287
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "最小リカバリ終了位置:                        %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "最小リカバリ終了位置:                        %X/%08X\n"
 
 #: pg_controldata.c:289
 #, c-format
@@ -368,13 +368,13 @@ msgstr "最小リカバリ終了位置のタイムライン:          %u\n"
 
 #: pg_controldata.c:291
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "バックアップ開始位置:                        %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "バックアップ開始位置:                        %X/%08X\n"
 
 #: pg_controldata.c:293
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "バックアップ終了位置:                        %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "バックアップ終了位置:                        %X/%08X\n"
 
 #: pg_controldata.c:295
 #, c-format
diff --git a/src/bin/pg_controldata/po/ka.po b/src/bin/pg_controldata/po/ka.po
index fe23c53667b..6bfc42e90d6 100644
--- a/src/bin/pg_controldata/po/ka.po
+++ b/src/bin/pg_controldata/po/ka.po
@@ -255,13 +255,13 @@ msgstr "pg_control-ის ბოლო ცვლილების დრო:
 
 #: pg_controldata.c:248
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "საკონტროლო წერტილის უკანასკნელი მდებარეობა:           %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "საკონტროლო წერტილის უკანასკნელი მდებარეობა:           %X/%08X\n"
 
 #: pg_controldata.c:250
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "საკონტროლო წერტილის REDO-ის უკანასკნელი მდებარეობა:    %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "საკონტროლო წერტილის REDO-ის უკანასკნელი მდებარეობა:    %X/%08X\n"
 
 #: pg_controldata.c:252
 #, c-format
@@ -353,13 +353,13 @@ msgstr "უახლესი საკონტოლო წერტილი
 
 #: pg_controldata.c:285
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "LSN-ის ყალბი მთვლელი არაჟურნალიზებადი ურთ-თვის:   %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "LSN-ის ყალბი მთვლელი არაჟურნალიზებადი ურთ-თვის:   %X/%08X\n"
 
 #: pg_controldata.c:287
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "მინიმალური აღდგენის დასასრულის მდებარეობა     %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "მინიმალური აღდგენის დასასრულის მდებარეობა     %X/%08X\n"
 
 #: pg_controldata.c:289
 #, c-format
@@ -368,13 +368,13 @@ msgstr "მინ. აღდგ დასასრ მდებარ დრო
 
 #: pg_controldata.c:291
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "მარქაფის დაწყების მდებარეობა:                %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "მარქაფის დაწყების მდებარეობა:                %X/%08X\n"
 
 #: pg_controldata.c:293
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "მარქაფს დასასრულის მდებარეობა:                  %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "მარქაფს დასასრულის მდებარეობა:                  %X/%08X\n"
 
 #: pg_controldata.c:295
 #, c-format
diff --git a/src/bin/pg_controldata/po/ko.po b/src/bin/pg_controldata/po/ko.po
index b753d7e93c1..598893fbc61 100644
--- a/src/bin/pg_controldata/po/ko.po
+++ b/src/bin/pg_controldata/po/ko.po
@@ -259,13 +259,13 @@ msgstr "pg_control 마지막 변경시간:           %s\n"
 
 #: pg_controldata.c:237
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "마지막 체크포인트 위치:               %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "마지막 체크포인트 위치:               %X/%08X\n"
 
 #: pg_controldata.c:239
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "마지막 체크포인트 REDO 위치:          %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "마지막 체크포인트 REDO 위치:          %X/%08X\n"
 
 #: pg_controldata.c:241
 #, c-format
@@ -357,13 +357,13 @@ msgstr "마지막 체크포인트 시간:               %s\n"
 
 #: pg_controldata.c:274
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "언로그 릴레이션의 가짜 LSN 카운터:    %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "언로그 릴레이션의 가짜 LSN 카운터:    %X/%08X\n"
 
 #: pg_controldata.c:276
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "최소 복구 마지막 위치:                %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "최소 복구 마지막 위치:                %X/%08X\n"
 
 #: pg_controldata.c:278
 #, c-format
@@ -372,13 +372,13 @@ msgstr "최소 복구 종료 위치의 타임라인:       %u\n"
 
 #: pg_controldata.c:280
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "백업 시작 위치:                       %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "백업 시작 위치:                       %X/%08X\n"
 
 #: pg_controldata.c:282
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "백업 종료 위치:                       %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "백업 종료 위치:                       %X/%08X\n"
 
 #: pg_controldata.c:284
 #, c-format
diff --git a/src/bin/pg_controldata/po/pl.po b/src/bin/pg_controldata/po/pl.po
index 7f528863032..ff1b301df36 100644
--- a/src/bin/pg_controldata/po/pl.po
+++ b/src/bin/pg_controldata/po/pl.po
@@ -201,18 +201,18 @@ msgstr "pg_control ostatnio modyfikowano:                %s\n"
 
 #: pg_controldata.c:211
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "Najnowsza lokalizacja punktu kontrolnego:        %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "Najnowsza lokalizacja punktu kontrolnego:        %X/%08X\n"
 
 #: pg_controldata.c:214
 #, c-format
-msgid "Prior checkpoint location:            %X/%X\n"
-msgstr "Uprzednia lokalizacja punktu kontrolnego:        %X/%X\n"
+msgid "Prior checkpoint location:            %X/%08X\n"
+msgstr "Uprzednia lokalizacja punktu kontrolnego:        %X/%08X\n"
 
 #: pg_controldata.c:217
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "Najnowsza lokalizacja punktu kontrolnego REDO:   %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "Najnowsza lokalizacja punktu kontrolnego REDO:   %X/%08X\n"
 
 #: pg_controldata.c:220
 #, c-format
@@ -304,13 +304,13 @@ msgstr "Czas najnowszego punktu kontrolnego:             %s\n"
 
 #: pg_controldata.c:253
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Fałszywy licznik LSN dla niezalogowanych rel:    %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Fałszywy licznik LSN dla niezalogowanych rel:    %X/%08X\n"
 
 #: pg_controldata.c:256
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Położenie zakończenia odzyskiwania minimalnego:  %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Położenie zakończenia odzyskiwania minimalnego:  %X/%08X\n"
 
 #: pg_controldata.c:259
 #, c-format
@@ -319,13 +319,13 @@ msgstr "Położenie odzyskiwania min. zak. linii czasu:    %u\n"
 
 #: pg_controldata.c:261
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Położenie początku kopii zapasowej:              %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Położenie początku kopii zapasowej:              %X/%08X\n"
 
 #: pg_controldata.c:264
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Położenie końca kopii zapasowej:                 %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Położenie końca kopii zapasowej:                 %X/%08X\n"
 
 #: pg_controldata.c:267
 #, c-format
diff --git a/src/bin/pg_controldata/po/pt_BR.po b/src/bin/pg_controldata/po/pt_BR.po
index 4a697d5e1df..425157eae33 100644
--- a/src/bin/pg_controldata/po/pt_BR.po
+++ b/src/bin/pg_controldata/po/pt_BR.po
@@ -260,13 +260,13 @@ msgstr "Última modificação do pg_control:                    %s\n"
 
 #: pg_controldata.c:238
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "Local do último ponto de controle:                   %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "Local do último ponto de controle:                   %X/%08X\n"
 
 #: pg_controldata.c:240
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "Local de REDO do último ponto de controle:           %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "Local de REDO do último ponto de controle:           %X/%08X\n"
 
 #: pg_controldata.c:242
 #, c-format
@@ -358,13 +358,13 @@ msgstr "Hora do último ponto de controle:                    %s\n"
 
 #: pg_controldata.c:275
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Contador LSN falso para relações unlogged:           %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Contador LSN falso para relações unlogged:           %X/%08X\n"
 
 #: pg_controldata.c:277
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Local final mínimo de recuperação:                   %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Local final mínimo de recuperação:                   %X/%08X\n"
 
 #: pg_controldata.c:279
 #, c-format
@@ -373,13 +373,13 @@ msgstr "Linha do tempo do local final mínimo de recuperação: %u\n"
 
 #: pg_controldata.c:281
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Local de início da cópia de segurança:               %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Local de início da cópia de segurança:               %X/%08X\n"
 
 #: pg_controldata.c:283
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Local de fim da cópia de segurança:                  %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Local de fim da cópia de segurança:                  %X/%08X\n"
 
 #: pg_controldata.c:285
 #, c-format
diff --git a/src/bin/pg_controldata/po/ru.po b/src/bin/pg_controldata/po/ru.po
index 5197e06cc71..46aaa7a4417 100644
--- a/src/bin/pg_controldata/po/ru.po
+++ b/src/bin/pg_controldata/po/ru.po
@@ -270,14 +270,14 @@ msgstr "Последнее обновление pg_control:      %s\n"
 # skip-rule: capital-letter-first
 #: pg_controldata.c:248
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "Положение последней конт. точки:      %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "Положение последней конт. точки:      %X/%08X\n"
 
 # skip-rule: capital-letter-first
 #: pg_controldata.c:250
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "Положение REDO последней конт. точки: %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "Положение REDO последней конт. точки: %X/%08X\n"
 
 # skip-rule: capital-letter-first
 #: pg_controldata.c:252
@@ -386,13 +386,13 @@ msgstr "Время последней контрольной точки:    %s\n
 # well-spelled: нежурналир
 #: pg_controldata.c:285
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Фиктивный LSN для нежурналир. таблиц: %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Фиктивный LSN для нежурналир. таблиц: %X/%08X\n"
 
 #: pg_controldata.c:287
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Мин. положение конца восстановления:  %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Мин. положение конца восстановления:  %X/%08X\n"
 
 # skip-rule: capital-letter-first
 #: pg_controldata.c:289
@@ -402,13 +402,13 @@ msgstr "Линия времени мин. положения к. в.:   %u\n"
 
 #: pg_controldata.c:291
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Положение начала копии:               %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Положение начала копии:               %X/%08X\n"
 
 #: pg_controldata.c:293
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Положение конца копии:                %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Положение конца копии:                %X/%08X\n"
 
 #: pg_controldata.c:295
 #, c-format
@@ -583,8 +583,8 @@ msgstr "Случ. число для псевдоаутентификации: %s
 #~ msgstr "Передача аргумента Float4:            %s\n"
 
 # skip-rule: capital-letter-first
-#~ msgid "Prior checkpoint location:            %X/%X\n"
-#~ msgstr "Положение предыдущей конт. точки:     %X/%X\n"
+#~ msgid "Prior checkpoint location:            %X/%08X\n"
+#~ msgstr "Положение предыдущей конт. точки:     %X/%08X\n"
 
 #~ msgid "floating-point numbers"
 #~ msgstr "числа с плавающей точкой"
diff --git a/src/bin/pg_controldata/po/sv.po b/src/bin/pg_controldata/po/sv.po
index 07b46343b13..12fa2bb1cf3 100644
--- a/src/bin/pg_controldata/po/sv.po
+++ b/src/bin/pg_controldata/po/sv.po
@@ -263,13 +263,13 @@ msgstr "pg_control ändrades senast:                 %s\n"
 
 #: pg_controldata.c:237
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "Läge för senaste kontrollpunkt:             %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "Läge för senaste kontrollpunkt:             %X/%08X\n"
 
 #: pg_controldata.c:239
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "REDO-läge för senaste kontrollpunkt:        %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "REDO-läge för senaste kontrollpunkt:        %X/%08X\n"
 
 #: pg_controldata.c:241
 #, c-format
@@ -361,13 +361,13 @@ msgstr "Tidpunkt för senaste kontrollpunkt:         %s\n"
 
 #: pg_controldata.c:274
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Beräknat LSN-tal av ologgade relationer:    %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Beräknat LSN-tal av ologgade relationer:    %X/%08X\n"
 
 #: pg_controldata.c:276
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Minsta slutposition vid återställning:      %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Minsta slutposition vid återställning:      %X/%08X\n"
 
 #: pg_controldata.c:278
 #, c-format
@@ -376,13 +376,13 @@ msgstr "Tidslinje för min slutpos vid återställning:%u\n"
 
 #: pg_controldata.c:280
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Startpunkt för backup:                      %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Startpunkt för backup:                      %X/%08X\n"
 
 #: pg_controldata.c:282
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Slutpunkt för backup:                       %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Slutpunkt för backup:                       %X/%08X\n"
 
 #: pg_controldata.c:284
 #, c-format
diff --git a/src/bin/pg_controldata/po/tr.po b/src/bin/pg_controldata/po/tr.po
index 528889f2803..f5a18d0b85b 100644
--- a/src/bin/pg_controldata/po/tr.po
+++ b/src/bin/pg_controldata/po/tr.po
@@ -260,13 +260,13 @@ msgstr "pg_control son düzenlenme tarihi:             %s\n"
 
 #: pg_controldata.c:244
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "En son checkpoint yeri:           %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "En son checkpoint yeri:           %X/%08X\n"
 
 #: pg_controldata.c:247
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "En son checkpoint'in REDO yeri:    %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "En son checkpoint'in REDO yeri:    %X/%08X\n"
 
 #: pg_controldata.c:250
 #, c-format
@@ -358,13 +358,13 @@ msgstr "En son checkpoint'in zamanı:            %s\n"
 
 #: pg_controldata.c:283
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Loglanmayan nesneler için sahte LSN sayacı:   %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Loglanmayan nesneler için sahte LSN sayacı:   %X/%08X\n"
 
 #: pg_controldata.c:286
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Minimum kurtarma sonlandırma yeri:     %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Minimum kurtarma sonlandırma yeri:     %X/%08X\n"
 
 #: pg_controldata.c:289
 #, c-format
@@ -374,13 +374,13 @@ msgstr ""
 
 #: pg_controldata.c:291
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Yedek başlama yeri:           %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Yedek başlama yeri:           %X/%08X\n"
 
 #: pg_controldata.c:294
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Yedek bitiş yeri:                  %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Yedek bitiş yeri:                  %X/%08X\n"
 
 #: pg_controldata.c:297
 #, c-format
@@ -541,8 +541,8 @@ msgstr "Sahte (mock) kimlik doğrulaması nonce'u:            %s\n"
 #~ msgid "LC_CTYPE:                             %s\n"
 #~ msgstr "LC_CTYPE:                             %s\n"
 
-#~ msgid "Prior checkpoint location:            %X/%X\n"
-#~ msgstr "Önceki checkpoint yeri:            %X/%X\n"
+#~ msgid "Prior checkpoint location:            %X/%08X\n"
+#~ msgstr "Önceki checkpoint yeri:            %X/%08X\n"
 
 #~ msgid "  -?, --help     show this help, then exit\n"
 #~ msgstr "  -?, --help     bu yardımı göster, sonra çık\n"
diff --git a/src/bin/pg_controldata/po/uk.po b/src/bin/pg_controldata/po/uk.po
index c2b2e3217f1..658b059aac0 100644
--- a/src/bin/pg_controldata/po/uk.po
+++ b/src/bin/pg_controldata/po/uk.po
@@ -242,12 +242,12 @@ msgstr "pg_control був модифікований востаннє:         %
 
 #: pg_controldata.c:237
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "Останнє місце знаходження контрольної точки: %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "Останнє місце знаходження контрольної точки: %X/%08X\n"
 
 #: pg_controldata.c:239
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
 msgstr "Розташування останньої контрольної точки: %X%X\n"
 
 #: pg_controldata.c:241
@@ -340,13 +340,13 @@ msgstr "Час останньої контрольної точки: %s\n"
 
 #: pg_controldata.c:274
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Фіктивний LSN для таблиць без журналювання: %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Фіктивний LSN для таблиць без журналювання: %X/%08X\n"
 
 #: pg_controldata.c:276
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Мінімальне розташування кінця відновлення: %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Мінімальне розташування кінця відновлення: %X/%08X\n"
 
 #: pg_controldata.c:278
 #, c-format
@@ -355,13 +355,13 @@ msgstr "Мінімальна позиція історії часу заверш
 
 #: pg_controldata.c:280
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Початкове розташування резервного копіювання: %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Початкове розташування резервного копіювання: %X/%08X\n"
 
 #: pg_controldata.c:282
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Кінцеве розташування резервного копіювання: %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Кінцеве розташування резервного копіювання: %X/%08X\n"
 
 #: pg_controldata.c:284
 #, c-format
diff --git a/src/bin/pg_controldata/po/vi.po b/src/bin/pg_controldata/po/vi.po
index 019b7b05d86..85585d5817f 100644
--- a/src/bin/pg_controldata/po/vi.po
+++ b/src/bin/pg_controldata/po/vi.po
@@ -224,13 +224,13 @@ msgstr "pg_control sửa đổi lần cuối:                     %s\n"
 
 #: pg_controldata.c:238
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "Vị trí checkpoint mới nhất:                      %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "Vị trí checkpoint mới nhất:                      %X/%08X\n"
 
 #: pg_controldata.c:241
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "Vị trí REDO của checkpoint gần nhất:             %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "Vị trí REDO của checkpoint gần nhất:             %X/%08X\n"
 
 #: pg_controldata.c:244
 #, c-format
@@ -322,13 +322,13 @@ msgstr "Thời gian của lần checkpoint gần nhấ:            %s\n"
 
 #: pg_controldata.c:277
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "Bộ đếm LSN giả cho các unlogged relations:       %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "Bộ đếm LSN giả cho các unlogged relations:       %X/%08X\n"
 
 #: pg_controldata.c:280
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "Tối thiểu hóa vị trí kết thúc cho phụ hồi:       %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "Tối thiểu hóa vị trí kết thúc cho phụ hồi:       %X/%08X\n"
 
 #: pg_controldata.c:283
 #, c-format
@@ -337,13 +337,13 @@ msgstr "Timeline của vị trí kết thúc phục hồi tối thiểu: %u\n"
 
 #: pg_controldata.c:285
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "Vị trí bắt đầu Backup:                           %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "Vị trí bắt đầu Backup:                           %X/%08X\n"
 
 #: pg_controldata.c:288
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "Vị trí kết thúc Backup:                          %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "Vị trí kết thúc Backup:                          %X/%08X\n"
 
 #: pg_controldata.c:291
 #, c-format
diff --git a/src/bin/pg_controldata/po/zh_CN.po b/src/bin/pg_controldata/po/zh_CN.po
index d6d2140b77b..3e50643c1b4 100644
--- a/src/bin/pg_controldata/po/zh_CN.po
+++ b/src/bin/pg_controldata/po/zh_CN.po
@@ -252,13 +252,13 @@ msgstr "pg_control 最后修改:                  %s\n"
 
 #: pg_controldata.c:238
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "最新检查点位置:                       %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "最新检查点位置:                       %X/%08X\n"
 
 #: pg_controldata.c:240
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "最新检查点的 REDO 位置:               %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "最新检查点的 REDO 位置:               %X/%08X\n"
 
 #: pg_controldata.c:242
 #, c-format
@@ -350,13 +350,13 @@ msgstr "最新检查点的时间:                     %s\n"
 
 #: pg_controldata.c:275
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "不带日志的关系: %X/%X使用虚假的LSN计数器\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "不带日志的关系: %X/%08X使用虚假的LSN计数器\n"
 
 #: pg_controldata.c:277
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "最小恢复结束位置: %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "最小恢复结束位置: %X/%08X\n"
 
 #: pg_controldata.c:279
 #, c-format
@@ -365,13 +365,13 @@ msgstr "最小恢复结束位置时间表: %u\n"
 
 #: pg_controldata.c:281
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "开始进行备份的点位置:                       %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "开始进行备份的点位置:                       %X/%08X\n"
 
 #: pg_controldata.c:283
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "备份的最终位置:                  %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "备份的最终位置:                  %X/%08X\n"
 
 #: pg_controldata.c:285
 #, c-format
diff --git a/src/bin/pg_controldata/po/zh_TW.po b/src/bin/pg_controldata/po/zh_TW.po
index b9ffb5669ac..fb6dcfd3b80 100644
--- a/src/bin/pg_controldata/po/zh_TW.po
+++ b/src/bin/pg_controldata/po/zh_TW.po
@@ -281,13 +281,13 @@ msgstr "pg_control 最後修改時間:         %s\n"
 
 #: pg_controldata.c:238
 #, c-format
-msgid "Latest checkpoint location:           %X/%X\n"
-msgstr "最新檢查點位置:                  %X/%X\n"
+msgid "Latest checkpoint location:           %X/%08X\n"
+msgstr "最新檢查點位置:                  %X/%08X\n"
 
 #: pg_controldata.c:240
 #, c-format
-msgid "Latest checkpoint's REDO location:    %X/%X\n"
-msgstr "最新檢查點 REDO 位置:            %X/%X\n"
+msgid "Latest checkpoint's REDO location:    %X/%08X\n"
+msgstr "最新檢查點 REDO 位置:            %X/%08X\n"
 
 #: pg_controldata.c:242
 #, c-format
@@ -381,13 +381,13 @@ msgstr "最新檢查點的時間:                %s\n"
 
 #: pg_controldata.c:275
 #, c-format
-msgid "Fake LSN counter for unlogged rels:   %X/%X\n"
-msgstr "無日誌關聯的虛擬 LSN 計數:       %X/%X\n"
+msgid "Fake LSN counter for unlogged rels:   %X/%08X\n"
+msgstr "無日誌關聯的虛擬 LSN 計數:       %X/%08X\n"
 
 #: pg_controldata.c:277
 #, c-format
-msgid "Minimum recovery ending location:     %X/%X\n"
-msgstr "最小還原結束位置:                %X/%X\n"
+msgid "Minimum recovery ending location:     %X/%08X\n"
+msgstr "最小還原結束位置:                %X/%08X\n"
 
 #: pg_controldata.c:279
 #, c-format
@@ -396,13 +396,13 @@ msgstr "最小還原結束位置的時間軸:        %u\n"
 
 #: pg_controldata.c:281
 #, c-format
-msgid "Backup start location:                %X/%X\n"
-msgstr "備份開始位置:                    %X/%X\n"
+msgid "Backup start location:                %X/%08X\n"
+msgstr "備份開始位置:                    %X/%08X\n"
 
 #: pg_controldata.c:283
 #, c-format
-msgid "Backup end location:                  %X/%X\n"
-msgstr "備份結束位置:                    %X/%X\n"
+msgid "Backup end location:                  %X/%08X\n"
+msgstr "備份結束位置:                    %X/%08X\n"
 
 #: pg_controldata.c:285
 #, c-format
diff --git a/src/bin/pg_rewind/libpq_source.c b/src/bin/pg_rewind/libpq_source.c
index 56c2ad55d4a..e80edb7077e 100644
--- a/src/bin/pg_rewind/libpq_source.c
+++ b/src/bin/pg_rewind/libpq_source.c
@@ -215,7 +215,7 @@ libpq_get_current_wal_insert_lsn(rewind_source *source)
 
 	val = run_simple_query(conn, "SELECT pg_current_wal_insert_lsn()");
 
-	if (sscanf(val, "%X/%X", &hi, &lo) != 2)
+	if (sscanf(val, "%X/%08X", &hi, &lo) != 2)
 		pg_fatal("unrecognized result \"%s\" for current WAL insert location", val);
 
 	result = ((uint64) hi) << 32 | lo;
diff --git a/src/bin/pg_rewind/parsexlog.c b/src/bin/pg_rewind/parsexlog.c
index 2cd44625ca3..6de5e32fd9e 100644
--- a/src/bin/pg_rewind/parsexlog.c
+++ b/src/bin/pg_rewind/parsexlog.c
@@ -89,11 +89,11 @@ extractPageMap(const char *datadir, XLogRecPtr startpoint, int tliIndex,
 			XLogRecPtr	errptr = xlogreader->EndRecPtr;
 
 			if (errormsg)
-				pg_fatal("could not read WAL record at %X/%X: %s",
+				pg_fatal("could not read WAL record at %X/%08X: %s",
 						 LSN_FORMAT_ARGS(errptr),
 						 errormsg);
 			else
-				pg_fatal("could not read WAL record at %X/%X",
+				pg_fatal("could not read WAL record at %X/%08X",
 						 LSN_FORMAT_ARGS(errptr));
 		}
 
@@ -105,7 +105,7 @@ extractPageMap(const char *datadir, XLogRecPtr startpoint, int tliIndex,
 	 * messed up.
 	 */
 	if (xlogreader->EndRecPtr != endpoint)
-		pg_fatal("end pointer %X/%X is not a valid end point; expected %X/%X",
+		pg_fatal("end pointer %X/%08X is not a valid end point; expected %X/%08X",
 				 LSN_FORMAT_ARGS(endpoint), LSN_FORMAT_ARGS(xlogreader->EndRecPtr));
 
 	XLogReaderFree(xlogreader);
@@ -143,10 +143,10 @@ readOneRecord(const char *datadir, XLogRecPtr ptr, int tliIndex,
 	if (record == NULL)
 	{
 		if (errormsg)
-			pg_fatal("could not read WAL record at %X/%X: %s",
+			pg_fatal("could not read WAL record at %X/%08X: %s",
 					 LSN_FORMAT_ARGS(ptr), errormsg);
 		else
-			pg_fatal("could not read WAL record at %X/%X",
+			pg_fatal("could not read WAL record at %X/%08X",
 					 LSN_FORMAT_ARGS(ptr));
 	}
 	endptr = xlogreader->EndRecPtr;
@@ -211,11 +211,11 @@ findLastCheckpoint(const char *datadir, XLogRecPtr forkptr, int tliIndex,
 		if (record == NULL)
 		{
 			if (errormsg)
-				pg_fatal("could not find previous WAL record at %X/%X: %s",
+				pg_fatal("could not find previous WAL record at %X/%08X: %s",
 						 LSN_FORMAT_ARGS(searchptr),
 						 errormsg);
 			else
-				pg_fatal("could not find previous WAL record at %X/%X",
+				pg_fatal("could not find previous WAL record at %X/%08X",
 						 LSN_FORMAT_ARGS(searchptr));
 		}
 
@@ -459,7 +459,7 @@ extractPageInfo(XLogReaderState *record)
 		 * track that change.
 		 */
 		pg_fatal("WAL record modifies a relation, but record type is not recognized: "
-				 "lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X",
+				 "lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X",
 				 LSN_FORMAT_ARGS(record->ReadRecPtr),
 				 rmid, RmgrName(rmid), info);
 	}
diff --git a/src/bin/pg_rewind/pg_rewind.c b/src/bin/pg_rewind/pg_rewind.c
index 9d16c1e6b47..0c68dd4235e 100644
--- a/src/bin/pg_rewind/pg_rewind.c
+++ b/src/bin/pg_rewind/pg_rewind.c
@@ -393,7 +393,7 @@ main(int argc, char **argv)
 								   targetHistory, targetNentries,
 								   &divergerec, &lastcommontliIndex);
 
-		pg_log_info("servers diverged at WAL location %X/%X on timeline %u",
+		pg_log_info("servers diverged at WAL location %X/%08X on timeline %u",
 					LSN_FORMAT_ARGS(divergerec),
 					targetHistory[lastcommontliIndex].tli);
 
@@ -461,7 +461,7 @@ main(int argc, char **argv)
 
 	findLastCheckpoint(datadir_target, divergerec, lastcommontliIndex,
 					   &chkptrec, &chkpttli, &chkptredo, restore_command);
-	pg_log_info("rewinding from last common checkpoint at %X/%X on timeline %u",
+	pg_log_info("rewinding from last common checkpoint at %X/%08X on timeline %u",
 				LSN_FORMAT_ARGS(chkptrec), chkpttli);
 
 	/* Initialize the hash table to track the status of each file */
@@ -902,7 +902,7 @@ getTimelineHistory(TimeLineID tli, bool is_source, int *nentries)
 			TimeLineHistoryEntry *entry;
 
 			entry = &history[i];
-			pg_log_debug("%u: %X/%X - %X/%X", entry->tli,
+			pg_log_debug("%u: %X/%08X - %X/%08X", entry->tli,
 						 LSN_FORMAT_ARGS(entry->begin),
 						 LSN_FORMAT_ARGS(entry->end));
 		}
@@ -981,8 +981,8 @@ createBackupLabel(XLogRecPtr startpoint, TimeLineID starttli, XLogRecPtr checkpo
 	strftime(strfbuf, sizeof(strfbuf), "%Y-%m-%d %H:%M:%S %Z", tmp);
 
 	len = snprintf(buf, sizeof(buf),
-				   "START WAL LOCATION: %X/%X (file %s)\n"
-				   "CHECKPOINT LOCATION: %X/%X\n"
+				   "START WAL LOCATION: %X/%08X (file %s)\n"
+				   "CHECKPOINT LOCATION: %X/%08X\n"
 				   "BACKUP METHOD: pg_rewind\n"
 				   "BACKUP FROM: standby\n"
 				   "START TIME: %s\n",
diff --git a/src/bin/pg_rewind/po/cs.po b/src/bin/pg_rewind/po/cs.po
index 1f4a8ebce19..6658a89fc19 100644
--- a/src/bin/pg_rewind/po/cs.po
+++ b/src/bin/pg_rewind/po/cs.po
@@ -420,23 +420,23 @@ msgstr "neočekávaný výsledek při posílání seznamu souborů: %s"
 
 #: parsexlog.c:85 parsexlog.c:132
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "nelze načíst WAL záznam na %X/%X: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "nelze načíst WAL záznam na %X/%08X: %s"
 
 #: parsexlog.c:89 parsexlog.c:135
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "nelze načíst WAL záznam na %X/%X"
+msgid "could not read WAL record at %X/%08X"
+msgstr "nelze načíst WAL záznam na %X/%08X"
 
 #: parsexlog.c:198
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "nelze nalézt předchozí WAL záznam na %X/%X: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "nelze nalézt předchozí WAL záznam na %X/%08X: %s"
 
 #: parsexlog.c:202
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "nelze načíst předchozí WAL záznam na %X/%X"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "nelze načíst předchozí WAL záznam na %X/%08X"
 
 #: parsexlog.c:327
 #, c-format
@@ -445,8 +445,8 @@ msgstr "nelze nastavit pozici (seek) v souboru \"%s\": %m"
 
 #: parsexlog.c:407
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmgr: %s, info: %02X"
-msgstr "WAL záznam modifikuje relaci, ale typ záznamu není rozpoznán: lsn: %X/%X, rmgr: %s, info: %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmgr: %s, info: %02X"
+msgstr "WAL záznam modifikuje relaci, ale typ záznamu není rozpoznán: lsn: %X/%08X, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:78
 #, c-format
@@ -613,8 +613,8 @@ msgstr "zdrojový a cílový cluster jsou na stejné timeline"
 
 #: pg_rewind.c:322
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
-msgstr "servery se rozešly na WAL pozici %X/%X na timeline %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
+msgstr "servery se rozešly na WAL pozici %X/%08X na timeline %u"
 
 #: pg_rewind.c:360
 #, c-format
@@ -623,8 +623,8 @@ msgstr "rewind není potřeba"
 
 #: pg_rewind.c:369
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
-msgstr "provádím rewind z posledního společného checkpointu na %X/%X na timeline %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
+msgstr "provádím rewind z posledního společného checkpointu na %X/%08X na timeline %u"
 
 #: pg_rewind.c:378
 #, c-format
@@ -803,48 +803,48 @@ msgstr "Timeline IDs musí být nižší než timeline ID potomka."
 
 #: xlogreader.c:349
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "neplatný offset záznamu na %X/%X"
+msgid "invalid record offset at %X/%08X"
+msgstr "neplatný offset záznamu na %X/%08X"
 
 #: xlogreader.c:357
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord je vyžadován %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord je vyžadován %X/%08X"
 
 #: xlogreader.c:398 xlogreader.c:695
 #, c-format
-msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "neplatná délka záznamu na %X/%X: potřeba %u, získáno %u"
+msgid "invalid record length at %X/%08X: wanted %u, got %u"
+msgstr "neplatná délka záznamu na %X/%08X: potřeba %u, získáno %u"
 
 #: xlogreader.c:422
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "délka záznamu %u na %X/%X je příliš vysoká"
+msgid "record length %u at %X/%08X too long"
+msgstr "délka záznamu %u na %X/%08X je příliš vysoká"
 
 #: xlogreader.c:454
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "na %X/%X není nastaven  contrecord flag"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "na %X/%08X není nastaven  contrecord flag"
 
 #: xlogreader.c:467
 #, c-format
-msgid "invalid contrecord length %u at %X/%X"
-msgstr "chybná contrecord délka %u na %X/%X"
+msgid "invalid contrecord length %u at %X/%08X"
+msgstr "chybná contrecord délka %u na %X/%08X"
 
 #: xlogreader.c:703
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "chybný ID resource managera %u na %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "chybný ID resource managera %u na %X/%08X"
 
 #: xlogreader.c:717 xlogreader.c:734
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "záznam s neplatnou hodnotou prev-link %X/%X na %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "záznam s neplatnou hodnotou prev-link %X/%08X na %X/%08X"
 
 #: xlogreader.c:771
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "neplatný data checksum resource managera v záznamu na %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "neplatný data checksum resource managera v záznamu na %X/%08X"
 
 #: xlogreader.c:808
 #, c-format
@@ -873,8 +873,8 @@ msgstr "WAL soubor je z jiného databázového systému: neplatná hodnota XLOG_
 
 #: xlogreader.c:882
 #, c-format
-msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
-msgstr "neočekávaná pageaddr hodnota %X/%X v log segmentu %s, offset %u"
+msgid "unexpected pageaddr %X/%08X in log segment %s, offset %u"
+msgstr "neočekávaná pageaddr hodnota %X/%08X v log segmentu %s, offset %u"
 
 #: xlogreader.c:907
 #, c-format
@@ -883,58 +883,58 @@ msgstr "timeline ID %u mimo pořadí (po %u) v log segmentu %s, offset %u"
 
 #: xlogreader.c:1247
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u mimo pořadí na %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %u mimo pořadí na %X/%08X"
 
 #: xlogreader.c:1270
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA flag nastaven, ale žádná data nejsou přiložena na %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA flag nastaven, ale žádná data nejsou přiložena na %X/%08X"
 
 #: xlogreader.c:1277
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA flag nenastaven, ale délka dat je %u na %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA flag nenastaven, ale délka dat je %u na %X/%08X"
 
 #: xlogreader.c:1313
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE flag nastaven, ale hole offset %u length %u block image length %u na %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE flag nastaven, ale hole offset %u length %u block image length %u na %X/%08X"
 
 #: xlogreader.c:1329
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE flag nenastaven, ale hole offset %u length %u na %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE flag nenastaven, ale hole offset %u length %u na %X/%08X"
 
 #: xlogreader.c:1344
 #, c-format
-msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_IS_COMPRESSED flag nastaven, ale block image length %u na %X/%X"
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_IS_COMPRESSED flag nastaven, ale block image length %u na %X/%08X"
 
 #: xlogreader.c:1359
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE ani BKPIMAGE_IS_COMPRESSED flag nenastaven, ale block image length je %u na %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE ani BKPIMAGE_IS_COMPRESSED flag nenastaven, ale block image length je %u na %X/%08X"
 
 #: xlogreader.c:1375
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL flag nastaven, ale žádná předchozí rel hodnota na %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL flag nastaven, ale žádná předchozí rel hodnota na %X/%08X"
 
 #: xlogreader.c:1387
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "neplatné block_id %u na %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "neplatné block_id %u na %X/%08X"
 
 #: xlogreader.c:1476
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "záznam s neplatnou délkou na %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "záznam s neplatnou délkou na %X/%08X"
 
 #: xlogreader.c:1565
 #, c-format
-msgid "invalid compressed image at %X/%X, block %d"
-msgstr "neplatný komprimovaný image na %X/%X, block %d"
+msgid "invalid compressed image at %X/%08X, block %d"
+msgstr "neplatný komprimovaný image na %X/%08X, block %d"
 
 #~ msgid "could not open directory \"%s\": %s\n"
 #~ msgstr "nelze otevřít adresář \"%s\": %s\n"
@@ -987,8 +987,8 @@ msgstr "neplatný komprimovaný image na %X/%X, block %d"
 #~ msgid "Target timeline history:\n"
 #~ msgstr "Cílová timeline history:\n"
 
-#~ msgid "%d: %X/%X - %X/%X\n"
-#~ msgstr "%d: %X/%X - %X/%X\n"
+#~ msgid "%d: %X/%08X - %X/%08X\n"
+#~ msgstr "%d: %X/%08X - %X/%08X\n"
 
 #~ msgid ""
 #~ "The program \"initdb\" is needed by %s but was\n"
diff --git a/src/bin/pg_rewind/po/de.po b/src/bin/pg_rewind/po/de.po
index 6c1093dafe5..95d65feb6f0 100644
--- a/src/bin/pg_rewind/po/de.po
+++ b/src/bin/pg_rewind/po/de.po
@@ -502,28 +502,28 @@ msgstr "Speicher aufgebraucht beim Anlegen eines WAL-Leseprozessors"
 
 #: parsexlog.c:92 parsexlog.c:146
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "konnte WAL-Eintrag bei %X/%X nicht lesen: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "konnte WAL-Eintrag bei %X/%08X nicht lesen: %s"
 
 #: parsexlog.c:96 parsexlog.c:149
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "konnte WAL-Eintrag bei %X/%X nicht lesen"
+msgid "could not read WAL record at %X/%08X"
+msgstr "konnte WAL-Eintrag bei %X/%08X nicht lesen"
 
 #: parsexlog.c:108
 #, c-format
-msgid "end pointer %X/%X is not a valid end point; expected %X/%X"
-msgstr "Endpunkt %X/%X ist kein gültiger Endpunkt; %X/%X erwartet"
+msgid "end pointer %X/%08X is not a valid end point; expected %X/%08X"
+msgstr "Endpunkt %X/%08X ist kein gültiger Endpunkt; %X/%08X erwartet"
 
 #: parsexlog.c:214
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "konnte vorangegangenen WAL-Eintrag bei %X/%X nicht finden: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "konnte vorangegangenen WAL-Eintrag bei %X/%08X nicht finden: %s"
 
 #: parsexlog.c:218
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "konnte vorangegangenen WAL-Eintrag bei %X/%X nicht finden"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "konnte vorangegangenen WAL-Eintrag bei %X/%08X nicht finden"
 
 #: parsexlog.c:362
 #, c-format
@@ -532,8 +532,8 @@ msgstr "konnte Positionszeiger in Datei »%s« nicht setzen: %m"
 
 #: parsexlog.c:461
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
-msgstr "WAL-Eintrag modifiziert eine Relation, aber Typ des Eintrags wurde nicht erkannt: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
+msgstr "WAL-Eintrag modifiziert eine Relation, aber Typ des Eintrags wurde nicht erkannt: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:94
 #, c-format
@@ -722,8 +722,8 @@ msgstr "Quell- und Ziel-Cluster sind auf der gleichen Zeitleiste"
 
 #: pg_rewind.c:396
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
-msgstr "Server divergierten bei WAL-Position %X/%X auf Zeitleiste %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
+msgstr "Server divergierten bei WAL-Position %X/%08X auf Zeitleiste %u"
 
 #: pg_rewind.c:451
 #, c-format
@@ -732,8 +732,8 @@ msgstr "kein Rückspulen nötig"
 
 #: pg_rewind.c:464
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
-msgstr "Rückspulen ab letztem gemeinsamen Checkpoint bei %X/%X auf Zeitleiste %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
+msgstr "Rückspulen ab letztem gemeinsamen Checkpoint bei %X/%08X auf Zeitleiste %u"
 
 #: pg_rewind.c:474
 #, c-format
@@ -919,53 +919,53 @@ msgstr "Zeitleisten-IDs müssen kleiner als die Zeitleisten-ID des Kindes sein."
 
 #: xlogreader.c:620
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "ungültiger Datensatz-Offset bei %X/%X: mindestens %u erwartet, %u erhalten"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "ungültiger Datensatz-Offset bei %X/%08X: mindestens %u erwartet, %u erhalten"
 
 #: xlogreader.c:629
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "Contrecord angefordert von %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "Contrecord angefordert von %X/%08X"
 
 #: xlogreader.c:670 xlogreader.c:1135
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "ungültige Datensatzlänge bei %X/%X: mindestens %u erwartet, %u erhalten"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "ungültige Datensatzlänge bei %X/%08X: mindestens %u erwartet, %u erhalten"
 
 #: xlogreader.c:759
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "keine Contrecord-Flag bei %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "keine Contrecord-Flag bei %X/%08X"
 
 #: xlogreader.c:772
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "ungültige Contrecord-Länge %u (erwartet %lld) bei %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "ungültige Contrecord-Länge %u (erwartet %lld) bei %X/%08X"
 
 #: xlogreader.c:1143
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ungültige Resource-Manager-ID %u bei %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ungültige Resource-Manager-ID %u bei %X/%08X"
 
 #: xlogreader.c:1156 xlogreader.c:1172
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "Datensatz mit falschem Prev-Link %X/%X bei %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "Datensatz mit falschem Prev-Link %X/%08X bei %X/%08X"
 
 #: xlogreader.c:1210
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "ungültige Resource-Manager-Datenprüfsumme in Datensatz bei %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "ungültige Resource-Manager-Datenprüfsumme in Datensatz bei %X/%08X"
 
 #: xlogreader.c:1244
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ungültige magische Zahl %04X in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ungültige magische Zahl %04X in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: xlogreader.c:1259 xlogreader.c:1301
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ungültige Info-Bits %04X in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ungültige Info-Bits %04X in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: xlogreader.c:1275
 #, c-format
@@ -984,63 +984,63 @@ msgstr "WAL-Datei ist von einem anderen Datenbanksystem: falsche XLOG_BLCKSZ im
 
 #: xlogreader.c:1321
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "unerwartete Pageaddr %X/%X in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "unerwartete Pageaddr %X/%08X in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: xlogreader.c:1347
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: xlogreader.c:1759
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u außer der Reihe bei %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %u außer der Reihe bei %X/%08X"
 
 #: xlogreader.c:1783
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA gesetzt, aber keine Daten enthalten bei %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA gesetzt, aber keine Daten enthalten bei %X/%08X"
 
 #: xlogreader.c:1790
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA nicht gesetzt, aber Datenlänge ist %u bei %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA nicht gesetzt, aber Datenlänge ist %u bei %X/%08X"
 
 #: xlogreader.c:1826
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE gesetzt, aber Loch Offset %u Länge %u Block-Abbild-Länge %u bei %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE gesetzt, aber Loch Offset %u Länge %u Block-Abbild-Länge %u bei %X/%08X"
 
 #: xlogreader.c:1842
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE nicht gesetzt, aber Loch Offset %u Länge %u bei %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE nicht gesetzt, aber Loch Offset %u Länge %u bei %X/%08X"
 
 #: xlogreader.c:1856
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%08X"
 
 #: xlogreader.c:1871
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%08X"
 
 #: xlogreader.c:1887
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL gesetzt, aber keine vorangehende Relation bei %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL gesetzt, aber keine vorangehende Relation bei %X/%08X"
 
 #: xlogreader.c:1899
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "ungültige block_id %u bei %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "ungültige block_id %u bei %X/%08X"
 
 #: xlogreader.c:1966
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "Datensatz mit ungültiger Länge bei %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "Datensatz mit ungültiger Länge bei %X/%08X"
 
 #: xlogreader.c:1992
 #, c-format
@@ -1049,25 +1049,25 @@ msgstr "konnte Backup-Block mit ID %d nicht im WAL-Eintrag finden"
 
 #: xlogreader.c:2076
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "konnte Abbild bei %X/%X mit ungültigem angegebenen Block %d nicht wiederherstellen"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "konnte Abbild bei %X/%08X mit ungültigem angegebenen Block %d nicht wiederherstellen"
 
 #: xlogreader.c:2083
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "konnte Abbild mit ungültigem Zustand bei %X/%X nicht wiederherstellen, Block %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "konnte Abbild mit ungültigem Zustand bei %X/%08X nicht wiederherstellen, Block %d"
 
 #: xlogreader.c:2110 xlogreader.c:2127
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "konnte Abbild bei %X/%X nicht wiederherstellen, komprimiert mit %s, nicht unterstützt von dieser Installation, Block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "konnte Abbild bei %X/%08X nicht wiederherstellen, komprimiert mit %s, nicht unterstützt von dieser Installation, Block %d"
 
 #: xlogreader.c:2136
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "konnte Abbild bei %X/%X nicht wiederherstellen, komprimiert mit unbekannter Methode, Block %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "konnte Abbild bei %X/%08X nicht wiederherstellen, komprimiert mit unbekannter Methode, Block %d"
 
 #: xlogreader.c:2144
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "konnte Abbild bei %X/%X nicht dekomprimieren, Block %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "konnte Abbild bei %X/%08X nicht dekomprimieren, Block %d"
diff --git a/src/bin/pg_rewind/po/el.po b/src/bin/pg_rewind/po/el.po
index bea1edafacd..32972c550b8 100644
--- a/src/bin/pg_rewind/po/el.po
+++ b/src/bin/pg_rewind/po/el.po
@@ -430,28 +430,28 @@ msgstr "η μνήμη δεν επαρκεί για την εκχώρηση επ
 
 #: parsexlog.c:92 parsexlog.c:146
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "δεν ήταν δυνατή η ανάγνωση WAL εγγραφής στο %X/%X: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "δεν ήταν δυνατή η ανάγνωση WAL εγγραφής στο %X/%08X: %s"
 
 #: parsexlog.c:96 parsexlog.c:149
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "δεν ήταν δυνατή η ανάγνωση WAL εγγραφής στο %X/%X"
+msgid "could not read WAL record at %X/%08X"
+msgstr "δεν ήταν δυνατή η ανάγνωση WAL εγγραφής στο %X/%08X"
 
 #: parsexlog.c:108
 #, c-format
-msgid "end pointer %X/%X is not a valid end point; expected %X/%X"
-msgstr "ο δείκτης τέλους %X/%X δεν είναι έγκυρο σημείο τέλους- αναμενόταν %X/%X"
+msgid "end pointer %X/%08X is not a valid end point; expected %X/%08X"
+msgstr "ο δείκτης τέλους %X/%08X δεν είναι έγκυρο σημείο τέλους- αναμενόταν %X/%08X"
 
 #: parsexlog.c:212
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "δεν ήταν δυνατή η εύρεση προηγούμενης WAL εγγραφής σε %X/%X: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "δεν ήταν δυνατή η εύρεση προηγούμενης WAL εγγραφής σε %X/%08X: %s"
 
 #: parsexlog.c:216
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "δεν ήταν δυνατή η εύρεση προηγούμενης WAL εγγραφής σε %X/%X"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "δεν ήταν δυνατή η εύρεση προηγούμενης WAL εγγραφής σε %X/%08X"
 
 #: parsexlog.c:341
 #, c-format
@@ -460,8 +460,8 @@ msgstr "δεν ήταν δυνατή η αναζήτηση στο αρχείο 
 
 #: parsexlog.c:440
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
-msgstr "Η εγγραφή WAL τροποποιεί μια σχέση, αλλά ο τύπος εγγραφής δεν αναγνωρίζεται: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
+msgstr "Η εγγραφή WAL τροποποιεί μια σχέση, αλλά ο τύπος εγγραφής δεν αναγνωρίζεται: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:92
 #, c-format
@@ -644,8 +644,8 @@ msgstr "συστάδες προορισμού και προέλευσης βρί
 
 #: pg_rewind.c:387
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
-msgstr "οι διακομιστές αποκλίνουν στην τοποθεσία WAL %X/%X στη χρονογραμμή %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
+msgstr "οι διακομιστές αποκλίνουν στην τοποθεσία WAL %X/%08X στη χρονογραμμή %u"
 
 #: pg_rewind.c:442
 #, c-format
@@ -654,8 +654,8 @@ msgstr "δεν απαιτείται επαναφορά"
 
 #: pg_rewind.c:451
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
-msgstr "επαναφορά από το τελευταίο κοινό σημείο ελέγχου στο %X/%X στη χρονογραμμή %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
+msgstr "επαναφορά από το τελευταίο κοινό σημείο ελέγχου στο %X/%08X στη χρονογραμμή %u"
 
 #: pg_rewind.c:461
 #, c-format
@@ -831,18 +831,18 @@ msgstr "Τα ID χρονογραμμής πρέπει να είναι λιγότ
 
 #: xlogreader.c:626
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "μη έγκυρη μετατόπιση εγγραφής σε %X/%X: περίμενε τουλάχιστον %u, έλαβε %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "μη έγκυρη μετατόπιση εγγραφής σε %X/%08X: περίμενε τουλάχιστον %u, έλαβε %u"
 
 #: xlogreader.c:635
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord ζητείται από %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord ζητείται από %X/%08X"
 
 #: xlogreader.c:676 xlogreader.c:1119
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "μη έγκυρο μήκος εγγραφής σε %X/%X: περίμενε τουλάχιστον %u, έλαβε %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "μη έγκυρο μήκος εγγραφής σε %X/%08X: περίμενε τουλάχιστον %u, έλαβε %u"
 
 #: xlogreader.c:705
 #, c-format
@@ -851,43 +851,43 @@ msgstr "έλλειψη μνήμης κατά την προσπάθεια απο
 
 #: xlogreader.c:727
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "μήκος εγγραφής %u σε %X/%X πολύ μακρύ"
+msgid "record length %u at %X/%08X too long"
+msgstr "μήκος εγγραφής %u σε %X/%08X πολύ μακρύ"
 
 #: xlogreader.c:776
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "δεν υπάρχει σημαία contrecord στο %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "δεν υπάρχει σημαία contrecord στο %X/%08X"
 
 #: xlogreader.c:789
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "μη έγκυρο μήκος contrecord %u (αναμένεται %lld) σε %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "μη έγκυρο μήκος contrecord %u (αναμένεται %lld) σε %X/%08X"
 
 #: xlogreader.c:1127
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "μη έγκυρο ID %u διαχειριστή πόρων στο %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "μη έγκυρο ID %u διαχειριστή πόρων στο %X/%08X"
 
 #: xlogreader.c:1140 xlogreader.c:1156
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "εγγραφή με εσφαλμένο prev-link %X/%X σε %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "εγγραφή με εσφαλμένο prev-link %X/%08X σε %X/%08X"
 
 #: xlogreader.c:1192
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "εσφαλμένο άθροισμα ελέγχου δεδομένων διαχειριστή πόρων σε εγγραφή στο %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "εσφαλμένο άθροισμα ελέγχου δεδομένων διαχειριστή πόρων σε εγγραφή στο %X/%08X"
 
 #: xlogreader.c:1226
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "μη έγκυρος μαγικός αριθμός %04X στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "μη έγκυρος μαγικός αριθμός %04X στο τμήμα WAL %s, LSN %X/%08X, μετατόπιση %u"
 
 #: xlogreader.c:1241 xlogreader.c:1283
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "μη έγκυρα info bits %04X στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "μη έγκυρα info bits %04X στο τμήμα WAL %s, LSN %X/%08X, μετατόπιση %u"
 
 #: xlogreader.c:1257
 #, c-format
@@ -906,63 +906,63 @@ msgstr "WAL αρχείο προέρχεται από διαφορετικό σύ
 
 #: xlogreader.c:1303
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "μη αναμενόμενο pageaddr %X/%X στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "μη αναμενόμενο pageaddr %X/%08X στο τμήμα WAL %s, LSN %X/%08X, μετατόπιση %u"
 
 #: xlogreader.c:1329
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "εκτός ακολουθίας ID χρονογραμμής %u (μετά %u) στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "εκτός ακολουθίας ID χρονογραμμής %u (μετά %u) στο τμήμα WAL %s, LSN %X/%08X, μετατόπιση %u"
 
 #: xlogreader.c:1735
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "εκτός ακολουθίας block_id %u στο %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "εκτός ακολουθίας block_id %u στο %X/%08X"
 
 #: xlogreader.c:1759
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA έχει οριστεί, αλλά δεν περιλαμβάνονται δεδομένα σε %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA έχει οριστεί, αλλά δεν περιλαμβάνονται δεδομένα σε %X/%08X"
 
 #: xlogreader.c:1766
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA δεν έχει οριστεί, αλλά το μήκος των δεδομένων είναι %u σε %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA δεν έχει οριστεί, αλλά το μήκος των δεδομένων είναι %u σε %X/%08X"
 
 #: xlogreader.c:1802
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE έχει οριστεί, αλλά οπή με μετατόπιση %u μήκος %u μήκος μπλοκ εικόνας %u σε %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE έχει οριστεί, αλλά οπή με μετατόπιση %u μήκος %u μήκος μπλοκ εικόνας %u σε %X/%08X"
 
 #: xlogreader.c:1818
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE δεν έχει οριστεί, αλλά οπή με μετατόπιση %u μήκος %u σε %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE δεν έχει οριστεί, αλλά οπή με μετατόπιση %u μήκος %u σε %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_IS_COMPRESSED έχει οριστεί, αλλά μέγεθος μπλοκ εικόνας %u σε %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_IS_COMPRESSED έχει οριστεί, αλλά μέγεθος μπλοκ εικόνας %u σε %X/%08X"
 
 #: xlogreader.c:1847
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "ούτε BKPIMAGE_HAS_HOLE ούτε BKPIMAGE_IS_COMPRESSED είναι ορισμένα, αλλά το μήκος της εικόνας μπλοκ είναι %u στο %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "ούτε BKPIMAGE_HAS_HOLE ούτε BKPIMAGE_IS_COMPRESSED είναι ορισμένα, αλλά το μήκος της εικόνας μπλοκ είναι %u στο %X/%08X"
 
 #: xlogreader.c:1863
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL είναι ορισμένο, αλλά καμία προηγούμενη rel στο %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL είναι ορισμένο, αλλά καμία προηγούμενη rel στο %X/%08X"
 
 #: xlogreader.c:1875
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "μη έγκυρο block_id %u στο %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "μη έγκυρο block_id %u στο %X/%08X"
 
 #: xlogreader.c:1942
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "εγγραφή με μη έγκυρο μήκος στο %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "εγγραφή με μη έγκυρο μήκος στο %X/%08X"
 
 #: xlogreader.c:1968
 #, c-format
@@ -971,28 +971,28 @@ msgstr "δεν ήταν δυνατή η εύρεση μπλοκ αντιγράφ
 
 #: xlogreader.c:2052
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%X με ορισμένο άκυρο μπλοκ %d"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%08X με ορισμένο άκυρο μπλοκ %d"
 
 #: xlogreader.c:2059
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%X με άκυρη κατάσταση, μπλοκ %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%08X με άκυρη κατάσταση, μπλοκ %d"
 
 #: xlogreader.c:2086 xlogreader.c:2103
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%X συμπιεσμένη με %s που δεν υποστηρίζεται από την υλοποίηση, μπλοκ %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%08X συμπιεσμένη με %s που δεν υποστηρίζεται από την υλοποίηση, μπλοκ %d"
 
 #: xlogreader.c:2112
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%X συμπιεσμένη με άγνωστη μέθοδο, μπλοκ %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%08X συμπιεσμένη με άγνωστη μέθοδο, μπλοκ %d"
 
 #: xlogreader.c:2120
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "δεν ήταν δυνατή η αποσυμπιέση εικόνας στο %X/%X, μπλοκ %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "δεν ήταν δυνατή η αποσυμπιέση εικόνας στο %X/%08X, μπλοκ %d"
 
 #~ msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform"
 #~ msgstr "«%s» είναι ένας συμβολικός σύνδεσμος, αλλά οι συμβολικοί σύνδεσμοι δεν υποστηρίζονται σε αυτήν την πλατφόρμα"
@@ -1015,8 +1015,8 @@ msgstr "δεν ήταν δυνατή η αποσυμπιέση εικόνας σ
 #~ msgid "invalid control file"
 #~ msgstr "μη έγκυρο αρχείο ελέγχου"
 
-#~ msgid "invalid record offset at %X/%X"
-#~ msgstr "μη έγκυρη μετατόπιση εγγραφών σε %X/%X"
+#~ msgid "invalid record offset at %X/%08X"
+#~ msgstr "μη έγκυρη μετατόπιση εγγραφών σε %X/%08X"
 
-#~ msgid "missing contrecord at %X/%X"
-#~ msgstr "λείπει contrecord στο %X/%X"
+#~ msgid "missing contrecord at %X/%08X"
+#~ msgstr "λείπει contrecord στο %X/%08X"
diff --git a/src/bin/pg_rewind/po/es.po b/src/bin/pg_rewind/po/es.po
index 794c991edcd..b657bb114d3 100644
--- a/src/bin/pg_rewind/po/es.po
+++ b/src/bin/pg_rewind/po/es.po
@@ -502,28 +502,28 @@ msgstr "memoria agotada mientras se emplazaba un procesador de lectura de WAL"
 
 #: parsexlog.c:92 parsexlog.c:146
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "no se pudo leer el registro WAL en %X/%X: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "no se pudo leer el registro WAL en %X/%08X: %s"
 
 #: parsexlog.c:96 parsexlog.c:149
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "no se pudo leer el registro WAL en %X/%X"
+msgid "could not read WAL record at %X/%08X"
+msgstr "no se pudo leer el registro WAL en %X/%08X"
 
 #: parsexlog.c:108
 #, c-format
-msgid "end pointer %X/%X is not a valid end point; expected %X/%X"
-msgstr "el puntero de término %X/%X no es un punto válido; se esperaba %X/%X"
+msgid "end pointer %X/%08X is not a valid end point; expected %X/%08X"
+msgstr "el puntero de término %X/%08X no es un punto válido; se esperaba %X/%08X"
 
 #: parsexlog.c:214
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "no se pudo encontrar el registro WAL anterior en %X/%X: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "no se pudo encontrar el registro WAL anterior en %X/%08X: %s"
 
 #: parsexlog.c:218
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "no se pudo encontrar el registro WAL anterior en %X/%X"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "no se pudo encontrar el registro WAL anterior en %X/%08X"
 
 #: parsexlog.c:362
 #, c-format
@@ -532,8 +532,8 @@ msgstr "no se pudo posicionar (seek) el archivo «%s»: %m"
 
 #: parsexlog.c:461
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
-msgstr "el registro WAL modifica una relación, pero el tipo de registro no es reconocido: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
+msgstr "el registro WAL modifica una relación, pero el tipo de registro no es reconocido: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:94
 #, c-format
@@ -723,8 +723,8 @@ msgstr "el cluster de origen y destino están en el mismo timeline"
 
 #: pg_rewind.c:396
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
-msgstr "servidores divergieron en la posición de WAL %X/%X en el timeline %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
+msgstr "servidores divergieron en la posición de WAL %X/%08X en el timeline %u"
 
 #: pg_rewind.c:451
 #, c-format
@@ -733,8 +733,8 @@ msgstr "no se requiere rebobinar"
 
 #: pg_rewind.c:463
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
-msgstr "rebobinando desde el último checkpoint común en %X/%X en el timeline %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
+msgstr "rebobinando desde el último checkpoint común en %X/%08X en el timeline %u"
 
 #: pg_rewind.c:473
 #, c-format
@@ -920,53 +920,53 @@ msgstr "IDs de timeline deben ser menores que el ID de timeline del hijo."
 
 #: xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "desplazamiento de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "desplazamiento de registro no válido en %X/%08X: se esperaba al menos %u, se obtuvo %u"
 
 #: xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord solicitado por %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord solicitado por %X/%08X"
 
 #: xlogreader.c:669 xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "largo de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "largo de registro no válido en %X/%08X: se esperaba al menos %u, se obtuvo %u"
 
 #: xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "no hay bandera de contrecord en %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "no hay bandera de contrecord en %X/%08X"
 
 #: xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%08X"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ID de gestor de recursos %u no válido en %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ID de gestor de recursos %u no válido en %X/%08X"
 
 #: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "registro con prev-link %X/%X incorrecto en %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "registro con prev-link %X/%08X incorrecto en %X/%08X"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%08X"
 
 #: xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "número mágico %04X no válido en segmento WAL %s, LSN %X/%X, posición %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "número mágico %04X no válido en segmento WAL %s, LSN %X/%08X, posición %u"
 
 #: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "info bits %04X no válidos en segment WAL %s, LSN %X/%X, posición %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "info bits %04X no válidos en segment WAL %s, LSN %X/%08X, posición %u"
 
 #: xlogreader.c:1274
 #, c-format
@@ -985,63 +985,63 @@ msgstr "archivo WAL es de un sistema de bases de datos distinto: XLOG_BLCKSZ inc
 
 #: xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "pageaddr %X/%08X inesperado en segmento WAL %s, LSN %X/%08X, posición %u"
 
 #: xlogreader.c:1346
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ID de timeline %u fuera de secuencia (después de %u) en segmento WAL %s, LSN %X/%X, posición %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ID de timeline %u fuera de secuencia (después de %u) en segmento WAL %s, LSN %X/%08X, posición %u"
 
 #: xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u fuera de orden en %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %u fuera de orden en %X/%08X"
 
 #: xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA está definido, pero no hay datos en %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA está definido, pero no hay datos en %X/%08X"
 
 #: xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA no está definido, pero el largo de los datos es %u en %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA no está definido, pero el largo de los datos es %u en %X/%08X"
 
 #: xlogreader.c:1816
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE está definido, pero posición del agujero es %u largo %u largo de imagen %u en %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE está definido, pero posición del agujero es %u largo %u largo de imagen %u en %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE no está definido, pero posición del agujero es %u largo %u en %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE no está definido, pero posición del agujero es %u largo %u en %X/%08X"
 
 #: xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%08X"
 
 #: xlogreader.c:1861
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED están definidos, pero el largo de imagen de bloque es %u en %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED están definidos, pero el largo de imagen de bloque es %u en %X/%08X"
 
 #: xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL está definido, pero no hay «rel» anterior en %X/%X "
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL está definido, pero no hay «rel» anterior en %X/%08X "
 
 #: xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "block_id %u no válido en %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "block_id %u no válido en %X/%08X"
 
 #: xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "registro con largo no válido en %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "registro con largo no válido en %X/%08X"
 
 #: xlogreader.c:1982
 #, c-format
@@ -1050,25 +1050,25 @@ msgstr "no se pudo localizar un bloque de respaldo con ID %d en el registro WAL"
 
 #: xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "no se pudo restaurar la imagen en %X/%X con bloque especificado %d no válido"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "no se pudo restaurar la imagen en %X/%08X con bloque especificado %d no válido"
 
 #: xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "no se pudo restaurar la imagen en %X/%X con estado no válido, bloque %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "no se pudo restaurar la imagen en %X/%08X con estado no válido, bloque %d"
 
 #: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "no se pudo restaurar la imagen en %X/%X comprimida con %s que no está soportado por esta instalación, bloque %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "no se pudo restaurar la imagen en %X/%08X comprimida con %s que no está soportado por esta instalación, bloque %d"
 
 #: xlogreader.c:2126
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "no se pudo restaurar la imagen en %X/%X comprimida con un método desconocido, bloque %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "no se pudo restaurar la imagen en %X/%08X comprimida con un método desconocido, bloque %d"
 
 #: xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "no se pudo descomprimir la imagen en %X/%X, bloque %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "no se pudo descomprimir la imagen en %X/%08X, bloque %d"
diff --git a/src/bin/pg_rewind/po/fr.po b/src/bin/pg_rewind/po/fr.po
index da4f2e14520..1f0153552bf 100644
--- a/src/bin/pg_rewind/po/fr.po
+++ b/src/bin/pg_rewind/po/fr.po
@@ -502,28 +502,28 @@ msgstr "manque mémoire lors de l'allocation d'un processeur de lecture de journ
 
 #: parsexlog.c:92 parsexlog.c:146
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "n'a pas pu lire l'enregistrement WAL précédent à %X/%X : %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "n'a pas pu lire l'enregistrement WAL précédent à %X/%08X : %s"
 
 #: parsexlog.c:96 parsexlog.c:149
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "n'a pas pu lire l'enregistrement WAL précédent à %X/%X"
+msgid "could not read WAL record at %X/%08X"
+msgstr "n'a pas pu lire l'enregistrement WAL précédent à %X/%08X"
 
 #: parsexlog.c:108
 #, c-format
-msgid "end pointer %X/%X is not a valid end point; expected %X/%X"
-msgstr "le pointeur de fin %X/%X n'est pas un pointeur de fin valide ; %X/%X attendu"
+msgid "end pointer %X/%08X is not a valid end point; expected %X/%08X"
+msgstr "le pointeur de fin %X/%08X n'est pas un pointeur de fin valide ; %X/%08X attendu"
 
 #: parsexlog.c:212
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "n'a pas pu trouver l'enregistrement WAL précédent à %X/%X : %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "n'a pas pu trouver l'enregistrement WAL précédent à %X/%08X : %s"
 
 #: parsexlog.c:216
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "n'a pas pu trouver l'enregistrement WAL précédent à %X/%X"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "n'a pas pu trouver l'enregistrement WAL précédent à %X/%08X"
 
 #: parsexlog.c:341
 #, c-format
@@ -532,8 +532,8 @@ msgstr "n'a pas pu parcourir le fichier « %s » : %m"
 
 #: parsexlog.c:440
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
-msgstr "l'enregistrement WAL modifie une relation mais le type d'enregistrement n'est pas reconnu : lsn : %X/%X, rmid : %d, rmgr : %s, info : %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
+msgstr "l'enregistrement WAL modifie une relation mais le type d'enregistrement n'est pas reconnu : lsn : %X/%08X, rmid : %d, rmgr : %s, info : %02X"
 
 #: pg_rewind.c:94
 #, c-format
@@ -728,8 +728,8 @@ msgstr "les instances source et cible sont sur la même ligne de temps"
 
 #: pg_rewind.c:396
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
-msgstr "les serveurs ont divergé à la position %X/%X des WAL sur la timeline %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
+msgstr "les serveurs ont divergé à la position %X/%08X des WAL sur la timeline %u"
 
 #: pg_rewind.c:451
 #, c-format
@@ -738,8 +738,8 @@ msgstr "pas de retour en arrière requis"
 
 #: pg_rewind.c:460
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
-msgstr "retour en arrière depuis le dernier checkpoint commun à %X/%X sur la ligne de temps %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
+msgstr "retour en arrière depuis le dernier checkpoint commun à %X/%08X sur la ligne de temps %u"
 
 #: pg_rewind.c:470
 #, c-format
@@ -927,55 +927,55 @@ msgstr ""
 
 #: xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "décalage invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "décalage invalide de l'enregistrement à %X/%08X : attendait au moins %u, a eu %u"
 
 #: xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "« contrecord » est requis par %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "« contrecord » est requis par %X/%08X"
 
 #: xlogreader.c:669 xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "longueur invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "longueur invalide de l'enregistrement à %X/%08X : attendait au moins %u, a eu %u"
 
 #: xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "il n'existe pas de drapeau contrecord à %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "il n'existe pas de drapeau contrecord à %X/%08X"
 
 #: xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%08X"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%08X"
 
 #: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "enregistrement avec prev-link %X/%X incorrect à %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "enregistrement avec prev-link %X/%08X incorrect à %X/%08X"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
 msgstr ""
 "somme de contrôle des données du gestionnaire de ressources incorrecte à\n"
-"l'enregistrement %X/%X"
+"l'enregistrement %X/%08X"
 
 #: xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "numéro magique invalide %04X dans le segment WAL %s, LSN %X/%X, décalage %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "numéro magique invalide %04X dans le segment WAL %s, LSN %X/%08X, décalage %u"
 
 #: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "bits d'information %04X invalides dans le segment WAL %s, LSN %X/%X, décalage %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "bits d'information %04X invalides dans le segment WAL %s, LSN %X/%08X, décalage %u"
 
 #: xlogreader.c:1274
 #, c-format
@@ -994,63 +994,63 @@ msgstr "Le fichier WAL provient d'une instance différente : XLOG_BLCKSZ incorre
 
 #: xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, LSN %X/%X, segment %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "pageaddr %X/%08X inattendue dans le journal de transactions %s, LSN %X/%08X, segment %u"
 
 #: xlogreader.c:1346
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment WAL %s, LSN %X/%X, décalage %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment WAL %s, LSN %X/%08X, décalage %u"
 
 #: xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u désordonné à %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %u désordonné à %X/%08X"
 
 #: xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%08X"
 
 #: xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%08X"
 
 #: xlogreader.c:1816
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%08X"
 
 #: xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%08X"
 
 #: xlogreader.c:1861
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%08X"
 
 #: xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%08X"
 
 #: xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "block_id %u invalide à %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "block_id %u invalide à %X/%08X"
 
 #: xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "enregistrement de longueur invalide à %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "enregistrement de longueur invalide à %X/%08X"
 
 #: xlogreader.c:1982
 #, c-format
@@ -1059,25 +1059,25 @@ msgstr "n'a pas pu localiser le bloc de sauvegarde d'ID %d dans l'enregistrement
 
 #: xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "n'a pas pu restaurer l'image à %X/%08X avec le bloc invalide %d indiqué"
 
 #: xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "n'a pas pu restaurer l'image à %X/%X avec un état invalide, bloc %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "n'a pas pu restaurer l'image à %X/%08X avec un état invalide, bloc %d"
 
 #: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec %s, qui est non supporté par le serveur, bloc %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "n'a pas pu restaurer l'image à %X/%08X compressé avec %s, qui est non supporté par le serveur, bloc %d"
 
 #: xlogreader.c:2126
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec une méthode inconnue, bloc %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "n'a pas pu restaurer l'image à %X/%08X compressé avec une méthode inconnue, bloc %d"
 
 #: xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "n'a pas pu décompresser l'image à %X/%08X, bloc %d"
diff --git a/src/bin/pg_rewind/po/it.po b/src/bin/pg_rewind/po/it.po
index 0a1c3d44385..cea5c30ba13 100644
--- a/src/bin/pg_rewind/po/it.po
+++ b/src/bin/pg_rewind/po/it.po
@@ -443,28 +443,28 @@ msgstr "Errore nell'allocazione di un processore di lettura del WAL."
 
 #: parsexlog.c:92 parsexlog.c:146
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "lettura del record WAL a %X/%X fallita: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "lettura del record WAL a %X/%08X fallita: %s"
 
 #: parsexlog.c:96 parsexlog.c:149
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "lettura del record WAL a %X/%X fallita"
+msgid "could not read WAL record at %X/%08X"
+msgstr "lettura del record WAL a %X/%08X fallita"
 
 #: parsexlog.c:108
 #, c-format
-msgid "end pointer %X/%X is not a valid end point; expected %X/%X"
-msgstr "il puntatore finale %X/%X non è un punto finale valido; previsto %X/%X"
+msgid "end pointer %X/%08X is not a valid end point; expected %X/%08X"
+msgstr "il puntatore finale %X/%08X non è un punto finale valido; previsto %X/%08X"
 
 #: parsexlog.c:212
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "impossibile trovare il record WAL precedente a %X/%X: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "impossibile trovare il record WAL precedente a %X/%08X: %s"
 
 #: parsexlog.c:216
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "impossibile trovare il record WAL precedente a %X/%X"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "impossibile trovare il record WAL precedente a %X/%08X"
 
 #: parsexlog.c:341
 #, c-format
@@ -473,8 +473,8 @@ msgstr "spostamento nel file \"%s\" fallito: %m"
 
 #: parsexlog.c:440
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
-msgstr "Il record WAL modifica una relazione, ma il tipo di record non viene riconosciuto: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
+msgstr "Il record WAL modifica una relazione, ma il tipo di record non viene riconosciuto: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:86
 #, c-format
@@ -659,8 +659,8 @@ msgstr "i cluster di origine e di destinazione sono sulla stessa linea temporale
 
 #: pg_rewind.c:353
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
-msgstr "i server sono andati a divergere alla posizione WAL %X/%X sulla timeline %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
+msgstr "i server sono andati a divergere alla posizione WAL %X/%08X sulla timeline %u"
 
 #: pg_rewind.c:401
 #, c-format
@@ -669,8 +669,8 @@ msgstr "rewind non richiesto"
 
 #: pg_rewind.c:410
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
-msgstr "riavvolgimento dall'ultimo checkpoint comune a %X/%X sulla timeline %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
+msgstr "riavvolgimento dall'ultimo checkpoint comune a %X/%08X sulla timeline %u"
 
 #: pg_rewind.c:420
 #, c-format
@@ -851,18 +851,18 @@ msgstr "Gli ID della timeline devono avere valori inferiori degli ID della timel
 
 #: xlogreader.c:625
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "offset del record non valido a %X/%X"
+msgid "invalid record offset at %X/%08X"
+msgstr "offset del record non valido a %X/%08X"
 
 #: xlogreader.c:633
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord richiesto da %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord richiesto da %X/%08X"
 
 #: xlogreader.c:674 xlogreader.c:1121
 #, c-format
-msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "lunghezza del record a %X/%X non valida: attesa %u, ricevuta %u"
+msgid "invalid record length at %X/%08X: wanted %u, got %u"
+msgstr "lunghezza del record a %X/%08X non valida: attesa %u, ricevuta %u"
 
 #: xlogreader.c:703
 #, c-format
@@ -871,38 +871,38 @@ msgstr "memoria insufficiente durante il tentativo di decodificare un record di
 
 #: xlogreader.c:725
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "lunghezza del record %u a %X/%X eccessiva"
+msgid "record length %u at %X/%08X too long"
+msgstr "lunghezza del record %u a %X/%08X eccessiva"
 
 #: xlogreader.c:774
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "non c'è un flag di contrecord a %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "non c'è un flag di contrecord a %X/%08X"
 
 #: xlogreader.c:787
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "lunghezza contrada non valida %u (prevista %lld) a %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "lunghezza contrada non valida %u (prevista %lld) a %X/%08X"
 
 #: xlogreader.c:922
 #, c-format
-msgid "missing contrecord at %X/%X"
-msgstr "record mancante a %X/%X"
+msgid "missing contrecord at %X/%08X"
+msgstr "record mancante a %X/%08X"
 
 #: xlogreader.c:1129
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ID di gestione risorse %u non valido a %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ID di gestione risorse %u non valido a %X/%08X"
 
 #: xlogreader.c:1142 xlogreader.c:1158
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "record con link-precedente %X/%X non corretto a %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "record con link-precedente %X/%08X non corretto a %X/%08X"
 
 #: xlogreader.c:1194
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "checksum dei dati del manager di risorse non corretto nel record a %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "checksum dei dati del manager di risorse non corretto nel record a %X/%08X"
 
 #: xlogreader.c:1231
 #, c-format
@@ -931,8 +931,8 @@ msgstr "il file WAL è di un database diverso: XLOG_BLCKSZ non corretto nell'hea
 
 #: xlogreader.c:1305
 #, c-format
-msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
-msgstr "pageaddr inaspettato %X/%X nel segmento di log %s, offset %u"
+msgid "unexpected pageaddr %X/%08X in log segment %s, offset %u"
+msgstr "pageaddr inaspettato %X/%08X nel segmento di log %s, offset %u"
 
 #: xlogreader.c:1330
 #, c-format
@@ -941,53 +941,53 @@ msgstr "ID della timeline %u (dopo %u) fuori sequenza nel segmento di log %s, of
 
 #: xlogreader.c:1735
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id fuori sequenza %u a %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id fuori sequenza %u a %X/%08X"
 
 #: xlogreader.c:1759
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA impostato, ma dati non inclusi a %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA impostato, ma dati non inclusi a %X/%08X"
 
 #: xlogreader.c:1766
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA non impostato, ma la lunghezza dei dati è %u a %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA non impostato, ma la lunghezza dei dati è %u a %X/%08X"
 
 #: xlogreader.c:1802
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE impostato, ma offset buco %u lunghezza %u lunghezza dell'immagine del blocco %u a %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE impostato, ma offset buco %u lunghezza %u lunghezza dell'immagine del blocco %u a %X/%08X"
 
 #: xlogreader.c:1818
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE non impostato, ma offset buco %u lunghezza %u a %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE non impostato, ma offset buco %u lunghezza %u a %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED impostato, ma blocca la lunghezza dell'immagine %u a %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED impostato, ma blocca la lunghezza dell'immagine %u a %X/%08X"
 
 #: xlogreader.c:1847
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "né BKPIMAGE_HAS_HOLE né BKPIMAGE_COMPRESSED impostati, ma la lunghezza dell'immagine del blocco è %u a %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "né BKPIMAGE_HAS_HOLE né BKPIMAGE_COMPRESSED impostati, ma la lunghezza dell'immagine del blocco è %u a %X/%08X"
 
 #: xlogreader.c:1863
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL impostato ma non c'è un rel precedente a %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL impostato ma non c'è un rel precedente a %X/%08X"
 
 #: xlogreader.c:1875
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "block_id %u non valido a %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "block_id %u non valido a %X/%08X"
 
 #: xlogreader.c:1942
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "record con lunghezza non valida a %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "record con lunghezza non valida a %X/%08X"
 
 #: xlogreader.c:1967
 #, c-format
@@ -996,28 +996,28 @@ msgstr "impossibile individuare il blocco di backup con ID %d nel record WAL"
 
 #: xlogreader.c:2051
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "impossibile ripristinare l'immagine in %X/%X con il blocco %d non valido specificato"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "impossibile ripristinare l'immagine in %X/%08X con il blocco %d non valido specificato"
 
 #: xlogreader.c:2058
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "impossibile ripristinare l'immagine in %X/%X con stato non valido, blocco %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "impossibile ripristinare l'immagine in %X/%08X con stato non valido, blocco %d"
 
 #: xlogreader.c:2085 xlogreader.c:2102
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "impossibile ripristinare l'immagine in %X/%X compressa con %s non supportata da build, blocco %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "impossibile ripristinare l'immagine in %X/%08X compressa con %s non supportata da build, blocco %d"
 
 #: xlogreader.c:2111
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "impossibile ripristinare l'immagine in %X/%X compressa con metodo sconosciuto, blocco %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "impossibile ripristinare l'immagine in %X/%08X compressa con metodo sconosciuto, blocco %d"
 
 #: xlogreader.c:2119
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "impossibile decomprimere l'immagine in %X/%X, blocco %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "impossibile decomprimere l'immagine in %X/%08X, blocco %d"
 
 #~ msgid "  block %u\n"
 #~ msgstr "  blocco %u\n"
@@ -1031,8 +1031,8 @@ msgstr "impossibile decomprimere l'immagine in %X/%X, blocco %d"
 #~ msgid "\"%s\" is not a symbolic link\n"
 #~ msgstr "\"%s\" non è un link simbolico\n"
 
-#~ msgid "%d: %X/%X - %X/%X\n"
-#~ msgstr "%d: %X/%X - %X/%X\n"
+#~ msgid "%d: %X/%08X - %X/%08X\n"
+#~ msgstr "%d: %X/%08X - %X/%08X\n"
 
 #~ msgid "%s (%s)\n"
 #~ msgstr "%s (%s)\n"
diff --git a/src/bin/pg_rewind/po/ja.po b/src/bin/pg_rewind/po/ja.po
index 80cdf4e73ba..7f2963043fe 100644
--- a/src/bin/pg_rewind/po/ja.po
+++ b/src/bin/pg_rewind/po/ja.po
@@ -505,28 +505,28 @@ msgstr "WAL読み取り機構のメモリ割り当て中にメモリ不足"
 
 #: parsexlog.c:92 parsexlog.c:146
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "%X/%XのWALレコードを読み取れませんでした: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "%X/%08XのWALレコードを読み取れませんでした: %s"
 
 #: parsexlog.c:96 parsexlog.c:149
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "%X/%XのWALレコードを読み取れませんでした"
+msgid "could not read WAL record at %X/%08X"
+msgstr "%X/%08XのWALレコードを読み取れませんでした"
 
 #: parsexlog.c:108
 #, c-format
-msgid "end pointer %X/%X is not a valid end point; expected %X/%X"
-msgstr "終了点%X/%Xは妥当な終了点ではありません; %X/%Xを期待していました"
+msgid "end pointer %X/%08X is not a valid end point; expected %X/%08X"
+msgstr "終了点%X/%08Xは妥当な終了点ではありません; %X/%08Xを期待していました"
 
 #: parsexlog.c:214
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "%X/%Xの前のWALレコードが見つかりませんでした: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "%X/%08Xの前のWALレコードが見つかりませんでした: %s"
 
 #: parsexlog.c:218
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "%X/%Xの前のWALレコードが見つかりませんでした"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "%X/%08Xの前のWALレコードが見つかりませんでした"
 
 #: parsexlog.c:362
 #, c-format
@@ -535,8 +535,8 @@ msgstr "ファイル\"%s\"をシークできませんでした: %m"
 
 #: parsexlog.c:461
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
-msgstr "WALレコードはリレーションを更新しますが、レコードの型を認識できません: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
+msgstr "WALレコードはリレーションを更新しますが、レコードの型を認識できません: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:94
 #, c-format
@@ -721,7 +721,7 @@ msgstr "ソースとターゲットのクラスタが同一タイムライン上
 
 #: pg_rewind.c:396
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
 msgstr "タイムライン%3$uのWAL位置%1$X/%2$Xで両サーバーが分岐しています"
 
 #: pg_rewind.c:451
@@ -731,7 +731,7 @@ msgstr "巻き戻しは必要ありません"
 
 #: pg_rewind.c:464
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
 msgstr "タイムライン%3$uの%1$X/%2$Xにある最新の共通チェックポイントから巻き戻しています"
 
 #: pg_rewind.c:474
@@ -917,52 +917,52 @@ msgstr "タイムラインIDは子のタイムラインIDより小さくなけ
 
 #: xlogreader.c:620
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "%X/%Xのレコードオフセットが無効です:最低でも%uを期待していましたが、実際は%uでした"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "%X/%08Xのレコードオフセットが無効です:最低でも%uを期待していましたが、実際は%uでした"
 
 #: xlogreader.c:629
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "%X/%Xではcontrecordが必要です"
+msgid "contrecord is requested by %X/%08X"
+msgstr "%X/%08Xではcontrecordが必要です"
 
 #: xlogreader.c:670 xlogreader.c:1135
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "%X/%Xのレコード長が無効です:最低でも%uを期待していましたが、実際は%uでした"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "%X/%08Xのレコード長が無効です:最低でも%uを期待していましたが、実際は%uでした"
 
 #: xlogreader.c:759
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "%X/%Xで contrecord フラグがありません"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "%X/%08Xで contrecord フラグがありません"
 
 #: xlogreader.c:772
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
 msgstr "%3$X/%4$Xの継続レコードの長さ%1$u(正しくは%2$lld)は不正です"
 
 #: xlogreader.c:1143
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
 msgstr "%2$X/%3$XのリソースマネージャID %1$uが無効です"
 
 #: xlogreader.c:1156 xlogreader.c:1172
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
 msgstr "直前のリンク%1$X/%2$Xが不正なレコードが%3$X/%4$Xにあります"
 
 #: xlogreader.c:1210
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "%X/%Xのレコード内のリソースマネージャデータのチェックサムが不正です"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "%X/%08Xのレコード内のリソースマネージャデータのチェックサムが不正です"
 
 #: xlogreader.c:1244
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント%2$s、LSN %3$X/%4$X、オフセット%5$uで不正なマジックナンバー%1$04X"
 
 #: xlogreader.c:1259 xlogreader.c:1301
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント %2$s、LSN %3$X/%4$X、オフセット%5$uで不正な情報ビット列%1$04X"
 
 #: xlogreader.c:1275
@@ -982,63 +982,63 @@ msgstr "WAL ファイルは異なるデータベースシステム由来のも
 
 #: xlogreader.c:1321
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント%3$s、LSN %4$X/%5$X、オフセット%6$uで想定外のページアドレス%1$X/%2$X"
 
 #: xlogreader.c:1347
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント%3$s、LSN %4$X/%5$X、オフセット%6$uで異常な順序のタイムラインID %1$u(%2$uの後)"
 
 #: xlogreader.c:1759
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %uが%X/%Xで無効です"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %uが%X/%08Xで無効です"
 
 #: xlogreader.c:1783
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATAが設定されていますが、%X/%Xにデータがありません"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATAが設定されていますが、%X/%08Xにデータがありません"
 
 #: xlogreader.c:1790
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
 msgstr "BKPBLOCK_HAS_DATAが設定されていませんが、%2$X/%3$Xのデータ長は%1$u"
 
 #: xlogreader.c:1826
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
 msgstr "BKPIMAGE_HAS_HOLEが設定されていますが、%4$X/%5$Xでホールオフセット%1$u、長さ%2$u、ブロックイメージ長%3$u"
 
 #: xlogreader.c:1842
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr "BKPIMAGE_HAS_HOLEが設定されていませんが、%3$X/%4$Xにホールオフセット%1$u、長さ%2$u"
 
 #: xlogreader.c:1856
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr "BKPIMAGE_COMPRESSEDが設定されていますが、%2$X/%3$Xにおいてブロックイメージ長が%1$uです"
 
 #: xlogreader.c:1871
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
 msgstr "BKPIMAGE_HAS_HOLEもBKPIMAGE_COMPRESSEDも設定されていませんが、%2$X/%3$Xにおいてブロックイメージ長が%1$uです"
 
 #: xlogreader.c:1887
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_RELが設定されていますが、%X/%Xにおいて以前のリレーションがありません"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_RELが設定されていますが、%X/%08Xにおいて以前のリレーションがありません"
 
 #: xlogreader.c:1899
 #, c-format
-msgid "invalid block_id %u at %X/%X"
+msgid "invalid block_id %u at %X/%08X"
 msgstr "%2$X/%3$Xにおけるblock_id %1$uが無効です"
 
 #: xlogreader.c:1966
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "%X/%Xのレコードのサイズが無効です"
+msgid "record with invalid length at %X/%08X"
+msgstr "%X/%08Xのレコードのサイズが無効です"
 
 #: xlogreader.c:1992
 #, c-format
@@ -1047,25 +1047,25 @@ msgstr "WALレコード中のID %dのバックアップブロックを特定で
 
 #: xlogreader.c:2076
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "%X/%Xで不正なブロック%dが指定されているためイメージが復元できませんでした"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "%X/%08Xで不正なブロック%dが指定されているためイメージが復元できませんでした"
 
 #: xlogreader.c:2083
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "%X/%Xでブロック%dのイメージが不正な状態であるため復元できませんでした"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "%X/%08Xでブロック%dのイメージが不正な状態であるため復元できませんでした"
 
 #: xlogreader.c:2110 xlogreader.c:2127
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
 msgstr "%1$X/%2$Xで、ブロック%4$dがこのビルドでサポートされない圧縮方式%3$sで圧縮されているため復元できませんでした"
 
 #: xlogreader.c:2136
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "%X/%Xでブロック%dのイメージが不明な方式で圧縮されているため復元できませんでした"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "%X/%08Xでブロック%dのイメージが不明な方式で圧縮されているため復元できませんでした"
 
 #: xlogreader.c:2144
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "%X/%Xのブロック%dが伸張できませんでした"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "%X/%08Xのブロック%dが伸張できませんでした"
diff --git a/src/bin/pg_rewind/po/ka.po b/src/bin/pg_rewind/po/ka.po
index 5f0c442e810..9356dee6278 100644
--- a/src/bin/pg_rewind/po/ka.po
+++ b/src/bin/pg_rewind/po/ka.po
@@ -502,28 +502,28 @@ msgstr "არასაკმარისი მეხსიერება WAL-
 
 #: parsexlog.c:92 parsexlog.c:146
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "შეცდომა WAL ჩანაწერის კითხვისას: %X/%X: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "შეცდომა WAL ჩანაწერის კითხვისას: %X/%08X: %s"
 
 #: parsexlog.c:96 parsexlog.c:149
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "შეცდომა WAL ჩანაწერის კითხვისას: %X/%X"
+msgid "could not read WAL record at %X/%08X"
+msgstr "შეცდომა WAL ჩანაწერის კითხვისას: %X/%08X"
 
 #: parsexlog.c:108
 #, c-format
-msgid "end pointer %X/%X is not a valid end point; expected %X/%X"
-msgstr "ბოლოს მაჩვენებელი %X/%X არასწორი ბოლოს მაჩვენებელია. მოველოდი %X/%X"
+msgid "end pointer %X/%08X is not a valid end point; expected %X/%08X"
+msgstr "ბოლოს მაჩვენებელი %X/%08X არასწორი ბოლოს მაჩვენებელია. მოველოდი %X/%08X"
 
 #: parsexlog.c:214
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "წინა WAL ჩანაწერის პოვნა შეუძლებელია მისამართზე %X/%X: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "წინა WAL ჩანაწერის პოვნა შეუძლებელია მისამართზე %X/%08X: %s"
 
 #: parsexlog.c:218
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "წინა WAL ჩანაწერის პოვნა შეუძლებელია მისამართზე %X/%X"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "წინა WAL ჩანაწერის პოვნა შეუძლებელია მისამართზე %X/%08X"
 
 #: parsexlog.c:362
 #, c-format
@@ -532,8 +532,8 @@ msgstr "ფაილში (%s) გადახვევის პრობლ
 
 #: parsexlog.c:461
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
-msgstr "WAL ჩანაწერი ცვლის ურთიერთობას, მაგრამ ჩანაწერის ტიპი უცნობია: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
+msgstr "WAL ჩანაწერი ცვლის ურთიერთობას, მაგრამ ჩანაწერის ტიპი უცნობია: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:94
 #, c-format
@@ -719,8 +719,8 @@ msgstr "საწყისი და სამიზნე კლასტერ
 
 #: pg_rewind.c:396
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
-msgstr "სერვერი დაშორდა WAL-ს მდებარეობაზე %X/%X დროის ხაზზე %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
+msgstr "სერვერი დაშორდა WAL-ს მდებარეობაზე %X/%08X დროის ხაზზე %u"
 
 #: pg_rewind.c:451
 #, c-format
@@ -729,8 +729,8 @@ msgstr "გადახვევა საჭირო არაა"
 
 #: pg_rewind.c:464
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
-msgstr "გადახვევა ბოლო საერთო საკონტროლო წერტილიდან მისამართზე %X/%X დროის ხაზზე %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
+msgstr "გადახვევა ბოლო საერთო საკონტროლო წერტილიდან მისამართზე %X/%08X დროის ხაზზე %u"
 
 #: pg_rewind.c:474
 #, c-format
@@ -916,53 +916,53 @@ msgstr "დროის ხაზის ID-ები შვილეული 
 
 #: xlogreader.c:620
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%X: მინდოდა %u, მივიღე %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%08X: მინდოდა %u, მივიღე %u"
 
 #: xlogreader.c:629
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord მოთხოვნილია %X/%X-ის მიერ"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord მოთხოვნილია %X/%08X-ის მიერ"
 
 #: xlogreader.c:670 xlogreader.c:1135
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "ჩანაწერის არასწორი სიგრძე მისამართზე %X/%X: მოველოდი მინიმუმ %u, მივიღე %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "ჩანაწერის არასწორი სიგრძე მისამართზე %X/%08X: მოველოდი მინიმუმ %u, მივიღე %u"
 
 #: xlogreader.c:759
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "contrecord ალამი მისამართზე %X/%X არ არსებობს"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "contrecord ალამი მისამართზე %X/%08X არ არსებობს"
 
 #: xlogreader.c:772
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "contrecord -ის არასწორი სიგრძე %u (მოველოდი %lld) მისამართზე %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "contrecord -ის არასწორი სიგრძე %u (მოველოდი %lld) მისამართზე %X/%08X"
 
 #: xlogreader.c:1143
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "რესურსის მმართველის არასწორი ID %u მისამართზე %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "რესურსის მმართველის არასწორი ID %u მისამართზე %X/%08X"
 
 #: xlogreader.c:1156 xlogreader.c:1172
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "ჩანაწერი არასწორი წინა ბმულით %X/%X მისამართზე %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "ჩანაწერი არასწორი წინა ბმულით %X/%08X მისამართზე %X/%08X"
 
 #: xlogreader.c:1210
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "რესურსის მმართველის მონაცემების არასწორი საკონტროლო რიცხვი ჩანაწერში მისამართზე %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "რესურსის მმართველის მონაცემების არასწორი საკონტროლო რიცხვი ჩანაწერში მისამართზე %X/%08X"
 
 #: xlogreader.c:1244
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "არასწორი მაგიური რიცხვი %04X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "არასწორი მაგიური რიცხვი %04X ჟურნალის სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: xlogreader.c:1259 xlogreader.c:1301
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "არასწორი საინფორმაციო ბიტები %04X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "არასწორი საინფორმაციო ბიტები %04X ჟურნალის სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: xlogreader.c:1275
 #, c-format
@@ -981,63 +981,63 @@ msgstr "WAL ფაილი სხვა მონაცემთა ბაზ
 
 #: xlogreader.c:1321
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "მოულოდნელი pageaddr %X/%X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "მოულოდნელი pageaddr %X/%08X ჟურნალის სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: xlogreader.c:1347
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "მიმდევრობის-გარე დროის ხაზის ID %u (%u-ის შემდეგ) ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "მიმდევრობის-გარე დროის ხაზის ID %u (%u-ის შემდეგ) ჟურნალის სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: xlogreader.c:1759
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "ურიგო block_id %u მისამართზე %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "ურიგო block_id %u მისამართზე %X/%08X"
 
 #: xlogreader.c:1783
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ მონაცემები მისამართზე %X/%X არ არსებობს"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ მონაცემები მისამართზე %X/%08X არ არსებობს"
 
 #: xlogreader.c:1790
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ არსებობს მონაცემები სიგრძით %u მისამართზე %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ არსებობს მონაცემები სიგრძით %u მისამართზე %X/%08X"
 
 #: xlogreader.c:1826
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE დაყენებულია, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u ბლოკის ასლის სიგრძე %u მისამართზე %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE დაყენებულია, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u ბლოკის ასლის სიგრძე %u მისამართზე %X/%08X"
 
 #: xlogreader.c:1842
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE დაყენებული არაა, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u მისანართზე %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE დაყენებული არაა, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u მისანართზე %X/%08X"
 
 #: xlogreader.c:1856
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED დაყენებულია, მაგრამ ბლოკის ასლის სიგრძეა %u მისამართზე %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED დაყენებულია, მაგრამ ბლოკის ასლის სიგრძეა %u მისამართზე %X/%08X"
 
 #: xlogreader.c:1871
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "არც BKPIMAGE_HAS_HOLE და არც BKPIMAGE_COMPRESSED დაყენებული არაა, მაგრამ ბლოკის ასლის სიგრძე %u-ა, მისამართზე %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "არც BKPIMAGE_HAS_HOLE და არც BKPIMAGE_COMPRESSED დაყენებული არაა, მაგრამ ბლოკის ასლის სიგრძე %u-ა, მისამართზე %X/%08X"
 
 #: xlogreader.c:1887
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL დაყენებულია, მაგრამ წინა მნიშვნელობა მითითებული არაა მისამართზე %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL დაყენებულია, მაგრამ წინა მნიშვნელობა მითითებული არაა მისამართზე %X/%08X"
 
 #: xlogreader.c:1899
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "არასწორი block_id %u %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "არასწორი block_id %u %X/%08X"
 
 #: xlogreader.c:1966
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "ჩანაწერი არასწორი სიგრძით მისამართზე %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "ჩანაწერი არასწორი სიგრძით მისამართზე %X/%08X"
 
 #: xlogreader.c:1992
 #, c-format
@@ -1046,28 +1046,28 @@ msgstr "შეცდომა WAL ჩანაწერში მარქაფ
 
 #: xlogreader.c:2076
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%X, როცა მითითებულია არასწორი ბლოკი %d"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%08X, როცა მითითებულია არასწორი ბლოკი %d"
 
 #: xlogreader.c:2083
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%X არასწორი მდგომარეობით, ბლოკი %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%08X არასწორი მდგომარეობით, ბლოკი %d"
 
 #: xlogreader.c:2110 xlogreader.c:2127
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
 msgstr "%3$s მეთოდით შეკუმშული ასლის აღდგენა მისამართზე %1$X/%2$X, ბლოკი %4$d შეუძლებელია. მხარდაუჭერელია ამ აგების მიერ"
 
 #: xlogreader.c:2136
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%X, შეკუმშულია უცნობი მეთოდით, ბლოკი %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%08X, შეკუმშულია უცნობი მეთოდით, ბლოკი %d"
 
 #: xlogreader.c:2144
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "შეუძლებელია ასლის გაშლა მისამართზე %X/%X, ბლოკი %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "შეუძლებელია ასლის გაშლა მისამართზე %X/%08X, ბლოკი %d"
 
 #, c-format
 #~ msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform"
@@ -1096,17 +1096,17 @@ msgstr "შეუძლებელია ასლის გაშლა მი
 #~ msgstr "არასწორი კონტროლის ფაილი"
 
 #, c-format
-#~ msgid "invalid record offset at %X/%X"
-#~ msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%X"
+#~ msgid "invalid record offset at %X/%08X"
+#~ msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%08X"
 
 #, c-format
-#~ msgid "missing contrecord at %X/%X"
-#~ msgstr "contrecord მისამართზე %X/%X არ არსებობს"
+#~ msgid "missing contrecord at %X/%08X"
+#~ msgstr "contrecord მისამართზე %X/%08X არ არსებობს"
 
 #, c-format
 #~ msgid "out of memory while trying to decode a record of length %u"
 #~ msgstr "%u სიგრძის მქონე ჩანაწერის დეკოდირებისთვის მეხსიერება საკმარისი არაა"
 
 #, c-format
-#~ msgid "record length %u at %X/%X too long"
-#~ msgstr "ჩანაწერის სიგრძე %u მისამართზე %X/%X ძალიან გრძელია"
+#~ msgid "record length %u at %X/%08X too long"
+#~ msgstr "ჩანაწერის სიგრძე %u მისამართზე %X/%08X ძალიან გრძელია"
diff --git a/src/bin/pg_rewind/po/ko.po b/src/bin/pg_rewind/po/ko.po
index 459bbd71401..90e4056d720 100644
--- a/src/bin/pg_rewind/po/ko.po
+++ b/src/bin/pg_rewind/po/ko.po
@@ -503,28 +503,28 @@ msgstr "WAL 읽기 프로세서를 할당하는 중 메모리 부족"
 
 #: parsexlog.c:92 parsexlog.c:146
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "%X/%X 위치에서 WAL 레코드를 읽을 수 없음: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "%X/%08X 위치에서 WAL 레코드를 읽을 수 없음: %s"
 
 #: parsexlog.c:96 parsexlog.c:149
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "%X/%X 위치에서 WAL 레코드를 읽을 수 없음"
+msgid "could not read WAL record at %X/%08X"
+msgstr "%X/%08X 위치에서 WAL 레코드를 읽을 수 없음"
 
 #: parsexlog.c:108
 #, c-format
-msgid "end pointer %X/%X is not a valid end point; expected %X/%X"
-msgstr "%X/%X 끝 포인터는 바른값이 아님; 기대값: %X/%X"
+msgid "end pointer %X/%08X is not a valid end point; expected %X/%08X"
+msgstr "%X/%08X 끝 포인터는 바른값이 아님; 기대값: %X/%08X"
 
 #: parsexlog.c:214
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "%X/%X 위치에서 이전 WAL 레코드를 찾을 수 없음: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "%X/%08X 위치에서 이전 WAL 레코드를 찾을 수 없음: %s"
 
 #: parsexlog.c:218
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "%X/%X 위치에서 이전 WAL 레코드를 찾을 수 없음"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "%X/%08X 위치에서 이전 WAL 레코드를 찾을 수 없음"
 
 #: parsexlog.c:362
 #, c-format
@@ -538,7 +538,7 @@ msgid ""
 "%X, rmid: %d, rmgr: %s, info: %02X"
 msgstr ""
 "WAL 레코드가 릴레이션을 변경하려고 하지만, 레코드 형태가 바르지 않음: lsn: "
-"%X/%X, rmid: %d, rmgr: %s, info: %02X"
+"%X/%08X, rmid: %d, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:94
 #, c-format
@@ -739,8 +739,8 @@ msgstr "원본과 대상 클러스터의 타임라인이 같음"
 
 #: pg_rewind.c:396
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
-msgstr "서버 분기 WAL 위치: %X/%X, 타임라인 %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
+msgstr "서버 분기 WAL 위치: %X/%08X, 타임라인 %u"
 
 #: pg_rewind.c:451
 #, c-format
@@ -749,8 +749,8 @@ msgstr "되감을 필요 없음"
 
 #: pg_rewind.c:463
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
-msgstr "재동기화 시작함, 마지막 체크포인트 위치 %X/%X, 타임라인 %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
+msgstr "재동기화 시작함, 마지막 체크포인트 위치 %X/%08X, 타임라인 %u"
 
 #: pg_rewind.c:473
 #, c-format
@@ -945,53 +945,53 @@ msgstr "타임라인 ID는 하위 타임라인 ID보다 작아야 합니다."
 
 #: xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "잘못된 레코드 오프셋:위치 %X/%X, 기대값 %u, 실재값 %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "잘못된 레코드 오프셋:위치 %X/%08X, 기대값 %u, 실재값 %u"
 
 #: xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "%X/%X에서 contrecord를 필요로 함"
+msgid "contrecord is requested by %X/%08X"
+msgstr "%X/%08X에서 contrecord를 필요로 함"
 
 #: xlogreader.c:669 xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "잘못된 레코드 길이:위치 %X/%X, 기대값 %u, 실재값 %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "잘못된 레코드 길이:위치 %X/%08X, 기대값 %u, 실재값 %u"
 
 #: xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "%X/%X 위치에 contrecord 플래그가 없음"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "%X/%08X 위치에 contrecord 플래그가 없음"
 
 #: xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "잘못된 contrecord 길이 %u (기대값: %lld), 위치 %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "잘못된 contrecord 길이 %u (기대값: %lld), 위치 %X/%08X"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "잘못된 자원 관리 ID %u, 위치: %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "잘못된 자원 관리 ID %u, 위치: %X/%08X"
 
 #: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "레코드의 잘못된 프리링크 %X/%X, 해당 레코드 %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "레코드의 잘못된 프리링크 %X/%08X, 해당 레코드 %X/%08X"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "잘못된 자원관리자 데이터 체크섬, 위치: %X/%X 레코드"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "잘못된 자원관리자 데이터 체크섬, 위치: %X/%08X 레코드"
 
 #: xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "%04X 매직 번호가 잘못됨, WAL 조각파일: %s, LSN %X/%X, 오프셋 %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "%04X 매직 번호가 잘못됨, WAL 조각파일: %s, LSN %X/%08X, 오프셋 %u"
 
 #: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "잘못된 정보 비트 %04X, WAL 조각파일: %s, LSN %X/%X, 오프셋 %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "잘못된 정보 비트 %04X, WAL 조각파일: %s, LSN %X/%08X, 오프셋 %u"
 
 #: xlogreader.c:1274
 #, c-format
@@ -1022,77 +1022,77 @@ msgstr ""
 
 #: xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "잘못된 페이지 주소 %X/%X, WAL 조각파일: %s, LSN %X/%X, 오프셋 %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "잘못된 페이지 주소 %X/%08X, WAL 조각파일: %s, LSN %X/%08X, 오프셋 %u"
 
 #: xlogreader.c:1346
 #, c-format
 msgid ""
-"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, "
+"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, "
 "offset %u"
 msgstr ""
-"타임라인 범위 벗어남 %u (이전 번호 %u), WAL 조각파일: %s, LSN %X/%X, 오프셋 "
+"타임라인 범위 벗어남 %u (이전 번호 %u), WAL 조각파일: %s, LSN %X/%08X, 오프셋 "
 "%u"
 
 #: xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "%u block_id는 범위를 벗어남, 위치 %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "%u block_id는 범위를 벗어남, 위치 %X/%08X"
 
 #: xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA 지정했지만, %X/%X 에 자료가 없음"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA 지정했지만, %X/%08X 에 자료가 없음"
 
 #: xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA 지정 않았지만, %u 길이의 자료가 있음, 위치 %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA 지정 않았지만, %u 길이의 자료가 있음, 위치 %X/%08X"
 
 #: xlogreader.c:1816
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
-"%X/%X"
+"%X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE 설정이 되어 있지만, 옵셋: %u, 길이: %u, 블록 이미지 길이: "
-"%u, 대상: %X/%X"
+"%u, 대상: %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr ""
-"BKPIMAGE_HAS_HOLE 설정이 안되어 있지만, 옵셋: %u, 길이: %u, 대상: %X/%X"
+"BKPIMAGE_HAS_HOLE 설정이 안되어 있지만, 옵셋: %u, 길이: %u, 대상: %X/%08X"
 
 #: xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr ""
-"BKPIMAGE_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%X"
+"BKPIMAGE_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%08X"
 
 #: xlogreader.c:1861
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image "
-"length is %u at %X/%X"
+"length is %u at %X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE, BKPIMAGE_COMPRESSED 지정 안되어 있으나, 블록 이미지 길이"
-"는 %u, 대상: %X/%X"
+"는 %u, 대상: %X/%08X"
 
 #: xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL 설정이 되어 있지만, %X/%X 에 이전 릴레이션 없음"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL 설정이 되어 있지만, %X/%08X 에 이전 릴레이션 없음"
 
 #: xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "잘못된 block_id %u, 위치 %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "잘못된 block_id %u, 위치 %X/%08X"
 
 #: xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "잘못된 레코드 길이, 위치 %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "잘못된 레코드 길이, 위치 %X/%08X"
 
 #: xlogreader.c:1982
 #, c-format
@@ -1101,42 +1101,42 @@ msgstr "WAL 레코드에 %d ID 백업 블록이 없음"
 
 #: xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "%X/%X 위치에 이미지 복원 실패(%d 블록이 바르지 않음)"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "%X/%08X 위치에 이미지 복원 실패(%d 블록이 바르지 않음)"
 
 #: xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "%X/%X 에 잘못된 상태값으로 이미지 복원 실패, 블록 %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "%X/%08X 에 잘못된 상태값으로 이미지 복원 실패, 블록 %d"
 
 #: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
 msgid ""
-"could not restore image at %X/%X compressed with %s not supported by build, "
+"could not restore image at %X/%08X compressed with %s not supported by build, "
 "block %d"
 msgstr ""
-"%X/%X 위치에 %s 압축된 이미지 복원 실패, 해당 엔진이 지원하지 않음, 해당블"
+"%X/%08X 위치에 %s 압축된 이미지 복원 실패, 해당 엔진이 지원하지 않음, 해당블"
 "록: %d"
 
 #: xlogreader.c:2126
 #, c-format
 msgid ""
-"could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "%X/%X 위치에 알수 없는 압축 방식의 이미지 복원 실패, 해당블록: %d"
+"could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "%X/%08X 위치에 알수 없는 압축 방식의 이미지 복원 실패, 해당블록: %d"
 
 #: xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "%X/%X 에서 이미 압축 풀기 실패, 블록 %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "%X/%08X 에서 이미 압축 풀기 실패, 블록 %d"
 
 #, c-format
-#~ msgid "missing contrecord at %X/%X"
-#~ msgstr "%X/%X 위치에 contrecord 없음"
+#~ msgid "missing contrecord at %X/%08X"
+#~ msgstr "%X/%08X 위치에 contrecord 없음"
 
 #, c-format
 #~ msgid "out of memory while trying to decode a record of length %u"
 #~ msgstr "%u 길이의 레코드를 디코딩 하는 중 메모리 부족"
 
 #, c-format
-#~ msgid "record length %u at %X/%X too long"
-#~ msgstr "너무 긴 길이(%u)의 레코드가 %X/%X에 있음"
+#~ msgid "record length %u at %X/%08X too long"
+#~ msgstr "너무 긴 길이(%u)의 레코드가 %X/%08X에 있음"
diff --git a/src/bin/pg_rewind/po/pl.po b/src/bin/pg_rewind/po/pl.po
index 06b83d7fe8b..92ec89c7560 100644
--- a/src/bin/pg_rewind/po/pl.po
+++ b/src/bin/pg_rewind/po/pl.po
@@ -390,23 +390,23 @@ msgstr "%*s/%s kB (%d%%) skopiowano"
 
 #: parsexlog.c:87 parsexlog.c:133
 #, c-format
-msgid "could not read WAL record at %X/%X: %s\n"
-msgstr "nie udało się odczytać rekordu WAL na %X/%X: %s\n"
+msgid "could not read WAL record at %X/%08X: %s\n"
+msgstr "nie udało się odczytać rekordu WAL na %X/%08X: %s\n"
 
 #: parsexlog.c:91 parsexlog.c:136
 #, c-format
-msgid "could not read WAL record at %X/%X\n"
-msgstr "nie udało się odczytać rekordu WAL na %X/%X\n"
+msgid "could not read WAL record at %X/%08X\n"
+msgstr "nie udało się odczytać rekordu WAL na %X/%08X\n"
 
 #: parsexlog.c:191
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s\n"
-msgstr "nie udało się odnaleźć poprzedniego rekordu WAL na %X/%X: %s\n"
+msgid "could not find previous WAL record at %X/%08X: %s\n"
+msgstr "nie udało się odnaleźć poprzedniego rekordu WAL na %X/%08X: %s\n"
 
 #: parsexlog.c:195
 #, c-format
-msgid "could not find previous WAL record at %X/%X\n"
-msgstr "nie udało się odnaleźć poprzedniego rekordu WAL na %X/%X\n"
+msgid "could not find previous WAL record at %X/%08X\n"
+msgstr "nie udało się odnaleźć poprzedniego rekordu WAL na %X/%08X\n"
 
 #: parsexlog.c:283
 #, c-format
@@ -427,10 +427,10 @@ msgstr "nie można czytać z pliku \"%s\": %s\n"
 #, c-format
 msgid ""
 "WAL record modifies a relation, but record type is not recognized\n"
-"lsn: %X/%X, rmgr: %s, info: %02X\n"
+"lsn: %X/%08X, rmgr: %s, info: %02X\n"
 msgstr ""
 "rekord WAL zmienia relację, butale typ rekordu nie został rozpoznany\n"
-"lsn: %X/%X, rmgr: %s, info: %02X\n"
+"lsn: %X/%08X, rmgr: %s, info: %02X\n"
 
 #: pg_rewind.c:64
 #, c-format
@@ -549,8 +549,8 @@ msgstr "klaster źródłowy i docelowy są na tej samej linii czasowej\n"
 
 #: pg_rewind.c:234
 #, c-format
-msgid "servers diverged at WAL position %X/%X on timeline %u\n"
-msgstr "serwery rozeszły się na pozycji WAL %X/%X linii czasowej %u\n"
+msgid "servers diverged at WAL position %X/%08X on timeline %u\n"
+msgstr "serwery rozeszły się na pozycji WAL %X/%08X linii czasowej %u\n"
 
 #: pg_rewind.c:271
 #, c-format
@@ -559,8 +559,8 @@ msgstr "przewinięcie nie jest konieczne\n"
 
 #: pg_rewind.c:278
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u\n"
-msgstr "przewinięcie do ostatniego zgodnego punktu kontrolnego na %X/%X linii "
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u\n"
+msgstr "przewinięcie do ostatniego zgodnego punktu kontrolnego na %X/%08X linii "
 "czasowej %u\n"
 
 #: pg_rewind.c:286
@@ -645,8 +645,8 @@ msgstr "Historia docelowej linii czasu:\n"
 #. translator: %d is a timeline number, others are LSN positions
 #: pg_rewind.c:496
 #, c-format
-msgid "%d: %X/%X - %X/%X\n"
-msgstr "%d: %X/%X - %X/%X\n"
+msgid "%d: %X/%08X - %X/%08X\n"
+msgstr "%d: %X/%08X - %X/%08X\n"
 
 #: pg_rewind.c:555
 #, c-format
@@ -732,48 +732,48 @@ msgstr "IDy linii czasu muszą być mniejsze niż ID potomnej linii czasu.\n"
 
 #: xlogreader.c:276
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "niepoprawne przesunięcie rekordu w %X/%X"
+msgid "invalid record offset at %X/%08X"
+msgstr "niepoprawne przesunięcie rekordu w %X/%08X"
 
 #: xlogreader.c:284
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "wymagany kontrekord w %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "wymagany kontrekord w %X/%08X"
 
 #: xlogreader.c:325 xlogreader.c:625
 #, c-format
-msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "niepoprawna długość rekordu w %X/%X: oczekiwana %u, jest %u"
+msgid "invalid record length at %X/%08X: wanted %u, got %u"
+msgstr "niepoprawna długość rekordu w %X/%08X: oczekiwana %u, jest %u"
 
 #: xlogreader.c:340
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "za duża długość rekordu %u w %X/%X"
+msgid "record length %u at %X/%08X too long"
+msgstr "za duża długość rekordu %u w %X/%08X"
 
 #: xlogreader.c:381
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "brak flagi kontrekordu na %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "brak flagi kontrekordu na %X/%08X"
 
 #: xlogreader.c:394
 #, c-format
-msgid "invalid contrecord length %u at %X/%X"
-msgstr "niepoprawna długość kontrekordu %u na %X/%X"
+msgid "invalid contrecord length %u at %X/%08X"
+msgstr "niepoprawna długość kontrekordu %u na %X/%08X"
 
 #: xlogreader.c:633
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "niepoprawny ID menażera zasobów %u w %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "niepoprawny ID menażera zasobów %u w %X/%08X"
 
 #: xlogreader.c:647 xlogreader.c:664
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "rekord z niepoprawnym poprz-linkiem %X/%X w %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "rekord z niepoprawnym poprz-linkiem %X/%08X w %X/%08X"
 
 #: xlogreader.c:701
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "niepoprawna suma kontrolna danych menadżera zasobów w rekordzie w %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "niepoprawna suma kontrolna danych menadżera zasobów w rekordzie w %X/%08X"
 
 #: xlogreader.c:734
 #, c-format
@@ -811,8 +811,8 @@ msgstr ""
 
 #: xlogreader.c:813
 #, c-format
-msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
-msgstr "nieoczekiwany adrstrony %X/%X w segmencie dziennika %s, przesunięcie %u"
+msgid "unexpected pageaddr %X/%08X in log segment %s, offset %u"
+msgstr "nieoczekiwany adrstrony %X/%08X w segmencie dziennika %s, przesunięcie %u"
 
 #: xlogreader.c:838
 #, c-format
@@ -823,66 +823,66 @@ msgstr ""
 
 #: xlogreader.c:1083
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "poza porządkiem block_id %u na %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "poza porządkiem block_id %u na %X/%08X"
 
 #: xlogreader.c:1106
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA jest ustawione, ale nie załączono danych na %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA jest ustawione, ale nie załączono danych na %X/%08X"
 
 #: xlogreader.c:1113
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA nie jest ustawione, długość danych to %u na %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA nie jest ustawione, długość danych to %u na %X/%08X"
 
 #: xlogreader.c:1149
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE jest ustawione, ale przesunięcie dziury %u długości %u "
-"blok obrazu o długości %u na %X/%X"
+"blok obrazu o długości %u na %X/%08X"
 
 #: xlogreader.c:1165
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE nie jest ustawione, ale przesunięcie dziury %u o długości "
-"%u na %X/%X"
+"%u na %X/%08X"
 
 #: xlogreader.c:1180
 #, c-format
-msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr ""
 "BKPIMAGE_IS_COMPRESSED jest ustawione, ale blok obrazu o długości %u na %X/%"
 "X"
 
 #: xlogreader.c:1195
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%08X"
 msgstr ""
 "ani BKPIMAGE_HAS_HOLE ani BKPIMAGE_IS_COMPRESSED nie jest ustawione, ale "
-"długość bloku obrazu to %u na %X/%X"
+"długość bloku obrazu to %u na %X/%08X"
 
 #: xlogreader.c:1211
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL jest ustawione ale brak poprzedniej rel na %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL jest ustawione ale brak poprzedniej rel na %X/%08X"
 
 #: xlogreader.c:1223
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "niepoprawny block_id %u na %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "niepoprawny block_id %u na %X/%08X"
 
 #: xlogreader.c:1291
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "rekord o niepoprawnej długości w %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "rekord o niepoprawnej długości w %X/%08X"
 
 #: xlogreader.c:1380
 #, c-format
-msgid "invalid compressed image at %X/%X, block %d"
-msgstr "niepoprawny skompresowany obraz na %X/%X, blok %d"
+msgid "invalid compressed image at %X/%08X, block %d"
+msgstr "niepoprawny skompresowany obraz na %X/%08X, blok %d"
 
 #~ msgid "Expected an XLOG switchpoint location.\n"
 #~ msgstr "Oczekiwano położenia przełączenia XLOG.\n"
diff --git a/src/bin/pg_rewind/po/pt_BR.po b/src/bin/pg_rewind/po/pt_BR.po
index 378c9035075..62b69005644 100644
--- a/src/bin/pg_rewind/po/pt_BR.po
+++ b/src/bin/pg_rewind/po/pt_BR.po
@@ -386,23 +386,23 @@ msgstr "%*s/%s kB (%d%%) copiado"
 
 #: parsexlog.c:87 parsexlog.c:133
 #, c-format
-msgid "could not read WAL record at %X/%X: %s\n"
-msgstr "não pôde ler registro do WAL em %X/%X: %s\n"
+msgid "could not read WAL record at %X/%08X: %s\n"
+msgstr "não pôde ler registro do WAL em %X/%08X: %s\n"
 
 #: parsexlog.c:91 parsexlog.c:136
 #, c-format
-msgid "could not read WAL record at %X/%X\n"
-msgstr "não pôde ler registro do WAL em %X/%X\n"
+msgid "could not read WAL record at %X/%08X\n"
+msgstr "não pôde ler registro do WAL em %X/%08X\n"
 
 #: parsexlog.c:191
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s\n"
-msgstr "não pôde encontrar registro do WAL anterior em %X/%X: %s\n"
+msgid "could not find previous WAL record at %X/%08X: %s\n"
+msgstr "não pôde encontrar registro do WAL anterior em %X/%08X: %s\n"
 
 #: parsexlog.c:195
 #, c-format
-msgid "could not find previous WAL record at %X/%X\n"
-msgstr "não pôde encontrar registro do WAL anterior em %X/%X\n"
+msgid "could not find previous WAL record at %X/%08X\n"
+msgstr "não pôde encontrar registro do WAL anterior em %X/%08X\n"
 
 #: parsexlog.c:283
 #, c-format
@@ -423,10 +423,10 @@ msgstr "não pôde ler do arquivo \"%s\": %s\n"
 #, c-format
 msgid ""
 "WAL record modifies a relation, but record type is not recognized\n"
-"lsn: %X/%X, rmgr: %s, info: %02X\n"
+"lsn: %X/%08X, rmgr: %s, info: %02X\n"
 msgstr ""
 "registro do WAL modifica uma relação mas tipo do registro é desconhecido\n"
-"lsn: %X/%X, rmgr: %s, info: %02X\n"
+"lsn: %X/%08X, rmgr: %s, info: %02X\n"
 
 #: pg_rewind.c:64
 #, c-format
@@ -543,8 +543,8 @@ msgstr "agrupamentos de origem e destino estão na mesma linha do tempo\n"
 
 #: pg_rewind.c:234
 #, c-format
-msgid "servers diverged at WAL position %X/%X on timeline %u\n"
-msgstr "servidores divergem na posição do WAL %X/%X na linha do tempo %u\n"
+msgid "servers diverged at WAL position %X/%08X on timeline %u\n"
+msgstr "servidores divergem na posição do WAL %X/%08X na linha do tempo %u\n"
 
 #: pg_rewind.c:271
 #, c-format
@@ -553,8 +553,8 @@ msgstr "nenhuma sincronização é necessária\n"
 
 #: pg_rewind.c:278
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u\n"
-msgstr "sincronizando a partir do último ponto de controle em comum em %X/%X na linha do tempo %u\n"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u\n"
+msgstr "sincronizando a partir do último ponto de controle em comum em %X/%08X na linha do tempo %u\n"
 
 #: pg_rewind.c:286
 #, c-format
@@ -638,8 +638,8 @@ msgstr "Histórico da linha do tempo de destino:\n"
 #. translator: %d is a timeline number, others are LSN positions
 #: pg_rewind.c:496
 #, c-format
-msgid "%d: %X/%X - %X/%X\n"
-msgstr "%d: %X/%X - %X/%X\n"
+msgid "%d: %X/%08X - %X/%08X\n"
+msgstr "%d: %X/%08X - %X/%08X\n"
 
 #: pg_rewind.c:555
 #, c-format
@@ -725,48 +725,48 @@ msgstr "IDs de linha do tempo devem ser menores do que ID de linha do tempo desc
 
 #: xlogreader.c:276
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "posição do registro é inválida em %X/%X"
+msgid "invalid record offset at %X/%08X"
+msgstr "posição do registro é inválida em %X/%08X"
 
 #: xlogreader.c:284
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord é solicitado por %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord é solicitado por %X/%08X"
 
 #: xlogreader.c:325 xlogreader.c:624
 #, c-format
-msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "tamanho do registro inválido em %X/%X: desejado %u, obtido %u"
+msgid "invalid record length at %X/%08X: wanted %u, got %u"
+msgstr "tamanho do registro inválido em %X/%08X: desejado %u, obtido %u"
 
 #: xlogreader.c:340
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "tamanho do registro %u em %X/%X é muito longo"
+msgid "record length %u at %X/%08X too long"
+msgstr "tamanho do registro %u em %X/%08X é muito longo"
 
 #: xlogreader.c:381
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "não há marcação contrecord em %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "não há marcação contrecord em %X/%08X"
 
 #: xlogreader.c:394
 #, c-format
-msgid "invalid contrecord length %u at %X/%X"
-msgstr "tamanho de contrecord %u é inválido em %X/%X"
+msgid "invalid contrecord length %u at %X/%08X"
+msgstr "tamanho de contrecord %u é inválido em %X/%08X"
 
 #: xlogreader.c:632
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ID do gerenciador de recursos %u é inválido em %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ID do gerenciador de recursos %u é inválido em %X/%08X"
 
 #: xlogreader.c:646 xlogreader.c:663
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "registro com prev-link %X/%X incorreto em %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "registro com prev-link %X/%08X incorreto em %X/%08X"
 
 #: xlogreader.c:700
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "soma de verificação do gerenciador de recursos é incorreta no registro em %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "soma de verificação do gerenciador de recursos é incorreta no registro em %X/%08X"
 
 #: xlogreader.c:733
 #, c-format
@@ -795,8 +795,8 @@ msgstr "arquivo do WAL é de um sistema de banco de dados diferente: XLOG_BLCKSZ
 
 #: xlogreader.c:812
 #, c-format
-msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
-msgstr "endereço da página %X/%X inesperado no arquivo de log %s, posição %u"
+msgid "unexpected pageaddr %X/%08X in log segment %s, offset %u"
+msgstr "endereço da página %X/%08X inesperado no arquivo de log %s, posição %u"
 
 #: xlogreader.c:837
 #, c-format
@@ -805,55 +805,55 @@ msgstr "ID de linha do tempo %u fora de sequência (após %u) no arquivo de log
 
 #: xlogreader.c:1081
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u fora de ordem em %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %u fora de ordem em %X/%08X"
 
 #: xlogreader.c:1103
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA definido mas nenhum dado incluído em %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA definido mas nenhum dado incluído em %X/%08X"
 
 #: xlogreader.c:1110
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA não foi definido mas tamanho do dado é %u em %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA não foi definido mas tamanho do dado é %u em %X/%08X"
 
 #: xlogreader.c:1143
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE definido mas posição do espaço livre %u tamanho %u tamanho da imagem do bloco %u em %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE definido mas posição do espaço livre %u tamanho %u tamanho da imagem do bloco %u em %X/%08X"
 
 #: xlogreader.c:1159
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE não foi definido mas posição do espaço livre %u tamanho %u em %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE não foi definido mas posição do espaço livre %u tamanho %u em %X/%08X"
 
 #: xlogreader.c:1174
 #, c-format
-msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_IS_COMPRESSED definido mas tamanho da imagem do bloco %u em %X/%X"
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_IS_COMPRESSED definido mas tamanho da imagem do bloco %u em %X/%08X"
 
 #: xlogreader.c:1189
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "nem BKPIMAGE_HAS_HOLE nem BKPIMAGE_IS_COMPRESSED foi definido mas tamanho da imagem do bloco é %u em %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "nem BKPIMAGE_HAS_HOLE nem BKPIMAGE_IS_COMPRESSED foi definido mas tamanho da imagem do bloco é %u em %X/%08X"
 
 #: xlogreader.c:1205
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL definido mas não há relação anterior em %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL definido mas não há relação anterior em %X/%08X"
 
 #: xlogreader.c:1217
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "block_id %u é inválido em %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "block_id %u é inválido em %X/%08X"
 
 #: xlogreader.c:1282
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "registro com tamanho inválido em %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "registro com tamanho inválido em %X/%08X"
 
 #: xlogreader.c:1371
 #, c-format
-msgid "invalid compressed image at %X/%X, block %d"
-msgstr "imagem compactada é inválida em %X/%X, bloco %d"
+msgid "invalid compressed image at %X/%08X, block %d"
+msgstr "imagem compactada é inválida em %X/%08X, bloco %d"
diff --git a/src/bin/pg_rewind/po/ru.po b/src/bin/pg_rewind/po/ru.po
index 6f3d63dec58..439ff43acb7 100644
--- a/src/bin/pg_rewind/po/ru.po
+++ b/src/bin/pg_rewind/po/ru.po
@@ -510,29 +510,29 @@ msgstr "не удалось выделить память для чтения WA
 
 #: parsexlog.c:92 parsexlog.c:146
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "не удалось прочитать запись WAL в позиции %X/%X: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "не удалось прочитать запись WAL в позиции %X/%08X: %s"
 
 #: parsexlog.c:96 parsexlog.c:149
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "не удалось прочитать запись WAL в позиции %X/%X"
+msgid "could not read WAL record at %X/%08X"
+msgstr "не удалось прочитать запись WAL в позиции %X/%08X"
 
 #: parsexlog.c:108
 #, c-format
-msgid "end pointer %X/%X is not a valid end point; expected %X/%X"
+msgid "end pointer %X/%08X is not a valid end point; expected %X/%08X"
 msgstr ""
-"конечный указатель %X/%X неверно задаёт конечную точку; ожидается %X/%X"
+"конечный указатель %X/%08X неверно задаёт конечную точку; ожидается %X/%08X"
 
 #: parsexlog.c:214
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "не удалось найти предыдущую запись WAL в позиции %X/%X: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "не удалось найти предыдущую запись WAL в позиции %X/%08X: %s"
 
 #: parsexlog.c:218
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "не удалось найти предыдущую запись WAL в позиции %X/%X"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "не удалось найти предыдущую запись WAL в позиции %X/%08X"
 
 #: parsexlog.c:362
 #, c-format
@@ -545,7 +545,7 @@ msgid ""
 "WAL record modifies a relation, but record type is not recognized: lsn: %X/"
 "%X, rmid: %d, rmgr: %s, info: %02X"
 msgstr ""
-"Запись WAL модифицирует отношение, но тип записи не распознан: lsn: %X/%X, "
+"Запись WAL модифицирует отношение, но тип записи не распознан: lsn: %X/%08X, "
 "rmid: %d, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:94
@@ -759,8 +759,8 @@ msgstr "исходный и целевой кластер уже на одной
 
 #: pg_rewind.c:396
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
-msgstr "серверы разошлись в позиции WAL %X/%X на линии времени %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
+msgstr "серверы разошлись в позиции WAL %X/%08X на линии времени %u"
 
 #: pg_rewind.c:451
 #, c-format
@@ -769,9 +769,9 @@ msgstr "перемотка не требуется"
 
 #: pg_rewind.c:463
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
 msgstr ""
-"перемотка от последней общей контрольной точки в позиции %X/%X на линии "
+"перемотка от последней общей контрольной точки в позиции %X/%08X на линии "
 "времени %u"
 
 #: pg_rewind.c:473
@@ -973,59 +973,59 @@ msgstr ""
 
 #: xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
 msgstr ""
-"неверное смещение записи в позиции %X/%X: ожидалось минимум %u, получено %u"
+"неверное смещение записи в позиции %X/%08X: ожидалось минимум %u, получено %u"
 
 #: xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "в позиции %X/%X запрошено продолжение записи"
+msgid "contrecord is requested by %X/%08X"
+msgstr "в позиции %X/%08X запрошено продолжение записи"
 
 #: xlogreader.c:669 xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
 msgstr ""
-"неверная длина записи в позиции %X/%X: ожидалось минимум %u, получено %u"
+"неверная длина записи в позиции %X/%08X: ожидалось минимум %u, получено %u"
 
 #: xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "нет флага contrecord в позиции %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "нет флага contrecord в позиции %X/%08X"
 
 #: xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%08X"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "неверный ID менеджера ресурсов %u в позиции %X/%08X"
 
 #: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "запись с неверной ссылкой назад %X/%08X в позиции %X/%08X"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
 msgstr ""
 "некорректная контрольная сумма данных менеджера ресурсов в записи в позиции "
-"%X/%X"
+"%X/%08X"
 
 #: xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr ""
-"неверное магическое число %04X в сегменте WAL %s, LSN %X/%X, смещение %u"
+"неверное магическое число %04X в сегменте WAL %s, LSN %X/%08X, смещение %u"
 
 #: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr ""
-"неверные информационные биты %04X в сегменте WAL %s, LSN %X/%X, смещение %u"
+"неверные информационные биты %04X в сегменте WAL %s, LSN %X/%08X, смещение %u"
 
 #: xlogreader.c:1274
 #, c-format
@@ -1056,53 +1056,53 @@ msgstr ""
 
 #: xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "неожиданный pageaddr %X/%X в сегменте WAL %s, LSN %X/%X, смещение %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "неожиданный pageaddr %X/%08X в сегменте WAL %s, LSN %X/%08X, смещение %u"
 
 #: xlogreader.c:1346
 #, c-format
 msgid ""
-"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, "
+"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, "
 "offset %u"
 msgstr ""
 "нарушение последовательности ID линии времени %u (после %u) в сегменте WAL "
-"%s, LSN %X/%X, смещение %u"
+"%s, LSN %X/%08X, смещение %u"
 
 #: xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%08X"
 
 #: xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%08X нет"
 
 #: xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
 msgstr ""
-"BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X"
+"BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%08X"
 
 #: xlogreader.c:1816
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
-"%X/%X"
+"%X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u "
-"при длине образа блока %u в позиции %X/%X"
+"при длине образа блока %u в позиции %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE не установлен, но для пропуска заданы смещение %u и длина "
-"%u в позиции %X/%X"
+"%u в позиции %X/%08X"
 
 #: xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr ""
 "BKPIMAGE_COMPRESSED установлен, но длина образа блока равна %u в позиции %X/"
 "%X"
@@ -1111,27 +1111,27 @@ msgstr ""
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image "
-"length is %u at %X/%X"
+"length is %u at %X/%08X"
 msgstr ""
 "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_COMPRESSED не установлены, но длина образа "
-"блока равна %u в позиции %X/%X"
+"блока равна %u в позиции %X/%08X"
 
 #: xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
 msgstr ""
 "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/"
 "%X"
 
 #: xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "неверный идентификатор блока %u в позиции %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "неверный идентификатор блока %u в позиции %X/%08X"
 
 #: xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "запись с неверной длиной в позиции %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "запись с неверной длиной в позиции %X/%08X"
 
 #: xlogreader.c:1982
 #, c-format
@@ -1140,45 +1140,45 @@ msgstr "не удалось найти копию блока с ID %d в зап
 
 #: xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
 msgstr ""
-"не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d"
+"не удалось восстановить образ в позиции %X/%08X с указанным неверным блоком %d"
 
 #: xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
 msgstr ""
-"не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d"
+"не удалось восстановить образ в позиции %X/%08X с неверным состоянием, блок %d"
 
 #: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
 msgid ""
-"could not restore image at %X/%X compressed with %s not supported by build, "
+"could not restore image at %X/%08X compressed with %s not supported by build, "
 "block %d"
 msgstr ""
-"не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не "
+"не удалось восстановить образ в позиции %X/%08X, сжатый методом %s, который не "
 "поддерживается этой сборкой, блок %d"
 
 #: xlogreader.c:2126
 #, c-format
 msgid ""
-"could not restore image at %X/%X compressed with unknown method, block %d"
+"could not restore image at %X/%08X compressed with unknown method, block %d"
 msgstr ""
-"не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, "
+"не удалось восстановить образ в позиции %X/%08X, сжатый неизвестным методом, "
 "блок %d"
 
 #: xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "не удалось развернуть образ в позиции %X/%X, блок %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "не удалось развернуть образ в позиции %X/%08X, блок %d"
 
 #, c-format
 #~ msgid "out of memory while trying to decode a record of length %u"
 #~ msgstr "не удалось выделить память для декодирования записи длины %u"
 
 #, c-format
-#~ msgid "record length %u at %X/%X too long"
-#~ msgstr "длина записи %u в позиции %X/%X слишком велика"
+#~ msgid "record length %u at %X/%08X too long"
+#~ msgstr "длина записи %u в позиции %X/%08X слишком велика"
 
 #, c-format
 #~ msgid "could not load library \"%s\": error code %lu"
@@ -1205,12 +1205,12 @@ msgstr "не удалось развернуть образ в позиции %X
 #~ msgstr "неверный управляющий файл"
 
 #, c-format
-#~ msgid "invalid record offset at %X/%X"
-#~ msgstr "неверное смещение записи: %X/%X"
+#~ msgid "invalid record offset at %X/%08X"
+#~ msgstr "неверное смещение записи: %X/%08X"
 
 #, c-format
-#~ msgid "missing contrecord at %X/%X"
-#~ msgstr "нет записи contrecord в %X/%X"
+#~ msgid "missing contrecord at %X/%08X"
+#~ msgstr "нет записи contrecord в %X/%08X"
 
 #~ msgid "fatal: "
 #~ msgstr "важно: "
@@ -1295,8 +1295,8 @@ msgstr "не удалось развернуть образ в позиции %X
 #~ msgid "Target timeline history:\n"
 #~ msgstr "История линии времени получателя:\n"
 
-#~ msgid "%d: %X/%X - %X/%X\n"
-#~ msgstr "%d: %X/%X - %X/%X\n"
+#~ msgid "%d: %X/%08X - %X/%08X\n"
+#~ msgstr "%d: %X/%08X - %X/%08X\n"
 
 #~ msgid "sync of target directory failed\n"
 #~ msgstr "сбой синхронизации целевого каталога\n"
diff --git a/src/bin/pg_rewind/po/sv.po b/src/bin/pg_rewind/po/sv.po
index 7894e029f20..818c16ca14d 100644
--- a/src/bin/pg_rewind/po/sv.po
+++ b/src/bin/pg_rewind/po/sv.po
@@ -497,28 +497,28 @@ msgstr "slut på minne vid allokering av en WAL-läs-processor"
 
 #: parsexlog.c:92 parsexlog.c:146
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "kunde inte läsa WAL-post vid %X/%X: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "kunde inte läsa WAL-post vid %X/%08X: %s"
 
 #: parsexlog.c:96 parsexlog.c:149
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "kunde inte läsa WAL-post vid %X/%X"
+msgid "could not read WAL record at %X/%08X"
+msgstr "kunde inte läsa WAL-post vid %X/%08X"
 
 #: parsexlog.c:108
 #, c-format
-msgid "end pointer %X/%X is not a valid end point; expected %X/%X"
-msgstr "slutpekare %X/%X är inte en giltig slutposition; förväntade %X/%X"
+msgid "end pointer %X/%08X is not a valid end point; expected %X/%08X"
+msgstr "slutpekare %X/%08X är inte en giltig slutposition; förväntade %X/%08X"
 
 #: parsexlog.c:212
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "kunde inte hitta föregående WAL-post vid %X/%X: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "kunde inte hitta föregående WAL-post vid %X/%08X: %s"
 
 #: parsexlog.c:216
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "kunde inte hitta förgående WAL-post vid %X/%X"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "kunde inte hitta förgående WAL-post vid %X/%08X"
 
 #: parsexlog.c:341
 #, c-format
@@ -527,8 +527,8 @@ msgstr "kunde inte söka (seek) i fil \"%s\": %m"
 
 #: parsexlog.c:440
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
-msgstr "WAL-post modifierar en relation, men posttypen känns inte igen: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
+msgstr "WAL-post modifierar en relation, men posttypen känns inte igen: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:94
 #, c-format
@@ -718,8 +718,8 @@ msgstr "källa och målkluster är på samma tidslinje"
 
 #: pg_rewind.c:396
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
-msgstr "servrarna divergerade vid WAL-position %X/%X på tidslinje %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
+msgstr "servrarna divergerade vid WAL-position %X/%08X på tidslinje %u"
 
 #: pg_rewind.c:451
 #, c-format
@@ -728,8 +728,8 @@ msgstr "ingen rewind krävs"
 
 #: pg_rewind.c:460
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
-msgstr "rewind från senaste gemensamma checkpoint vid %X/%X på tidslinje %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
+msgstr "rewind från senaste gemensamma checkpoint vid %X/%08X på tidslinje %u"
 
 #: pg_rewind.c:470
 #, c-format
@@ -915,53 +915,53 @@ msgstr "Tidslinje-ID:er måste vara mindre än barnens tidslinje-ID:er."
 
 #: xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "ogiltig postlängd vid %X/%X: förväntade minst %u, fick %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "ogiltig postlängd vid %X/%08X: förväntade minst %u, fick %u"
 
 #: xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord är begärd vid %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord är begärd vid %X/%08X"
 
 #: xlogreader.c:669 xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "ogiltig postlängd vid %X/%X: förväntade minst %u, fick %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "ogiltig postlängd vid %X/%08X: förväntade minst %u, fick %u"
 
 #: xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "det finns ingen contrecord-flagga vid %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "det finns ingen contrecord-flagga vid %X/%08X"
 
 #: xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "ogiltig contrecord-längd %u (förväntade %lld) vid %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "ogiltig contrecord-längd %u (förväntade %lld) vid %X/%08X"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ogiltigt resurshanterar-ID %u vid %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ogiltigt resurshanterar-ID %u vid %X/%08X"
 
 #: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "post med inkorrekt prev-link %X/%X vid %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "post med inkorrekt prev-link %X/%08X vid %X/%08X"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "felaktig resurshanterardatakontrollsumma i post vid %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "felaktig resurshanterardatakontrollsumma i post vid %X/%08X"
 
 #: xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "felaktigt magiskt nummer %04X i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "felaktigt magiskt nummer %04X i WAL-segment %s, LSN %X/%08X, offset %u"
 
 #: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ogiltiga infobitar %04X i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ogiltiga infobitar %04X i WAL-segment %s, LSN %X/%08X, offset %u"
 
 #: xlogreader.c:1274
 #, c-format
@@ -980,63 +980,63 @@ msgstr "WAL-fil är från ett annat databassystem: inkorrekt XLOG_BLCKSZ i sidhu
 
 #: xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "oväntad sidadress %X/%X i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "oväntad sidadress %X/%08X i WAL-segment %s, LSN %X/%08X, offset %u"
 
 #: xlogreader.c:1346
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ej-i-sekvens för tidslinje-ID %u (efter %u) i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ej-i-sekvens för tidslinje-ID %u (efter %u) i WAL-segment %s, LSN %X/%08X, offset %u"
 
 #: xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "ej-i-sekvens block_id %u vid %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "ej-i-sekvens block_id %u vid %X/%08X"
 
 #: xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA är satt men ingen data inkluderad vid %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA är satt men ingen data inkluderad vid %X/%08X"
 
 #: xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA är ej satt men datalängden är %u vid %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA är ej satt men datalängden är %u vid %X/%08X"
 
 #: xlogreader.c:1816
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE är satt men håloffset %u längd %u blockavbildlängd %u vid %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE är satt men håloffset %u längd %u blockavbildlängd %u vid %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE är inte satt men håloffset %u längd %u vid %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE är inte satt men håloffset %u längd %u vid %X/%08X"
 
 #: xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED är satt men blockavbildlängd %u vid %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED är satt men blockavbildlängd %u vid %X/%08X"
 
 #: xlogreader.c:1861
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "varken BKPIMAGE_HAS_HOLE eller BKPIMAGE_COMPRESSED är satt men blockavbildlängd är %u vid %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "varken BKPIMAGE_HAS_HOLE eller BKPIMAGE_COMPRESSED är satt men blockavbildlängd är %u vid %X/%08X"
 
 #: xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL är satt men ingen tidigare rel vid %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL är satt men ingen tidigare rel vid %X/%08X"
 
 #: xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "ogiltig block_id %u vid %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "ogiltig block_id %u vid %X/%08X"
 
 #: xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "post med ogiltig längd vid %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "post med ogiltig längd vid %X/%08X"
 
 #: xlogreader.c:1982
 #, c-format
@@ -1045,25 +1045,25 @@ msgstr "kunde inte hitta backup-block med ID %d i WAL-post"
 
 #: xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt block %d angivet"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "kunde inte återställa avbild vid %X/%08X med ogiltigt block %d angivet"
 
 #: xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt state, block %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "kunde inte återställa avbild vid %X/%08X med ogiltigt state, block %d"
 
 #: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med %s stöds inte av bygget, block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "kunde inte återställa avbild vid %X/%08X, komprimerad med %s stöds inte av bygget, block %d"
 
 #: xlogreader.c:2126
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med okänd metod, block %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "kunde inte återställa avbild vid %X/%08X, komprimerad med okänd metod, block %d"
 
 #: xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "kunde inte packa upp avbild vid %X/%X, block %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "kunde inte packa upp avbild vid %X/%08X, block %d"
diff --git a/src/bin/pg_rewind/po/tr.po b/src/bin/pg_rewind/po/tr.po
index d31493101c6..6b6422736bf 100644
--- a/src/bin/pg_rewind/po/tr.po
+++ b/src/bin/pg_rewind/po/tr.po
@@ -381,23 +381,23 @@ msgstr "yetersiz bellek"
 
 #: parsexlog.c:88 parsexlog.c:135
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "%X/%X deki WAL kaydı okunamadı: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "%X/%08X deki WAL kaydı okunamadı: %s"
 
 #: parsexlog.c:92 parsexlog.c:138
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "%X/%X deki WAL kaydı okunamadı"
+msgid "could not read WAL record at %X/%08X"
+msgstr "%X/%08X deki WAL kaydı okunamadı"
 
 #: parsexlog.c:199
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "önceki WAL kaydı %X/%X de bulunamadı: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "önceki WAL kaydı %X/%08X de bulunamadı: %s"
 
 #: parsexlog.c:203
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "önceki WAL kaydı %X/%X de bulunamadı"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "önceki WAL kaydı %X/%08X de bulunamadı"
 
 #: parsexlog.c:294
 #, c-format
@@ -411,8 +411,8 @@ msgstr "\"%s\" dosyası ilerleme hatası: %m"
 
 #: parsexlog.c:387
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmgr: %s, info: %02X"
-msgstr "WAL kaydı bir nesneyi değiştiriyor, fakat kayıt türü tanınmıyor: lsn: %X/%X, rmgr: %s, info: %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmgr: %s, info: %02X"
+msgstr "WAL kaydı bir nesneyi değiştiriyor, fakat kayıt türü tanınmıyor: lsn: %X/%08X, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:69
 #, c-format
@@ -550,7 +550,7 @@ msgstr "kaynak ve hedef kümesi aynı zaman çizelgesinde"
 
 #: pg_rewind.c:259
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
 msgstr "sunucular %3$u zaman çizelgesinde %1$X/%2$X WAL konumunda birbirlerinden farklılaşıyor"
 
 #: pg_rewind.c:296
@@ -560,7 +560,7 @@ msgstr "geri sarma (rewind) gerekmiyor"
 
 #: pg_rewind.c:303
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
 msgstr "%3$u zaman çizelgesinde %1$X/%2$X deki son ortak kontrol noktasından geri sarıyor (rewind)"
 
 #: pg_rewind.c:312
@@ -692,48 +692,48 @@ msgstr "timeline ID, child timeline ID'sinden daha düşük olmalıdır."
 
 #: xlogreader.c:299
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "%X/%X adresinde geçersiz kayıt offseti"
+msgid "invalid record offset at %X/%08X"
+msgstr "%X/%08X adresinde geçersiz kayıt offseti"
 
 #: xlogreader.c:307
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord %X/%X tarafından talep edilmiştir"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord %X/%08X tarafından talep edilmiştir"
 
 #: xlogreader.c:348 xlogreader.c:645
 #, c-format
-msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "%X/%X adresinde geçersiz kayıt uzunluğu: istenen %u, alınan %u"
+msgid "invalid record length at %X/%08X: wanted %u, got %u"
+msgstr "%X/%08X adresinde geçersiz kayıt uzunluğu: istenen %u, alınan %u"
 
 #: xlogreader.c:372
 #, c-format
-msgid "record length %u at %X/%X too long"
+msgid "record length %u at %X/%08X too long"
 msgstr "%2$X/%3$X adresinde çok büyük kayıt uzunluğu: %1$u "
 
 #: xlogreader.c:404
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "%X/%X de contrecord bayrağı (flag) bulunmuyor"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "%X/%08X de contrecord bayrağı (flag) bulunmuyor"
 
 #: xlogreader.c:417
 #, c-format
-msgid "invalid contrecord length %u at %X/%X"
-msgstr "%X/%X adresinde geçersiz %u contrecord uzunluğu"
+msgid "invalid contrecord length %u at %X/%08X"
+msgstr "%X/%08X adresinde geçersiz %u contrecord uzunluğu"
 
 #: xlogreader.c:653
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
 msgstr "%2$X/%3$X adresinde geçersiz resource manager ID %1$u"
 
 #: xlogreader.c:667 xlogreader.c:684
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "geçersiz incorrect prev-link olan kayıt: %X/%X at %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "geçersiz incorrect prev-link olan kayıt: %X/%08X at %X/%08X"
 
 #: xlogreader.c:721
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "resoource manager data checksum %X/%X kaydında geçersiz"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "resoource manager data checksum %X/%08X kaydında geçersiz"
 
 #: xlogreader.c:758
 #, c-format
@@ -762,8 +762,8 @@ msgstr "WAL dosyası farklı veritabanı sisteminden: page header'da yanlış XL
 
 #: xlogreader.c:842
 #, c-format
-msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
-msgstr "beklenmeyen pageaddr %X/%X: log segmenti %s, offset %u"
+msgid "unexpected pageaddr %X/%08X in log segment %s, offset %u"
+msgstr "beklenmeyen pageaddr %X/%08X: log segmenti %s, offset %u"
 
 #: xlogreader.c:867
 #, c-format
@@ -772,58 +772,58 @@ msgstr "sıra dışı timeline ID %u (%u'dan sonra), bulunduğu log segmenti %s,
 
 #: xlogreader.c:1112
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "%X/%X deki %u block_id değeri bozuk"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "%X/%08X deki %u block_id değeri bozuk"
 
 #: xlogreader.c:1135
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA ayarlandı, fakat %X/%X de veri yok"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA ayarlandı, fakat %X/%08X de veri yok"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
 msgstr "BKPBLOCK_HAS_DATA ayarlanmadı, fakat veri uzunluğu %u (%X/%x de)"
 
 #: xlogreader.c:1178
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE ayarlandı, fakat hole offset %u uzunluk %u  blok image uzunluğu %u (%X/%X de)"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE ayarlandı, fakat hole offset %u uzunluk %u  blok image uzunluğu %u (%X/%08X de)"
 
 #: xlogreader.c:1194
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE  ayarlanmadı, fakat hole offset %u uzunluk %u (%X/%X de)"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE  ayarlanmadı, fakat hole offset %u uzunluk %u (%X/%08X de)"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_IS_COMPRESSED ayarlandı, fakat block image uzunluğu %u (%X/%X de)"
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_IS_COMPRESSED ayarlandı, fakat block image uzunluğu %u (%X/%08X de)"
 
 #: xlogreader.c:1224
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE ve BKPIMAGE_IS_COMPRESSED ayarlanmadı, fakat block image uzunluğu %u (%X/%X de)"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE ve BKPIMAGE_IS_COMPRESSED ayarlanmadı, fakat block image uzunluğu %u (%X/%08X de)"
 
 #: xlogreader.c:1240
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL ayarlandı fakat %X/%X de önceki rel yok"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL ayarlandı fakat %X/%08X de önceki rel yok"
 
 #: xlogreader.c:1252
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "%X/%X adresinde %u  block_id geçersiz"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "%X/%08X adresinde %u  block_id geçersiz"
 
 #: xlogreader.c:1341
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "%X/%X adresinde geçersiz uzunlukta kayıt"
+msgid "record with invalid length at %X/%08X"
+msgstr "%X/%08X adresinde geçersiz uzunlukta kayıt"
 
 #: xlogreader.c:1430
 #, c-format
-msgid "invalid compressed image at %X/%X, block %d"
-msgstr "%X/%X adresinde (blok %d), geçersiz compressed image"
+msgid "invalid compressed image at %X/%08X, block %d"
+msgstr "%X/%08X adresinde (blok %d), geçersiz compressed image"
 
 #~ msgid "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page header"
 #~ msgstr "WAL dosyası farklı veritabanı sisteminden: page header'da yanlış XLOG_SEG_SIZE değeri"
@@ -872,8 +872,8 @@ msgstr "%X/%X adresinde (blok %d), geçersiz compressed image"
 #~ msgstr[0] "WAL segment boyutu 1 MB ve 1GB arasında 2 nin üssü bir değer olmalıdır, fakat kontrol dosyası %d bayt belirtmektedir\n"
 #~ msgstr[1] "WAL segment boyutu 1 MB ve 1GB arasında 2 nin üssü bir değer olmalıdır, fakat kontrol dosyası %d bayt belirtmektedir\n"
 
-#~ msgid "%d: %X/%X - %X/%X\n"
-#~ msgstr "%d: %X/%X - %X/%X\n"
+#~ msgid "%d: %X/%08X - %X/%08X\n"
+#~ msgstr "%d: %X/%08X - %X/%08X\n"
 
 #~ msgid "Target timeline history:\n"
 #~ msgstr "Hedef zaman çizelgesi geçmişi:\n"
diff --git a/src/bin/pg_rewind/po/uk.po b/src/bin/pg_rewind/po/uk.po
index dfcc9ac3269..2f5768a7f59 100644
--- a/src/bin/pg_rewind/po/uk.po
+++ b/src/bin/pg_rewind/po/uk.po
@@ -493,28 +493,28 @@ msgstr "недостатньо пам'яті під час виділення о
 
 #: parsexlog.c:92 parsexlog.c:146
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "не вдалося прочитати запис WAL на %X/%X: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "не вдалося прочитати запис WAL на %X/%08X: %s"
 
 #: parsexlog.c:96 parsexlog.c:149
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "не вдалося прочитати запис WAL на %X/%X"
+msgid "could not read WAL record at %X/%08X"
+msgstr "не вдалося прочитати запис WAL на %X/%08X"
 
 #: parsexlog.c:108
 #, c-format
-msgid "end pointer %X/%X is not a valid end point; expected %X/%X"
-msgstr "кінцевий покажчик %X/%X не є допустимою кінцевою точкою; очікувалось %X/%X"
+msgid "end pointer %X/%08X is not a valid end point; expected %X/%08X"
+msgstr "кінцевий покажчик %X/%08X не є допустимою кінцевою точкою; очікувалось %X/%08X"
 
 #: parsexlog.c:212
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "не вдалося знайти попередній запис WAL на %X/%X: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "не вдалося знайти попередній запис WAL на %X/%08X: %s"
 
 #: parsexlog.c:216
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "не вдалося знайти попередній запис WAL на %X/%X"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "не вдалося знайти попередній запис WAL на %X/%08X"
 
 #: parsexlog.c:341
 #, c-format
@@ -523,8 +523,8 @@ msgstr "не вдалося знайти в файлі \"%s\": %m"
 
 #: parsexlog.c:440
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
-msgstr "WAL модифікує відношення, але тип запису не розпізнано: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
+msgstr "WAL модифікує відношення, але тип запису не розпізнано: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:94
 #, c-format
@@ -695,8 +695,8 @@ msgstr "початковий і цільовий кластери знаходя
 
 #: pg_rewind.c:396
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
-msgstr "сервери розійшлись в позиції WAL %X/%X на лінії часу %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
+msgstr "сервери розійшлись в позиції WAL %X/%08X на лінії часу %u"
 
 #: pg_rewind.c:451
 #, c-format
@@ -705,8 +705,8 @@ msgstr "перемотування не потрібне"
 
 #: pg_rewind.c:460
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
-msgstr "перемотування від останньої спільної контрольної точки на %X/%X на лінії часу %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
+msgstr "перемотування від останньої спільної контрольної точки на %X/%08X на лінії часу %u"
 
 #: pg_rewind.c:470
 #, c-format
@@ -894,53 +894,53 @@ msgstr "Ідентифікатори ліній часу повинні бути
 
 #: xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "неприпустиме зміщення запису в %X/%X: очікувалось хоча б %u, отримано %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "неприпустиме зміщення запису в %X/%08X: очікувалось хоча б %u, отримано %u"
 
 #: xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "по зсуву %X/%X запитано продовження запису"
+msgid "contrecord is requested by %X/%08X"
+msgstr "по зсуву %X/%08X запитано продовження запису"
 
 #: xlogreader.c:669 xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "неприпустима довжина запису %X/%X: очікувалась мінімум %u, отримано %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "неприпустима довжина запису %X/%08X: очікувалась мінімум %u, отримано %u"
 
 #: xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "немає прапорця contrecord в позиції %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "немає прапорця contrecord в позиції %X/%08X"
 
 #: xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "неприпустима довжина contrecord %u (очікувалось %lld) на %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "неприпустима довжина contrecord %u (очікувалось %lld) на %X/%08X"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "невірний ID менеджера ресурсів %u в %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "невірний ID менеджера ресурсів %u в %X/%08X"
 
 #: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "запис з неправильним попереднім посиланням %X/%X на %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "запис з неправильним попереднім посиланням %X/%08X на %X/%08X"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%08X"
 
 #: xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "невірне магічне число %04X в сегменті WAL %s, LSN %X/%X, зсув %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "невірне магічне число %04X в сегменті WAL %s, LSN %X/%08X, зсув %u"
 
 #: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "невірні інформаційні біти %04X в сегменті WAL %s, LSN %X/%X, зсув %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "невірні інформаційні біти %04X в сегменті WAL %s, LSN %X/%08X, зсув %u"
 
 #: xlogreader.c:1274
 #, c-format
@@ -959,63 +959,63 @@ msgstr "Файл WAL належить іншій системі баз дани
 
 #: xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "неочікуваний pageaddr %X/%X у сегменті WAL %s, LSN %X/%X, зміщення %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "неочікуваний pageaddr %X/%08X у сегменті WAL %s, LSN %X/%08X, зміщення %u"
 
 #: xlogreader.c:1346
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "порушення послідовності ID лінії часу %u (після %u) у сегменті WAL %s, LSN %X/%X, зсув %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "порушення послідовності ID лінії часу %u (після %u) у сегменті WAL %s, LSN %X/%08X, зсув %u"
 
 #: xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "ідентифікатор блока %u out-of-order в позиції %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "ідентифікатор блока %u out-of-order в позиції %X/%08X"
 
 #: xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%08X"
 
 #: xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA встановлений, але довжина даних дорівнює %u в позиції %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA встановлений, але довжина даних дорівнює %u в позиції %X/%08X"
 
 #: xlogreader.c:1816
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE встановлений, але для пропуску задані: зсув %u, довжина %u, при довжині образу блока %u в позиції %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE встановлений, але для пропуску задані: зсув %u, довжина %u, при довжині образу блока %u в позиції %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE не встановлений, але для пропуску задані: зсув %u, довжина %u в позиції %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE не встановлений, але для пропуску задані: зсув %u, довжина %u в позиції %X/%08X"
 
 #: xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%08X"
 
 #: xlogreader.c:1861
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "ні BKPIMAGE_HAS_HOLE, ні BKPIMAGE_COMPRESSED не встановлені, але довжина образу блока дорівнює %u в позиції %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "ні BKPIMAGE_HAS_HOLE, ні BKPIMAGE_COMPRESSED не встановлені, але довжина образу блока дорівнює %u в позиції %X/%08X"
 
 #: xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%08X"
 
 #: xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "невірний ідентифікатор блоку %u в позиції %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "невірний ідентифікатор блоку %u в позиції %X/%08X"
 
 #: xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "запис з невірною довжиною на %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "запис з невірною довжиною на %X/%08X"
 
 #: xlogreader.c:1982
 #, c-format
@@ -1024,26 +1024,26 @@ msgstr "не вдалося знайти блок резервної копії
 
 #: xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "не вдалося відновити зображення %X/%X з недійсним вказаним блоком %d"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "не вдалося відновити зображення %X/%08X з недійсним вказаним блоком %d"
 
 #: xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "не вдалося відновити зображення %X/%X з недійсним станом, блок %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "не вдалося відновити зображення %X/%08X з недійсним станом, блок %d"
 
 #: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "не вдалося відновити зображення в %X/%X, стиснуте %s, не підтримується збіркою, блок %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "не вдалося відновити зображення в %X/%08X, стиснуте %s, не підтримується збіркою, блок %d"
 
 #: xlogreader.c:2126
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "не вдалося відновити зображення %X/%X стиснуте з невідомим методом, блок %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "не вдалося відновити зображення %X/%08X стиснуте з невідомим методом, блок %d"
 
 #: xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "не вдалося розпакувати зображення на %X/%X, блок %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "не вдалося розпакувати зображення на %X/%08X, блок %d"
 
diff --git a/src/bin/pg_rewind/po/zh_CN.po b/src/bin/pg_rewind/po/zh_CN.po
index 28d76c30b1a..9551176ca22 100644
--- a/src/bin/pg_rewind/po/zh_CN.po
+++ b/src/bin/pg_rewind/po/zh_CN.po
@@ -419,23 +419,23 @@ msgstr "无法关闭文件 \"%s\": %m"
 
 #: parsexlog.c:89 parsexlog.c:142
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "无法读取%X/%X处的WAL记录：%s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "无法读取%X/%08X处的WAL记录：%s"
 
 #: parsexlog.c:93 parsexlog.c:145
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "无法读取%X/%X处的WAL记录"
+msgid "could not read WAL record at %X/%08X"
+msgstr "无法读取%X/%08X处的WAL记录"
 
 #: parsexlog.c:208
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "无法在%X/%X找到前一个WAL记录：%s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "无法在%X/%08X找到前一个WAL记录：%s"
 
 #: parsexlog.c:212
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "无法在%X/%X找到前一个WAL记录"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "无法在%X/%08X找到前一个WAL记录"
 
 #: parsexlog.c:337
 #, c-format
@@ -444,8 +444,8 @@ msgstr "无法在文件\"%s\"进行查找: %m"
 
 #: parsexlog.c:429
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmgr: %s, info: %02X"
-msgstr "WAL记录修改了一个关系，但是记录类型无法识别: lsn: %X/%X, rmgr: %s, info: %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmgr: %s, info: %02X"
+msgstr "WAL记录修改了一个关系，但是记录类型无法识别: lsn: %X/%08X, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:84
 #, c-format
@@ -621,7 +621,7 @@ msgstr "源集簇和目标集簇处于同一时间线"
 
 #: pg_rewind.c:346
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
 msgstr "服务器在时间线%3$u上的WAL位置%1$X/%2$X处发生了分歧"
 
 #: pg_rewind.c:394
@@ -631,7 +631,7 @@ msgstr "不需要倒带（rewind）"
 
 #: pg_rewind.c:403
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
 msgstr "从时间线%3$u上%1$X/%2$X处的最后一个普通检查点倒带"
 
 #: pg_rewind.c:413
@@ -825,48 +825,48 @@ msgstr "Timeline ID 必须小于子 timeline 的 ID."
 
 #: xlogreader.c:349
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "%X/%X处有无效的记录偏移量"
+msgid "invalid record offset at %X/%08X"
+msgstr "%X/%08X处有无效的记录偏移量"
 
 #: xlogreader.c:357
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "%X/%X位置处要求继续记录"
+msgid "contrecord is requested by %X/%08X"
+msgstr "%X/%08X位置处要求继续记录"
 
 #: xlogreader.c:398 xlogreader.c:695
 #, c-format
-msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "%X/%X处有无效记录长度: 应该是%u, 但实际是%u"
+msgid "invalid record length at %X/%08X: wanted %u, got %u"
+msgstr "%X/%08X处有无效记录长度: 应该是%u, 但实际是%u"
 
 #: xlogreader.c:422
 #, c-format
-msgid "record length %u at %X/%X too long"
+msgid "record length %u at %X/%08X too long"
 msgstr "%2$X/%3$X处的记录长度%1$u太长"
 
 #: xlogreader.c:453
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "在%X/%X处没有继续记录标志"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "在%X/%08X处没有继续记录标志"
 
 #: xlogreader.c:466
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
 msgstr "%3$X/%4$X处有无效的继续记录长度%1$u(应为 %2$lld)"
 
 #: xlogreader.c:703
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
 msgstr "%2$X/%3$X处有无效的资源管理器 ID %1$u"
 
 #: xlogreader.c:716 xlogreader.c:732
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "具有不正确向前链接%X/%X的记录出现在%X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "具有不正确向前链接%X/%08X的记录出现在%X/%08X"
 
 #: xlogreader.c:768
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "在%X/%X处的记录中的资源管理器数据校验和不正确"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "在%X/%08X处的记录中的资源管理器数据校验和不正确"
 
 #: xlogreader.c:805
 #, c-format
@@ -895,7 +895,7 @@ msgstr "WAL文件来自于不同的数据库系统：页头部中有不正确的
 
 #: xlogreader.c:879
 #, c-format
-msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
+msgid "unexpected pageaddr %X/%08X in log segment %s, offset %u"
 msgstr "在日志段%3$s的偏移量%4$u处有意料之外的pageaddr %1$X/%2$X"
 
 #: xlogreader.c:904
@@ -905,55 +905,55 @@ msgstr "在日志段%3$s的偏移量%4$u处有失序的时间线 ID %1$u（在%2
 
 #: xlogreader.c:1249
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
 msgstr "在%2$X/%3$X处有无序的block_id %1$u"
 
 #: xlogreader.c:1271
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA已被设置，但是在%X/%X处没有包括数据"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA已被设置，但是在%X/%08X处没有包括数据"
 
 #: xlogreader.c:1278
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
 msgstr "BKPBLOCK_HAS_DATA没有被设置，但是在%2$X/%3$X处的数据长度为%1$u"
 
 #: xlogreader.c:1314
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
 msgstr "BKPIMAGE_HAS_HOLE已被设置，但是%4$X/%5$X处记录了洞偏移量为%1$u、长度为%2$u、块映像长度为%3$u"
 
 #: xlogreader.c:1330
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr "BKPIMAGE_HAS_HOLE没有被设置，但是%3$X/%4$X处记录了洞偏移量为%1$u、长度为%2$u"
 
 #: xlogreader.c:1345
 #, c-format
-msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr "BKPIMAGE_IS_COMPRESSED已被设置，但是%2$X/%3$X处记录的块映像长度为%1$u"
 
 #: xlogreader.c:1360
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%08X"
 msgstr "BKPIMAGE_HAS_HOLE和BKPIMAGE_IS_COMPRESSED都没有被设置，但是%2$X/%3$X处记录的块映像长度为%1$u"
 
 #: xlogreader.c:1376
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "设置了BKPBLOCK_SAME_REL，但是在%X/%X位置没有记录先前的关系"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "设置了BKPBLOCK_SAME_REL，但是在%X/%08X位置没有记录先前的关系"
 
 #: xlogreader.c:1388
 #, c-format
-msgid "invalid block_id %u at %X/%X"
+msgid "invalid block_id %u at %X/%08X"
 msgstr "%2$X/%3$X处的block_id %1$u无效"
 
 #: xlogreader.c:1475
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "在%X/%X处的记录的长度无效"
+msgid "record with invalid length at %X/%08X"
+msgstr "在%X/%08X处的记录的长度无效"
 
 #: xlogreader.c:1564
 #, c-format
-msgid "invalid compressed image at %X/%X, block %d"
-msgstr "%X/%X处是块%d的无效压缩映像"
+msgid "invalid compressed image at %X/%08X, block %d"
+msgstr "%X/%08X处是块%d的无效压缩映像"
diff --git a/src/bin/pg_rewind/po/zh_TW.po b/src/bin/pg_rewind/po/zh_TW.po
index d4593b94d50..47fe126b1bd 100644
--- a/src/bin/pg_rewind/po/zh_TW.po
+++ b/src/bin/pg_rewind/po/zh_TW.po
@@ -512,28 +512,28 @@ msgstr "配置 WAL 讀取處理器時耗盡記憶體"
 
 #: parsexlog.c:92 parsexlog.c:146
 #, c-format
-msgid "could not read WAL record at %X/%X: %s"
-msgstr "無法讀取先前的 WAL 紀錄，位置 %X/%X: %s"
+msgid "could not read WAL record at %X/%08X: %s"
+msgstr "無法讀取先前的 WAL 紀錄，位置 %X/%08X: %s"
 
 #: parsexlog.c:96 parsexlog.c:149
 #, c-format
-msgid "could not read WAL record at %X/%X"
-msgstr "無法讀取先前的 WAL 紀錄，位置 %X/%X"
+msgid "could not read WAL record at %X/%08X"
+msgstr "無法讀取先前的 WAL 紀錄，位置 %X/%08X"
 
 #: parsexlog.c:108
 #, c-format
-msgid "end pointer %X/%X is not a valid end point; expected %X/%X"
-msgstr "結束指標 %X/%X 不是有效的結束點，預期是 %X/%X"
+msgid "end pointer %X/%08X is not a valid end point; expected %X/%08X"
+msgstr "結束指標 %X/%08X 不是有效的結束點，預期是 %X/%08X"
 
 #: parsexlog.c:212
 #, c-format
-msgid "could not find previous WAL record at %X/%X: %s"
-msgstr "無法找到先前的 WAL 紀錄，位置 %X/%X: %s"
+msgid "could not find previous WAL record at %X/%08X: %s"
+msgstr "無法找到先前的 WAL 紀錄，位置 %X/%08X: %s"
 
 #: parsexlog.c:216
 #, c-format
-msgid "could not find previous WAL record at %X/%X"
-msgstr "無法找到先前的 WAL 紀錄，位置 %X/%X"
+msgid "could not find previous WAL record at %X/%08X"
+msgstr "無法找到先前的 WAL 紀錄，位置 %X/%08X"
 
 # access/transam/slru.c:638 access/transam/xlog.c:1631
 # access/transam/xlog.c:2742 access/transam/xlog.c:2832
@@ -547,8 +547,8 @@ msgstr "無法 seek 檔案 \"%s\": %m"
 
 #: parsexlog.c:440
 #, c-format
-msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
-msgstr "WAL 紀錄修改了關聯，但無法識別記錄類型: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X"
+msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
+msgstr "WAL 紀錄修改了關聯，但無法識別記錄類型: lsn: %X/%08X, rmid: %d, rmgr: %s, info: %02X"
 
 #: pg_rewind.c:92
 #, c-format
@@ -733,8 +733,8 @@ msgstr "來源和目標叢集在相同的時間軸上"
 
 #: pg_rewind.c:387
 #, c-format
-msgid "servers diverged at WAL location %X/%X on timeline %u"
-msgstr "伺服器分岐，WAL 位置 %X/%X，時間軸 %u"
+msgid "servers diverged at WAL location %X/%08X on timeline %u"
+msgstr "伺服器分岐，WAL 位置 %X/%08X，時間軸 %u"
 
 #: pg_rewind.c:442
 #, c-format
@@ -743,8 +743,8 @@ msgstr "無需回溯"
 
 #: pg_rewind.c:451
 #, c-format
-msgid "rewinding from last common checkpoint at %X/%X on timeline %u"
-msgstr "從最後的共同檢查點回溯，位置 %X/%X，時間軸 %u"
+msgid "rewinding from last common checkpoint at %X/%08X on timeline %u"
+msgstr "從最後的共同檢查點回溯，位置 %X/%08X，時間軸 %u"
 
 #: pg_rewind.c:461
 #, c-format
@@ -924,19 +924,19 @@ msgstr "時間軸 ID 必須小於子時間軸的 ID。"
 
 #: xlogreader.c:626
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "位於 %X/%X 的記錄 offset 無效: 預期至少 %u，實際為 %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "位於 %X/%08X 的記錄 offset 無效: 預期至少 %u，實際為 %u"
 
 # access/transam/xlog.c:2443
 #: xlogreader.c:635
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "%X/%X 要求 contrecord"
+msgid "contrecord is requested by %X/%08X"
+msgstr "%X/%08X 要求 contrecord"
 
 #: xlogreader.c:676 xlogreader.c:1119
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "位於 %X/%X 的記錄長度無效: 預期至少 %u，實際為 %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "位於 %X/%08X 的記錄長度無效: 預期至少 %u，實際為 %u"
 
 #: xlogreader.c:705
 #, c-format
@@ -946,45 +946,45 @@ msgstr "嘗試解碼長度為 %u 的記錄時耗盡記憶體"
 # access/transam/xlog.c:2503
 #: xlogreader.c:727
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "位於 %X/%X 的記錄長度 %u 過長"
+msgid "record length %u at %X/%08X too long"
+msgstr "位於 %X/%08X 的記錄長度 %u 過長"
 
 #: xlogreader.c:776
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "位於 %X/%X 沒有 contrecord 標誌"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "位於 %X/%08X 沒有 contrecord 標誌"
 
 #: xlogreader.c:789
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
 msgstr "位於 %3$X/%4$X 的 contrecord 長度 %1$u 無效(預期為 %2$lld)"
 
 # access/transam/xlog.c:2465
 #: xlogreader.c:1127
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
 msgstr "位於 %2$X/%3$X 的無效 block_id %1$u"
 
 # access/transam/xlog.c:2458
 #: xlogreader.c:1140 xlogreader.c:1156
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
 msgstr "位於 %3$X/%4$X 的記錄有不正確的 prev-link %1$X/%2$X"
 
 # access/transam/xlog.c:2269
 #: xlogreader.c:1192
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "位於 %X/%X 的記錄中資源管理員資料檢查碼不正確"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "位於 %X/%08X 的記錄中資源管理員資料檢查碼不正確"
 
 #: xlogreader.c:1226
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WAL 片段 %2$s 中的魔數數字 %1$04X 無效，LSN %3$X/%4$X，位移 %5$u"
 
 #: xlogreader.c:1241 xlogreader.c:1283
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WAL 片段 %2$s 中的資訊位元 %1$04X 無效，LSN %3$X/%4$X，位移 %5$u"
 
 #: xlogreader.c:1257
@@ -1004,63 +1004,63 @@ msgstr "WAL 檔案來自不同的資料庫系統: 資料頁標頭中的 XLOG_BLC
 
 #: xlogreader.c:1303
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "非預期的 pageaddr %X/%X 位於 WAL 片段 %s，LSN %X/%X，位移 %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "非預期的 pageaddr %X/%08X 位於 WAL 片段 %s，LSN %X/%08X，位移 %u"
 
 #: xlogreader.c:1329
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "非依序 timeline ID %u(在 %u 之後)位於 WAL 片段 %s，LSN %X/%X，位移 %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "非依序 timeline ID %u(在 %u 之後)位於 WAL 片段 %s，LSN %X/%08X，位移 %u"
 
 #: xlogreader.c:1735
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "非循序 block_id %u 位於 %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "非循序 block_id %u 位於 %X/%08X"
 
 #: xlogreader.c:1759
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "設定了 BKPBLOCK_HAS_DATA，但在 %X/%X 的沒有包含任何資料"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "設定了 BKPBLOCK_HAS_DATA，但在 %X/%08X 的沒有包含任何資料"
 
 #: xlogreader.c:1766
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
 msgstr "未設定 BKPBLOCK_HAS_DATA，但在 %2$X/%3$X 的資料長度為 %1$u"
 
 #: xlogreader.c:1802
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
 msgstr "設定了 BKPIMAGE_HAS_HOLE，但在 %4$X/%5$X 有 offset %1$u 長度 %2$u 影像長度 %3$u 的空洞"
 
 #: xlogreader.c:1818
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr "未設定 BKPIMAGE_HAS_HOLE，但在 %3$X/%4$X 有 offset %1$u 長度 %2$u 的空洞"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr "設定了 BKPIMAGE_COMPRESSED，但在 %2$X/%3$X 的區塊影像長度為 %1$u"
 
 #: xlogreader.c:1847
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
 msgstr "未設定 BKPIMAGE_HAS_HOLE 和 BKPIMAGE_COMPRESSED，但在 %2$X/%3$X 的區塊影像長度為 %1$u"
 
 #: xlogreader.c:1863
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "設定了 BKPBLOCK_SAME_REL，但在 %X/%X 沒有先前的 rel"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "設定了 BKPBLOCK_SAME_REL，但在 %X/%08X 沒有先前的 rel"
 
 #: xlogreader.c:1875
 #, c-format
-msgid "invalid block_id %u at %X/%X"
+msgid "invalid block_id %u at %X/%08X"
 msgstr "位於 %2$X/%3$X 的無效 block_id %1$u"
 
 #: xlogreader.c:1942
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "位於 %X/%X 的記錄長度無效"
+msgid "record with invalid length at %X/%08X"
+msgstr "位於 %X/%08X 的記錄長度無效"
 
 #: xlogreader.c:1968
 #, c-format
@@ -1069,25 +1069,25 @@ msgstr "在 WAL 記錄中找不到具有 ID %d 的備份區塊"
 
 #: xlogreader.c:2052
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
 msgstr "無法還原指定了無效區塊 %3$d 的影像，位置 %1$X/%2$X"
 
 #: xlogreader.c:2059
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "無法還原處於無效狀態的影像，位置 %X/%X，區塊 %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "無法還原處於無效狀態的影像，位置 %X/%08X，區塊 %d"
 
 #: xlogreader.c:2086 xlogreader.c:2103
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
 msgstr "無法還原用此版本不支援的壓縮方法 %3$s 壓縮的影像，位置 %1$X/%2$X，區塊 %4$d"
 
 #: xlogreader.c:2112
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "無法還原使用未知方法壓縮的影像，位置 %X/%X，區塊 %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "無法還原使用未知方法壓縮的影像，位置 %X/%08X，區塊 %d"
 
 #: xlogreader.c:2120
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "無法解壓縮影像，位置 %X/%X，區塊 %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "無法解壓縮影像，位置 %X/%08X，區塊 %d"
diff --git a/src/bin/pg_rewind/timeline.c b/src/bin/pg_rewind/timeline.c
index 4d9f0d8301b..6784969951f 100644
--- a/src/bin/pg_rewind/timeline.c
+++ b/src/bin/pg_rewind/timeline.c
@@ -66,7 +66,7 @@ rewind_parseTimeLineHistory(char *buffer, TimeLineID targetTLI, int *nentries)
 		if (*ptr == '\0' || *ptr == '#')
 			continue;
 
-		nfields = sscanf(fline, "%u\t%X/%X", &tli, &switchpoint_hi, &switchpoint_lo);
+		nfields = sscanf(fline, "%u\t%X/%08X", &tli, &switchpoint_hi, &switchpoint_lo);
 
 		if (nfields < 1)
 		{
diff --git a/src/bin/pg_verifybackup/pg_verifybackup.c b/src/bin/pg_verifybackup/pg_verifybackup.c
index 48994ef9bc6..5e6c13bb921 100644
--- a/src/bin/pg_verifybackup/pg_verifybackup.c
+++ b/src/bin/pg_verifybackup/pg_verifybackup.c
@@ -1207,7 +1207,7 @@ parse_required_wal(verifier_context *context, char *pg_waldump_path,
 	{
 		char	   *pg_waldump_cmd;
 
-		pg_waldump_cmd = psprintf("\"%s\" --quiet --path=\"%s\" --timeline=%u --start=%X/%X --end=%X/%X\n",
+		pg_waldump_cmd = psprintf("\"%s\" --quiet --path=\"%s\" --timeline=%u --start=%X/%08X --end=%X/%08X\n",
 								  pg_waldump_path, wal_directory, this_wal_range->tli,
 								  LSN_FORMAT_ARGS(this_wal_range->start_lsn),
 								  LSN_FORMAT_ARGS(this_wal_range->end_lsn));
diff --git a/src/bin/pg_waldump/pg_waldump.c b/src/bin/pg_waldump/pg_waldump.c
index 51fb76efc48..13d3ec2f5be 100644
--- a/src/bin/pg_waldump/pg_waldump.c
+++ b/src/bin/pg_waldump/pg_waldump.c
@@ -656,7 +656,7 @@ XLogDumpDisplayStats(XLogDumpConfig *config, XLogStats *stats)
 	}
 	total_len = total_rec_len + total_fpi_len;
 
-	printf("WAL statistics between %X/%X and %X/%X:\n",
+	printf("WAL statistics between %X/%08X and %X/%08X:\n",
 		   LSN_FORMAT_ARGS(stats->startptr), LSN_FORMAT_ARGS(stats->endptr));
 
 	/*
@@ -904,7 +904,7 @@ main(int argc, char **argv)
 				config.filter_by_extended = true;
 				break;
 			case 'e':
-				if (sscanf(optarg, "%X/%X", &xlogid, &xrecoff) != 2)
+				if (sscanf(optarg, "%X/%08X", &xlogid, &xrecoff) != 2)
 				{
 					pg_log_error("invalid WAL location: \"%s\"",
 								 optarg);
@@ -1002,7 +1002,7 @@ main(int argc, char **argv)
 				config.filter_by_extended = true;
 				break;
 			case 's':
-				if (sscanf(optarg, "%X/%X", &xlogid, &xrecoff) != 2)
+				if (sscanf(optarg, "%X/%08X", &xlogid, &xrecoff) != 2)
 				{
 					pg_log_error("invalid WAL location: \"%s\"",
 								 optarg);
@@ -1140,7 +1140,7 @@ main(int argc, char **argv)
 			XLogSegNoOffsetToRecPtr(segno, 0, WalSegSz, private.startptr);
 		else if (!XLByteInSeg(private.startptr, segno, WalSegSz))
 		{
-			pg_log_error("start WAL location %X/%X is not inside file \"%s\"",
+			pg_log_error("start WAL location %X/%08X is not inside file \"%s\"",
 						 LSN_FORMAT_ARGS(private.startptr),
 						 fname);
 			goto bad_argument;
@@ -1182,7 +1182,7 @@ main(int argc, char **argv)
 		if (!XLByteInSeg(private.endptr, segno, WalSegSz) &&
 			private.endptr != (segno + 1) * WalSegSz)
 		{
-			pg_log_error("end WAL location %X/%X is not inside file \"%s\"",
+			pg_log_error("end WAL location %X/%08X is not inside file \"%s\"",
 						 LSN_FORMAT_ARGS(private.endptr),
 						 argv[argc - 1]);
 			goto bad_argument;
@@ -1214,7 +1214,7 @@ main(int argc, char **argv)
 	first_record = XLogFindNextRecord(xlogreader_state, private.startptr);
 
 	if (first_record == InvalidXLogRecPtr)
-		pg_fatal("could not find a valid record after %X/%X",
+		pg_fatal("could not find a valid record after %X/%08X",
 				 LSN_FORMAT_ARGS(private.startptr));
 
 	/*
@@ -1224,8 +1224,8 @@ main(int argc, char **argv)
 	 */
 	if (first_record != private.startptr &&
 		XLogSegmentOffset(private.startptr, WalSegSz) != 0)
-		pg_log_info(ngettext("first record is after %X/%X, at %X/%X, skipping over %u byte",
-							 "first record is after %X/%X, at %X/%X, skipping over %u bytes",
+		pg_log_info(ngettext("first record is after %X/%08X, at %X/%08X, skipping over %u byte",
+							 "first record is after %X/%08X, at %X/%08X, skipping over %u bytes",
 							 (first_record - private.startptr)),
 					LSN_FORMAT_ARGS(private.startptr),
 					LSN_FORMAT_ARGS(first_record),
@@ -1309,7 +1309,7 @@ main(int argc, char **argv)
 		exit(0);
 
 	if (errormsg)
-		pg_fatal("error in WAL record at %X/%X: %s",
+		pg_fatal("error in WAL record at %X/%08X: %s",
 				 LSN_FORMAT_ARGS(xlogreader_state->ReadRecPtr),
 				 errormsg);
 
diff --git a/src/bin/pg_waldump/po/cs.po b/src/bin/pg_waldump/po/cs.po
index b8b1278500b..c79d055cd06 100644
--- a/src/bin/pg_waldump/po/cs.po
+++ b/src/bin/pg_waldump/po/cs.po
@@ -263,8 +263,8 @@ msgstr "nelze otevřít soubor \"%s\""
 
 #: pg_waldump.c:979
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "počátační WAL pozice %X/%X není v souboru \"%s\""
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "počátační WAL pozice %X/%08X není v souboru \"%s\""
 
 #: pg_waldump.c:1007
 #, c-format
@@ -273,8 +273,8 @@ msgstr "ENDSEG %s je před STARTSEG %s"
 
 #: pg_waldump.c:1022
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "koncová WAL pozice %X/%X není v souboru \"%s\""
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "koncová WAL pozice %X/%08X není v souboru \"%s\""
 
 #: pg_waldump.c:1035
 #, c-format
@@ -288,21 +288,21 @@ msgstr "nedostatek paměti"
 
 #: pg_waldump.c:1055
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "nelze najít platný záznam po %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "nelze najít platný záznam po %X/%08X"
 
 #: pg_waldump.c:1066
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
-msgstr[0] "první záznam po %X/%X, na %X/%X, přeskakuji %u bytů\n"
-msgstr[1] "první záznam po %X/%X, na %X/%X, přeskakuji %u byty\n"
-msgstr[2] "první záznam po %X/%X, na %X/%X, přeskakuji %u bytů\n"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes\n"
+msgstr[0] "první záznam po %X/%08X, na %X/%08X, přeskakuji %u bytů\n"
+msgstr[1] "první záznam po %X/%08X, na %X/%08X, přeskakuji %u byty\n"
+msgstr[2] "první záznam po %X/%08X, na %X/%08X, přeskakuji %u bytů\n"
 
 #: pg_waldump.c:1117
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "chyba ve WAL záznamu na %X/%X: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "chyba ve WAL záznamu na %X/%08X: %s"
 
 #: pg_waldump.c:1127
 #, c-format
diff --git a/src/bin/pg_waldump/po/de.po b/src/bin/pg_waldump/po/de.po
index 8c5487e6487..2fa437a6e3e 100644
--- a/src/bin/pg_waldump/po/de.po
+++ b/src/bin/pg_waldump/po/de.po
@@ -407,8 +407,8 @@ msgstr "konnte Datei »%s« nicht öffnen"
 
 #: pg_waldump.c:1143
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "WAL-Startposition %X/%X ist nicht innerhalb der Datei »%s«"
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "WAL-Startposition %X/%08X ist nicht innerhalb der Datei »%s«"
 
 #: pg_waldump.c:1170
 #, c-format
@@ -417,8 +417,8 @@ msgstr "ENDSEG %s kommt vor STARTSEG %s"
 
 #: pg_waldump.c:1185
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "WAL-Endposition %X/%X ist nicht innerhalb der Datei »%s«"
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "WAL-Endposition %X/%08X ist nicht innerhalb der Datei »%s«"
 
 #: pg_waldump.c:1197
 #, c-format
@@ -432,20 +432,20 @@ msgstr "Speicher aufgebraucht beim Anlegen eines WAL-Leseprozessors"
 
 #: pg_waldump.c:1217
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "konnte keinen gültigen Datensatz nach %X/%X finden"
+msgid "could not find a valid record after %X/%08X"
+msgstr "konnte keinen gültigen Datensatz nach %X/%08X finden"
 
 #: pg_waldump.c:1227
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes"
-msgstr[0] "erster Datensatz kommt nach %X/%X, bei %X/%X, %u Byte wurde übersprungen"
-msgstr[1] "erster Datensatz kommt nach %X/%X, bei %X/%X, %u Bytes wurden übersprungen"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes"
+msgstr[0] "erster Datensatz kommt nach %X/%08X, bei %X/%08X, %u Byte wurde übersprungen"
+msgstr[1] "erster Datensatz kommt nach %X/%08X, bei %X/%08X, %u Bytes wurden übersprungen"
 
 #: pg_waldump.c:1312
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "Fehler in WAL-Eintrag bei %X/%X: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "Fehler in WAL-Eintrag bei %X/%08X: %s"
 
 #: pg_waldump.c:1321
 #, c-format
@@ -454,53 +454,53 @@ msgstr "Versuchen Sie »%s --help« für weitere Informationen."
 
 #: xlogreader.c:620
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "ungültiger Datensatz-Offset bei %X/%X: mindestens %u erwartet, %u erhalten"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "ungültiger Datensatz-Offset bei %X/%08X: mindestens %u erwartet, %u erhalten"
 
 #: xlogreader.c:629
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "Contrecord angefordert von %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "Contrecord angefordert von %X/%08X"
 
 #: xlogreader.c:670 xlogreader.c:1135
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "ungültige Datensatzlänge bei %X/%X: mindestens %u erwartet, %u erhalten"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "ungültige Datensatzlänge bei %X/%08X: mindestens %u erwartet, %u erhalten"
 
 #: xlogreader.c:759
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "keine Contrecord-Flag bei %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "keine Contrecord-Flag bei %X/%08X"
 
 #: xlogreader.c:772
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "ungültige Contrecord-Länge %u (erwartet %lld) bei %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "ungültige Contrecord-Länge %u (erwartet %lld) bei %X/%08X"
 
 #: xlogreader.c:1143
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ungültige Resource-Manager-ID %u bei %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ungültige Resource-Manager-ID %u bei %X/%08X"
 
 #: xlogreader.c:1156 xlogreader.c:1172
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "Datensatz mit falschem Prev-Link %X/%X bei %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "Datensatz mit falschem Prev-Link %X/%08X bei %X/%08X"
 
 #: xlogreader.c:1210
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "ungültige Resource-Manager-Datenprüfsumme in Datensatz bei %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "ungültige Resource-Manager-Datenprüfsumme in Datensatz bei %X/%08X"
 
 #: xlogreader.c:1244
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ungültige magische Zahl %04X in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ungültige magische Zahl %04X in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: xlogreader.c:1259 xlogreader.c:1301
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ungültige Info-Bits %04X in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ungültige Info-Bits %04X in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: xlogreader.c:1275
 #, c-format
@@ -519,63 +519,63 @@ msgstr "WAL-Datei ist von einem anderen Datenbanksystem: falsche XLOG_BLCKSZ im
 
 #: xlogreader.c:1321
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "unerwartete Pageaddr %X/%X in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "unerwartete Pageaddr %X/%08X in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: xlogreader.c:1347
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in WAL-Segment %s, LSN %X/%X, Offset %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "Zeitleisten-ID %u außer der Reihe (nach %u) in WAL-Segment %s, LSN %X/%08X, Offset %u"
 
 #: xlogreader.c:1759
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u außer der Reihe bei %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %u außer der Reihe bei %X/%08X"
 
 #: xlogreader.c:1783
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA gesetzt, aber keine Daten enthalten bei %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA gesetzt, aber keine Daten enthalten bei %X/%08X"
 
 #: xlogreader.c:1790
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA nicht gesetzt, aber Datenlänge ist %u bei %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA nicht gesetzt, aber Datenlänge ist %u bei %X/%08X"
 
 #: xlogreader.c:1826
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE gesetzt, aber Loch Offset %u Länge %u Block-Abbild-Länge %u bei %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE gesetzt, aber Loch Offset %u Länge %u Block-Abbild-Länge %u bei %X/%08X"
 
 #: xlogreader.c:1842
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE nicht gesetzt, aber Loch Offset %u Länge %u bei %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE nicht gesetzt, aber Loch Offset %u Länge %u bei %X/%08X"
 
 #: xlogreader.c:1856
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge %u bei %X/%08X"
 
 #: xlogreader.c:1871
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "weder BKPIMAGE_HAS_HOLE noch BKPIMAGE_COMPRESSED gesetzt, aber Block-Abbild-Länge ist %u bei %X/%08X"
 
 #: xlogreader.c:1887
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL gesetzt, aber keine vorangehende Relation bei %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL gesetzt, aber keine vorangehende Relation bei %X/%08X"
 
 #: xlogreader.c:1899
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "ungültige block_id %u bei %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "ungültige block_id %u bei %X/%08X"
 
 #: xlogreader.c:1966
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "Datensatz mit ungültiger Länge bei %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "Datensatz mit ungültiger Länge bei %X/%08X"
 
 #: xlogreader.c:1992
 #, c-format
@@ -584,25 +584,25 @@ msgstr "konnte Backup-Block mit ID %d nicht im WAL-Eintrag finden"
 
 #: xlogreader.c:2076
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "konnte Abbild bei %X/%X mit ungültigem angegebenen Block %d nicht wiederherstellen"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "konnte Abbild bei %X/%08X mit ungültigem angegebenen Block %d nicht wiederherstellen"
 
 #: xlogreader.c:2083
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "konnte Abbild mit ungültigem Zustand bei %X/%X nicht wiederherstellen, Block %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "konnte Abbild mit ungültigem Zustand bei %X/%08X nicht wiederherstellen, Block %d"
 
 #: xlogreader.c:2110 xlogreader.c:2127
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "konnte Abbild bei %X/%X nicht wiederherstellen, komprimiert mit %s, nicht unterstützt von dieser Installation, Block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "konnte Abbild bei %X/%08X nicht wiederherstellen, komprimiert mit %s, nicht unterstützt von dieser Installation, Block %d"
 
 #: xlogreader.c:2136
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "konnte Abbild bei %X/%X nicht wiederherstellen, komprimiert mit unbekannter Methode, Block %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "konnte Abbild bei %X/%08X nicht wiederherstellen, komprimiert mit unbekannter Methode, Block %d"
 
 #: xlogreader.c:2144
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "konnte Abbild bei %X/%X nicht dekomprimieren, Block %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "konnte Abbild bei %X/%08X nicht dekomprimieren, Block %d"
diff --git a/src/bin/pg_waldump/po/el.po b/src/bin/pg_waldump/po/el.po
index 5cc4cbd142a..a6c8e728ebd 100644
--- a/src/bin/pg_waldump/po/el.po
+++ b/src/bin/pg_waldump/po/el.po
@@ -358,8 +358,8 @@ msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου 
 
 #: pg_waldump.c:1139
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "τοποθεσία εκκίνησης WAL %X/%X δεν βρίσκεται μέσα στο αρχείο «%s»"
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "τοποθεσία εκκίνησης WAL %X/%08X δεν βρίσκεται μέσα στο αρχείο «%s»"
 
 #: pg_waldump.c:1166
 #, c-format
@@ -368,8 +368,8 @@ msgstr "ENDSEG %s βρίσκεται πριν από STARTSEG %s"
 
 #: pg_waldump.c:1181
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "η τελική τοποθεσία WAL %X/%X δεν βρίσκεται μέσα στο αρχείο «%s»"
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "η τελική τοποθεσία WAL %X/%08X δεν βρίσκεται μέσα στο αρχείο «%s»"
 
 #: pg_waldump.c:1193
 #, c-format
@@ -383,20 +383,20 @@ msgstr "η μνήμη δεν επαρκεί για την εκχώρηση επ
 
 #: pg_waldump.c:1213
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "δεν ήταν δυνατή η εύρεση έγκυρης εγγραφής μετά %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "δεν ήταν δυνατή η εύρεση έγκυρης εγγραφής μετά %X/%08X"
 
 #: pg_waldump.c:1223
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
-msgstr[0] "πρώτη εγγραφή βρίσκεται μετά από %X/%X, σε %X/%X, παρακάμπτοντας %u byte\n"
-msgstr[1] "πρώτη εγγραφή βρίσκεται μετά από %X/%X, σε %X/%X, παρακάμπτοντας %u bytes\n"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes\n"
+msgstr[0] "πρώτη εγγραφή βρίσκεται μετά από %X/%08X, σε %X/%08X, παρακάμπτοντας %u byte\n"
+msgstr[1] "πρώτη εγγραφή βρίσκεται μετά από %X/%08X, σε %X/%08X, παρακάμπτοντας %u bytes\n"
 
 #: pg_waldump.c:1308
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "σφάλμα στην εγγραφή WAL στο %X/%X: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "σφάλμα στην εγγραφή WAL στο %X/%08X: %s"
 
 #: pg_waldump.c:1317
 #, c-format
@@ -405,18 +405,18 @@ msgstr "Δοκιμάστε «%s --help» για περισσότερες πλη
 
 #: xlogreader.c:626
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "μη έγκυρο μήκος εγγραφής σε %X/%X: ανέμενε τουλάχιστον %u, έλαβε %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "μη έγκυρο μήκος εγγραφής σε %X/%08X: ανέμενε τουλάχιστον %u, έλαβε %u"
 
 #: xlogreader.c:635
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord ζητείται από %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord ζητείται από %X/%08X"
 
 #: xlogreader.c:676 xlogreader.c:1119
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "μη έγκυρο μήκος εγγραφής σε %X/%X: ανένεμενε τουλάχιστον %u, έλαβε %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "μη έγκυρο μήκος εγγραφής σε %X/%08X: ανένεμενε τουλάχιστον %u, έλαβε %u"
 
 #: xlogreader.c:705
 #, c-format
@@ -425,43 +425,43 @@ msgstr "έλλειψη μνήμης κατά την προσπάθεια απο
 
 #: xlogreader.c:727
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "μήκος εγγραφής %u σε %X/%X πολύ μακρύ"
+msgid "record length %u at %X/%08X too long"
+msgstr "μήκος εγγραφής %u σε %X/%08X πολύ μακρύ"
 
 #: xlogreader.c:776
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "δεν υπάρχει σημαία contrecord στο %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "δεν υπάρχει σημαία contrecord στο %X/%08X"
 
 #: xlogreader.c:789
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "μη έγκυρο μήκος contrecord %u (αναμένεται %lld) σε %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "μη έγκυρο μήκος contrecord %u (αναμένεται %lld) σε %X/%08X"
 
 #: xlogreader.c:1127
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "μη έγκυρο ID %u διαχειριστή πόρων στο %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "μη έγκυρο ID %u διαχειριστή πόρων στο %X/%08X"
 
 #: xlogreader.c:1140 xlogreader.c:1156
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "εγγραφή με εσφαλμένο prev-link %X/%X σε %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "εγγραφή με εσφαλμένο prev-link %X/%08X σε %X/%08X"
 
 #: xlogreader.c:1192
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "εσφαλμένο άθροισμα ελέγχου δεδομένων διαχειριστή πόρων σε εγγραφή στο %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "εσφαλμένο άθροισμα ελέγχου δεδομένων διαχειριστή πόρων σε εγγραφή στο %X/%08X"
 
 #: xlogreader.c:1226
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "μη έγκυρος μαγικός αριθμός %04X στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "μη έγκυρος μαγικός αριθμός %04X στο τμήμα WAL %s, LSN %X/%08X, μετατόπιση %u"
 
 #: xlogreader.c:1241 xlogreader.c:1283
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "μη έγκυρα info bits %04X στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "μη έγκυρα info bits %04X στο τμήμα WAL %s, LSN %X/%08X, μετατόπιση %u"
 
 #: xlogreader.c:1257
 #, c-format
@@ -480,63 +480,63 @@ msgstr "WAL αρχείο προέρχεται από διαφορετικό σύ
 
 #: xlogreader.c:1303
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "μη αναμενόμενο pageaddr %X/%X στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "μη αναμενόμενο pageaddr %X/%08X στο τμήμα WAL %s, LSN %X/%08X, μετατόπιση %u"
 
 #: xlogreader.c:1329
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "εκτός ακολουθίας ID χρονογραμμής %u (μετά %u) στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "εκτός ακολουθίας ID χρονογραμμής %u (μετά %u) στο τμήμα WAL %s, LSN %X/%08X, μετατόπιση %u"
 
 #: xlogreader.c:1735
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "εκτός ακολουθίας block_id %u στο %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "εκτός ακολουθίας block_id %u στο %X/%08X"
 
 #: xlogreader.c:1759
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA έχει οριστεί, αλλά δεν περιλαμβάνονται δεδομένα σε %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA έχει οριστεί, αλλά δεν περιλαμβάνονται δεδομένα σε %X/%08X"
 
 #: xlogreader.c:1766
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA δεν έχει οριστεί, αλλά το μήκος των δεδομένων είναι %u σε %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA δεν έχει οριστεί, αλλά το μήκος των δεδομένων είναι %u σε %X/%08X"
 
 #: xlogreader.c:1802
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE έχει οριστεί, αλλά οπή με μετατόπιση %u μήκος %u μήκος μπλοκ εικόνας %u σε %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE έχει οριστεί, αλλά οπή με μετατόπιση %u μήκος %u μήκος μπλοκ εικόνας %u σε %X/%08X"
 
 #: xlogreader.c:1818
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE δεν έχει οριστεί, αλλά οπή με μετατόπιση %u μήκος %u σε %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE δεν έχει οριστεί, αλλά οπή με μετατόπιση %u μήκος %u σε %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_IS_COMPRESSED έχει οριστεί, αλλά μέγεθος μπλοκ εικόνας %u σε %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_IS_COMPRESSED έχει οριστεί, αλλά μέγεθος μπλοκ εικόνας %u σε %X/%08X"
 
 #: xlogreader.c:1847
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "ούτε BKPIMAGE_HAS_HOLE ούτε BKPIMAGE_IS_COMPRESSED είναι ορισμένα, αλλά το μήκος της εικόνας μπλοκ είναι %u στο %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "ούτε BKPIMAGE_HAS_HOLE ούτε BKPIMAGE_IS_COMPRESSED είναι ορισμένα, αλλά το μήκος της εικόνας μπλοκ είναι %u στο %X/%08X"
 
 #: xlogreader.c:1863
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL είναι ορισμένο, αλλά καμία προηγούμενη rel στο %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL είναι ορισμένο, αλλά καμία προηγούμενη rel στο %X/%08X"
 
 #: xlogreader.c:1875
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "μη έγκυρο block_id %u στο %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "μη έγκυρο block_id %u στο %X/%08X"
 
 #: xlogreader.c:1942
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "εγγραφή με μη έγκυρο μήκος στο %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "εγγραφή με μη έγκυρο μήκος στο %X/%08X"
 
 #: xlogreader.c:1968
 #, c-format
@@ -545,28 +545,28 @@ msgstr "δεν ήταν δυνατή η εύρεση μπλοκ αντιγράφ
 
 #: xlogreader.c:2052
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%X με ορισμένο άκυρο μπλοκ %d"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%08X με ορισμένο άκυρο μπλοκ %d"
 
 #: xlogreader.c:2059
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%X με άκυρη κατάσταση, μπλοκ %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%08X με άκυρη κατάσταση, μπλοκ %d"
 
 #: xlogreader.c:2086 xlogreader.c:2103
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%X συμπιεσμένη με %s που δεν υποστηρίζεται από την υλοποίηση, μπλοκ %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%08X συμπιεσμένη με %s που δεν υποστηρίζεται από την υλοποίηση, μπλοκ %d"
 
 #: xlogreader.c:2112
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%X συμπιεσμένη με άγνωστη μέθοδο, μπλοκ %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%08X συμπιεσμένη με άγνωστη μέθοδο, μπλοκ %d"
 
 #: xlogreader.c:2120
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "δεν ήταν δυνατή η αποσυμπιέση εικόνας στο %X/%X, μπλοκ %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "δεν ήταν δυνατή η αποσυμπιέση εικόνας στο %X/%08X, μπλοκ %d"
 
 #~ msgid "Try \"%s --help\" for more information.\n"
 #~ msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες.\n"
@@ -592,14 +592,14 @@ msgstr "δεν ήταν δυνατή η αποσυμπιέση εικόνας σ
 #~ msgid "fatal: "
 #~ msgstr "κρίσιμο: "
 
-#~ msgid "invalid record offset at %X/%X"
-#~ msgstr "μη έγκυρη μετατόπιση εγγραφών σε %X/%X"
+#~ msgid "invalid record offset at %X/%08X"
+#~ msgstr "μη έγκυρη μετατόπιση εγγραφών σε %X/%08X"
 
 #~ msgid "invalid timeline specification: \"%s\""
 #~ msgstr "άκυρη προδιαγραφή χρονοδιαγραμμής: «%s»"
 
-#~ msgid "missing contrecord at %X/%X"
-#~ msgstr "λείπει contrecord στο %X/%X"
+#~ msgid "missing contrecord at %X/%08X"
+#~ msgstr "λείπει contrecord στο %X/%08X"
 
 #~ msgid "out of memory"
 #~ msgstr "έλλειψη μνήμης"
diff --git a/src/bin/pg_waldump/po/es.po b/src/bin/pg_waldump/po/es.po
index 18864a7bcd4..a9d242286bb 100644
--- a/src/bin/pg_waldump/po/es.po
+++ b/src/bin/pg_waldump/po/es.po
@@ -409,8 +409,8 @@ msgstr "no se pudo abrir el archivo «%s»"
 
 #: pg_waldump.c:1143
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "la posición inicial de WAL %X/%X no está en el archivo «%s»"
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "la posición inicial de WAL %X/%08X no está en el archivo «%s»"
 
 #: pg_waldump.c:1170
 #, c-format
@@ -419,8 +419,8 @@ msgstr "SEGFINAL %s está antes del SEGINICIAL %s"
 
 #: pg_waldump.c:1185
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "la posición final de WAL %X/%X no está en el archivo «%s»"
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "la posición final de WAL %X/%08X no está en el archivo «%s»"
 
 #: pg_waldump.c:1197
 #, c-format
@@ -434,20 +434,20 @@ msgstr "se agotó la memoria mientras se emplazaba un procesador de lectura de W
 
 #: pg_waldump.c:1217
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "no se pudo encontrar un registro válido después de %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "no se pudo encontrar un registro válido después de %X/%08X"
 
 #: pg_waldump.c:1227
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes"
-msgstr[0] "el primer registro está ubicado después de %X/%X, en %X/%X, saltándose %u byte"
-msgstr[1] "el primer registro está ubicado después de %X/%X, en %X/%X, saltándose %u bytes"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes"
+msgstr[0] "el primer registro está ubicado después de %X/%08X, en %X/%08X, saltándose %u byte"
+msgstr[1] "el primer registro está ubicado después de %X/%08X, en %X/%08X, saltándose %u bytes"
 
 #: pg_waldump.c:1312
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "error en registro de WAL en %X/%X: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "error en registro de WAL en %X/%08X: %s"
 
 #: pg_waldump.c:1321
 #, c-format
@@ -456,53 +456,53 @@ msgstr "Pruebe «%s --help» para mayor información."
 
 #: xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "desplazamiento de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "desplazamiento de registro no válido en %X/%08X: se esperaba al menos %u, se obtuvo %u"
 
 #: xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord solicitado por %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord solicitado por %X/%08X"
 
 #: xlogreader.c:669 xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "largo de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "largo de registro no válido en %X/%08X: se esperaba al menos %u, se obtuvo %u"
 
 #: xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "no hay bandera de contrecord en %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "no hay bandera de contrecord en %X/%08X"
 
 #: xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%08X"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ID de gestor de recursos %u no válido en %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ID de gestor de recursos %u no válido en %X/%08X"
 
 #: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "registro con prev-link %X/%X incorrecto en %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "registro con prev-link %X/%08X incorrecto en %X/%08X"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%08X"
 
 #: xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "número mágico %04X no válido en segmento WAL %s, LSN %X/%X, posición %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "número mágico %04X no válido en segmento WAL %s, LSN %X/%08X, posición %u"
 
 #: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "info bits %04X no válidos en segment WAL %s, LSN %X/%X, posición %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "info bits %04X no válidos en segment WAL %s, LSN %X/%08X, posición %u"
 
 #: xlogreader.c:1274
 #, c-format
@@ -521,63 +521,63 @@ msgstr "archivo WAL es de un sistema de bases de datos distinto: XLOG_BLCKSZ inc
 
 #: xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "pageaddr %X/%08X inesperado en segmento WAL %s, LSN %X/%08X, posición %u"
 
 #: xlogreader.c:1346
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ID de timeline %u fuera de secuencia (después de %u) en segmento WAL %s, LSN %X/%X, posición %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ID de timeline %u fuera de secuencia (después de %u) en segmento WAL %s, LSN %X/%08X, posición %u"
 
 #: xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u fuera de orden en %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %u fuera de orden en %X/%08X"
 
 #: xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA está definido, pero no hay datos en %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA está definido, pero no hay datos en %X/%08X"
 
 #: xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA no está definido, pero el largo de los datos es %u en %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA no está definido, pero el largo de los datos es %u en %X/%08X"
 
 #: xlogreader.c:1816
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE está definido, pero posición del agujero es %u largo %u largo de imagen %u en %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE está definido, pero posición del agujero es %u largo %u largo de imagen %u en %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE no está definido, pero posición del agujero es %u largo %u en %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE no está definido, pero posición del agujero es %u largo %u en %X/%08X"
 
 #: xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%08X"
 
 #: xlogreader.c:1861
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED están definidos, pero el largo de imagen de bloque es %u en %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED están definidos, pero el largo de imagen de bloque es %u en %X/%08X"
 
 #: xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL está definido, pero no hay «rel» anterior en %X/%X "
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL está definido, pero no hay «rel» anterior en %X/%08X "
 
 #: xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "block_id %u no válido en %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "block_id %u no válido en %X/%08X"
 
 #: xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "registro con largo no válido en %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "registro con largo no válido en %X/%08X"
 
 #: xlogreader.c:1982
 #, c-format
@@ -586,25 +586,25 @@ msgstr "no se pudo localizar un bloque de respaldo con ID %d en el registro WAL"
 
 #: xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "no se pudo restaurar la imagen en %X/%X con bloque especificado %d no válido"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "no se pudo restaurar la imagen en %X/%08X con bloque especificado %d no válido"
 
 #: xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "no se pudo restaurar la imagen en %X/%X con estado no válido, bloque %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "no se pudo restaurar la imagen en %X/%08X con estado no válido, bloque %d"
 
 #: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "no se pudo restaurar la imagen en %X/%X comprimida con %s que no está soportado por esta instalación, bloque %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "no se pudo restaurar la imagen en %X/%08X comprimida con %s que no está soportado por esta instalación, bloque %d"
 
 #: xlogreader.c:2126
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "no se pudo restaurar la imagen en %X/%X comprimida con un método desconocido, bloque %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "no se pudo restaurar la imagen en %X/%08X comprimida con un método desconocido, bloque %d"
 
 #: xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "no se pudo descomprimir la imagen en %X/%X, bloque %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "no se pudo descomprimir la imagen en %X/%08X, bloque %d"
diff --git a/src/bin/pg_waldump/po/fr.po b/src/bin/pg_waldump/po/fr.po
index f127e5e7aab..b70eea4cfa4 100644
--- a/src/bin/pg_waldump/po/fr.po
+++ b/src/bin/pg_waldump/po/fr.po
@@ -432,8 +432,8 @@ msgstr "n'a pas pu ouvrir le fichier « %s »"
 
 #: pg_waldump.c:1143
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "l'emplacement de début des journaux de transactions %X/%X n'est pas à l'intérieur du fichier « %s »"
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "l'emplacement de début des journaux de transactions %X/%08X n'est pas à l'intérieur du fichier « %s »"
 
 #: pg_waldump.c:1170
 #, c-format
@@ -442,8 +442,8 @@ msgstr "SEG_FIN %s est avant SEG_DÉBUT %s"
 
 #: pg_waldump.c:1185
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "l'emplacement de fin des journaux de transactions %X/%X n'est pas à l'intérieur du fichier « %s »"
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "l'emplacement de fin des journaux de transactions %X/%08X n'est pas à l'intérieur du fichier « %s »"
 
 #: pg_waldump.c:1197
 #, c-format
@@ -457,20 +457,20 @@ msgstr "plus de mémoire lors de l'allocation d'un processeur de lecture de jour
 
 #: pg_waldump.c:1217
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "n'a pas pu trouver un enregistrement valide après %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "n'a pas pu trouver un enregistrement valide après %X/%08X"
 
 #: pg_waldump.c:1227
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes"
-msgstr[0] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octet"
-msgstr[1] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octets"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes"
+msgstr[0] "le premier enregistrement se trouve après %X/%08X, à %X/%08X, ignore %u octet"
+msgstr[1] "le premier enregistrement se trouve après %X/%08X, à %X/%08X, ignore %u octets"
 
 #: pg_waldump.c:1312
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "erreur dans l'enregistrement des journaux de transactions à %X/%X : %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "erreur dans l'enregistrement des journaux de transactions à %X/%08X : %s"
 
 #: pg_waldump.c:1321
 #, c-format
@@ -479,55 +479,55 @@ msgstr "Essayez « %s --help » pour plus d'informations."
 
 #: xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "décalage invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "décalage invalide de l'enregistrement à %X/%08X : attendait au moins %u, a eu %u"
 
 #: xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "« contrecord » est requis par %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "« contrecord » est requis par %X/%08X"
 
 #: xlogreader.c:669 xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "longueur invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "longueur invalide de l'enregistrement à %X/%08X : attendait au moins %u, a eu %u"
 
 #: xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "il n'existe pas de drapeau contrecord à %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "il n'existe pas de drapeau contrecord à %X/%08X"
 
 #: xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%08X"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%08X"
 
 #: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "enregistrement avec prev-link %X/%X incorrect à %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "enregistrement avec prev-link %X/%08X incorrect à %X/%08X"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
 msgstr ""
 "somme de contrôle des données du gestionnaire de ressources incorrecte à\n"
-"l'enregistrement %X/%X"
+"l'enregistrement %X/%08X"
 
 #: xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "numéro magique invalide %04X dans le segment WAL %s, LSN %X/%X, décalage %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "numéro magique invalide %04X dans le segment WAL %s, LSN %X/%08X, décalage %u"
 
 #: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "bits d'information %04X invalides dans le segment WAL %s, LSN %X/%X, décalage %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "bits d'information %04X invalides dans le segment WAL %s, LSN %X/%08X, décalage %u"
 
 #: xlogreader.c:1274
 #, c-format
@@ -546,63 +546,63 @@ msgstr "Le fichier WAL provient d'une instance différente : XLOG_BLCKSZ incorre
 
 #: xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, LSN %X/%X, segment %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "pageaddr %X/%08X inattendue dans le journal de transactions %s, LSN %X/%08X, segment %u"
 
 #: xlogreader.c:1346
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment WAL %s, LSN %X/%X, décalage %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment WAL %s, LSN %X/%08X, décalage %u"
 
 #: xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %u désordonné à %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %u désordonné à %X/%08X"
 
 #: xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%08X"
 
 #: xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%08X"
 
 #: xlogreader.c:1816
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%08X"
 
 #: xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%08X"
 
 #: xlogreader.c:1861
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%08X"
 
 #: xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%08X"
 
 #: xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "block_id %u invalide à %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "block_id %u invalide à %X/%08X"
 
 #: xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "enregistrement de longueur invalide à %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "enregistrement de longueur invalide à %X/%08X"
 
 #: xlogreader.c:1982
 #, c-format
@@ -611,25 +611,25 @@ msgstr "n'a pas pu localiser le bloc de sauvegarde d'ID %d dans l'enregistrement
 
 #: xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "n'a pas pu restaurer l'image à %X/%08X avec le bloc invalide %d indiqué"
 
 #: xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "n'a pas pu restaurer l'image à %X/%X avec un état invalide, bloc %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "n'a pas pu restaurer l'image à %X/%08X avec un état invalide, bloc %d"
 
 #: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec %s, qui est non supporté par le serveur, bloc %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "n'a pas pu restaurer l'image à %X/%08X compressé avec %s, qui est non supporté par le serveur, bloc %d"
 
 #: xlogreader.c:2126
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec une méthode inconnue, bloc %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "n'a pas pu restaurer l'image à %X/%08X compressé avec une méthode inconnue, bloc %d"
 
 #: xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "n'a pas pu décompresser l'image à %X/%08X, bloc %d"
diff --git a/src/bin/pg_waldump/po/it.po b/src/bin/pg_waldump/po/it.po
index 61d7bdaa3c1..aa94e9fe77a 100644
--- a/src/bin/pg_waldump/po/it.po
+++ b/src/bin/pg_waldump/po/it.po
@@ -316,8 +316,8 @@ msgstr "impossibile aprire il file \"%s\""
 
 #: pg_waldump.c:1006
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "avviare la posizione WAL %X/%X non è all'interno del file \"%s\""
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "avviare la posizione WAL %X/%08X non è all'interno del file \"%s\""
 
 #: pg_waldump.c:1033
 #, c-format
@@ -326,8 +326,8 @@ msgstr "ENDSEG %s è prima di STARTSEG %s"
 
 #: pg_waldump.c:1048
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "posizione WAL finale %X/%X non è all'interno del file \"%s\""
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "posizione WAL finale %X/%08X non è all'interno del file \"%s\""
 
 #: pg_waldump.c:1060
 #, c-format
@@ -341,20 +341,20 @@ msgstr "memoria insufficiente durante l'allocazione di un processore di lettura
 
 #: pg_waldump.c:1080
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "impossibile trovare un record valido dopo %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "impossibile trovare un record valido dopo %X/%08X"
 
 #: pg_waldump.c:1090
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
-msgstr[0] "il primo record è dopo %X/%X, a %X/%X, saltando %u byte\n"
-msgstr[1] "i primi records sono dopo %X/%X, a %X/%X, saltando  %u byte\n"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes\n"
+msgstr[0] "il primo record è dopo %X/%08X, a %X/%08X, saltando %u byte\n"
+msgstr[1] "i primi records sono dopo %X/%08X, a %X/%08X, saltando  %u byte\n"
 
 #: pg_waldump.c:1171
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "errore nel record WAL a %X/%X: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "errore nel record WAL a %X/%08X: %s"
 
 #: pg_waldump.c:1180
 #, c-format
@@ -363,18 +363,18 @@ msgstr "Prova \"%s --help\" per maggiori informazioni."
 
 #: xlogreader.c:625
 #, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "offset del record non valido a %X/%X"
+msgid "invalid record offset at %X/%08X"
+msgstr "offset del record non valido a %X/%08X"
 
 #: xlogreader.c:633
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord richiesto da %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord richiesto da %X/%08X"
 
 #: xlogreader.c:674 xlogreader.c:1121
 #, c-format
-msgid "invalid record length at %X/%X: wanted %u, got %u"
-msgstr "lunghezza del record a %X/%X non valida: atteso %u, ricevuto %u"
+msgid "invalid record length at %X/%08X: wanted %u, got %u"
+msgstr "lunghezza del record a %X/%08X non valida: atteso %u, ricevuto %u"
 
 #: xlogreader.c:703
 #, c-format
@@ -383,38 +383,38 @@ msgstr "memoria insufficiente durante il tentativo di decodificare un record di
 
 #: xlogreader.c:725
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "lunghezza del record %u a %X/%X eccessiva"
+msgid "record length %u at %X/%08X too long"
+msgstr "lunghezza del record %u a %X/%08X eccessiva"
 
 #: xlogreader.c:774
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "non c'è un flag di contrecord a %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "non c'è un flag di contrecord a %X/%08X"
 
 #: xlogreader.c:787
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "lunghezza contrada non valida %u (prevista %lld) a %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "lunghezza contrada non valida %u (prevista %lld) a %X/%08X"
 
 #: xlogreader.c:922
 #, c-format
-msgid "missing contrecord at %X/%X"
-msgstr "missing contrecord at %X/%X"
+msgid "missing contrecord at %X/%08X"
+msgstr "missing contrecord at %X/%08X"
 
 #: xlogreader.c:1129
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "l'ID di gestione risorse %u non è valido a %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "l'ID di gestione risorse %u non è valido a %X/%08X"
 
 #: xlogreader.c:1142 xlogreader.c:1158
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "record con link-precedente %X/%X non corretto a %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "record con link-precedente %X/%08X non corretto a %X/%08X"
 
 #: xlogreader.c:1194
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "checksum dei dati del manager di risorse non corretto nel record a %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "checksum dei dati del manager di risorse non corretto nel record a %X/%08X"
 
 #: xlogreader.c:1231
 #, c-format
@@ -443,8 +443,8 @@ msgstr "il file di WAL è di un database diverso: XLOG_BLCKSZ non corretto nell'
 
 #: xlogreader.c:1305
 #, c-format
-msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
-msgstr "pageaddr inaspettato %X/%X nel segmento di log %s, offset %u"
+msgid "unexpected pageaddr %X/%08X in log segment %s, offset %u"
+msgstr "pageaddr inaspettato %X/%08X nel segmento di log %s, offset %u"
 
 #: xlogreader.c:1330
 #, c-format
@@ -453,53 +453,53 @@ msgstr "l'ID della timeline %u (dopo %u) è fuori sequenza nel segmento di log %
 
 #: xlogreader.c:1735
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id fuori sequenza %u a %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id fuori sequenza %u a %X/%08X"
 
 #: xlogreader.c:1759
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA impostato, ma dati non inclusi a %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA impostato, ma dati non inclusi a %X/%08X"
 
 #: xlogreader.c:1766
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA non impostato, ma la lunghezza dei dati è %u a %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA non impostato, ma la lunghezza dei dati è %u a %X/%08X"
 
 #: xlogreader.c:1802
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE impostato, ma offset buco %u lunghezza %u lunghezza dell'immagine del blocco %u a %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE impostato, ma offset buco %u lunghezza %u lunghezza dell'immagine del blocco %u a %X/%08X"
 
 #: xlogreader.c:1818
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE non impostato, ma offset buco %u lunghezza %u a %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE non impostato, ma offset buco %u lunghezza %u a %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED impostato, ma blocca la lunghezza dell'immagine %u a %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED impostato, ma blocca la lunghezza dell'immagine %u a %X/%08X"
 
 #: xlogreader.c:1847
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "né BKPIMAGE_HAS_HOLE né BKPIMAGE_COMPRESSED impostati, ma la lunghezza dell'immagine del blocco è %u a %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "né BKPIMAGE_HAS_HOLE né BKPIMAGE_COMPRESSED impostati, ma la lunghezza dell'immagine del blocco è %u a %X/%08X"
 
 #: xlogreader.c:1863
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL impostato ma non c'è un rel precedente a %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL impostato ma non c'è un rel precedente a %X/%08X"
 
 #: xlogreader.c:1875
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "block_id %u non valido a %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "block_id %u non valido a %X/%08X"
 
 #: xlogreader.c:1942
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "record con lunghezza non valida a %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "record con lunghezza non valida a %X/%08X"
 
 #: xlogreader.c:1967
 #, c-format
@@ -508,25 +508,25 @@ msgstr "impossibile individuare il blocco di backup con ID %d nel record WAL"
 
 #: xlogreader.c:2051
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "impossibile ripristinare l'immagine in %X/%X con il blocco %d non valido specificato"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "impossibile ripristinare l'immagine in %X/%08X con il blocco %d non valido specificato"
 
 #: xlogreader.c:2058
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "impossibile ripristinare l'immagine in %X/%X con stato non valido, blocco %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "impossibile ripristinare l'immagine in %X/%08X con stato non valido, blocco %d"
 
 #: xlogreader.c:2085 xlogreader.c:2102
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "impossibile ripristinare l'immagine in %X/%X compressa con %s non supportata da build, blocco %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "impossibile ripristinare l'immagine in %X/%08X compressa con %s non supportata da build, blocco %d"
 
 #: xlogreader.c:2111
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "impossibile ripristinare l'immagine in %X/%X compressa con metodo sconosciuto, blocco %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "impossibile ripristinare l'immagine in %X/%08X compressa con metodo sconosciuto, blocco %d"
 
 #: xlogreader.c:2119
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "impossibile decomprimere l'immagine in %X/%X, blocco %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "impossibile decomprimere l'immagine in %X/%08X, blocco %d"
diff --git a/src/bin/pg_waldump/po/ja.po b/src/bin/pg_waldump/po/ja.po
index 3b3a5714a33..057c1aa8ec0 100644
--- a/src/bin/pg_waldump/po/ja.po
+++ b/src/bin/pg_waldump/po/ja.po
@@ -362,8 +362,8 @@ msgstr "ファイル\"%s\"を開くことができませんでした"
 
 #: pg_waldump.c:1143
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "WALの開始位置%X/%Xはファイル\"%s\"の中ではありません"
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "WALの開始位置%X/%08Xはファイル\"%s\"の中ではありません"
 
 #: pg_waldump.c:1170
 #, c-format
@@ -372,8 +372,8 @@ msgstr "ENDSEG%sがSTARTSEG %sより前に現れました"
 
 #: pg_waldump.c:1185
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "WALの終了位置%X/%Xはファイル\"%s\"の中ではありません"
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "WALの終了位置%X/%08Xはファイル\"%s\"の中ではありません"
 
 #: pg_waldump.c:1197
 #, c-format
@@ -387,19 +387,19 @@ msgstr "WAL読み取り機構でのメモリ割り当てに中にメモリ不足
 
 #: pg_waldump.c:1217
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "%X/%Xの後に有効なレコードが見つかりませんでした"
+msgid "could not find a valid record after %X/%08X"
+msgstr "%X/%08Xの後に有効なレコードが見つかりませんでした"
 
 #: pg_waldump.c:1227
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes"
-msgstr[0] "先頭レコードが%X/%Xの後の%X/%Xの後にあります。%uバイト分をスキップします"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes"
+msgstr[0] "先頭レコードが%X/%08Xの後の%X/%08Xの後にあります。%uバイト分をスキップします"
 
 #: pg_waldump.c:1312
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "WALレコードの%X/%Xでエラー: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "WALレコードの%X/%08Xでエラー: %s"
 
 #: pg_waldump.c:1321
 #, c-format
@@ -408,18 +408,18 @@ msgstr "詳細は\"%s --help\"を実行してください。"
 
 #: xlogreader.c:626
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "%X/%Xのレコードオフセットが不正です:最低でも%uを期待していましたが、実際は%uでした"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "%X/%08Xのレコードオフセットが不正です:最低でも%uを期待していましたが、実際は%uでした"
 
 #: xlogreader.c:635
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "%X/%Xでは継続レコードが必要です"
+msgid "contrecord is requested by %X/%08X"
+msgstr "%X/%08Xでは継続レコードが必要です"
 
 #: xlogreader.c:676 xlogreader.c:1119
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "%X/%Xのレコード長が不正です:最低でも%uを期待していましたが、実際は%uでした"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "%X/%08Xのレコード長が不正です:最低でも%uを期待していましたが、実際は%uでした"
 
 #: xlogreader.c:705
 #, c-format
@@ -428,42 +428,42 @@ msgstr "長さ%uのレコードのデコード中のメモリ不足"
 
 #: xlogreader.c:727
 #, c-format
-msgid "record length %u at %X/%X too long"
+msgid "record length %u at %X/%08X too long"
 msgstr "%2$X/%3$Xのレコード長%1$uが大きすぎます"
 
 #: xlogreader.c:776
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "%X/%Xでcontrecordフラグがありません"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "%X/%08Xでcontrecordフラグがありません"
 
 #: xlogreader.c:789
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
 msgstr "%3$X/%4$Xの継続レコードの長さ%1$u(正しくは%2$lld)は不正です"
 
 #: xlogreader.c:1127
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
 msgstr "%2$X/%3$XのリソースマネージャID %1$uは不正です"
 
 #: xlogreader.c:1140 xlogreader.c:1156
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
 msgstr "%3$X/%4$Xのレコードの後方リンク%1$X/%2$Xが不正です"
 
 #: xlogreader.c:1192
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "%X/%Xのレコード内のリソースマネージャデータのチェックサムが不正です"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "%X/%08Xのレコード内のリソースマネージャデータのチェックサムが不正です"
 
 #: xlogreader.c:1226
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント%2$s、LSN %3$X/%4$X、オフセット%5$uで不正なマジックナンバー%1$04X"
 
 #: xlogreader.c:1241 xlogreader.c:1283
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント %2$s、LSN %3$X/%4$X、オフセット%5$uで不正な情報ビット列%1$04X"
 
 #: xlogreader.c:1257
@@ -483,63 +483,63 @@ msgstr "WAL ファイルは異なるデータベースシステム由来のも
 
 #: xlogreader.c:1303
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント%3$s、LSN %4$X/%5$X、オフセット%6$uで想定外のページアドレス%1$X/%2$X"
 
 #: xlogreader.c:1329
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WALセグメント%3$s、LSN %4$X/%5$X、オフセット%6$uで異常な順序のタイムラインID %1$u(%2$uの後)"
 
 #: xlogreader.c:1735
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "block_id %uが%X/%Xで不正です"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "block_id %uが%X/%08Xで不正です"
 
 #: xlogreader.c:1759
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATAが設定されていますが、%X/%Xにデータがありません"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATAが設定されていますが、%X/%08Xにデータがありません"
 
 #: xlogreader.c:1766
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
 msgstr "BKPBLOCK_HAS_DATAが設定されていませんが、%2$X/%3$Xのデータ長は%1$uです"
 
 #: xlogreader.c:1802
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
 msgstr "BKPIMAGE_HAS_HOLEが設定されていますが、%4$X/%5$Xでホールオフセット%1$u、長さ%2$u、ブロックイメージ長%3$uです"
 
 #: xlogreader.c:1818
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr "BKPIMAGE_HAS_HOLEが設定されていませんが、%3$X/%4$Xにおけるホールオフセット%1$uの長さが%2$uです"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr "BKPIMAGE_COMPRESSEDが設定されていますが、%2$X/%3$Xにおいてブロックイメージ長が%1$uです"
 
 #: xlogreader.c:1847
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
 msgstr "BKPIMAGE_HAS_HOLEもBKPIMAGE_COMPRESSEDも設定されていませんが、%2$X/%3$Xにおいてブロックイメージ長が%1$uです"
 
 #: xlogreader.c:1863
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_RELが設定されていますが、%X/%Xにおいて以前のリレーションがありません"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_RELが設定されていますが、%X/%08Xにおいて以前のリレーションがありません"
 
 #: xlogreader.c:1875
 #, c-format
-msgid "invalid block_id %u at %X/%X"
+msgid "invalid block_id %u at %X/%08X"
 msgstr "%2$X/%3$Xにおけるblock_id %1$uが不正です"
 
 #: xlogreader.c:1942
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "%X/%Xのレコードのサイズが不正です"
+msgid "record with invalid length at %X/%08X"
+msgstr "%X/%08Xのレコードのサイズが不正です"
 
 #: xlogreader.c:1968
 #, c-format
@@ -548,25 +548,25 @@ msgstr "WALレコード中のID %dのバックアップブロックを特定で
 
 #: xlogreader.c:2052
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "%X/%Xで不正なブロック%dが指定されているためイメージが復元できませんでした"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "%X/%08Xで不正なブロック%dが指定されているためイメージが復元できませんでした"
 
 #: xlogreader.c:2059
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "%X/%Xでブロック%dのイメージが不正な状態であるため復元できませんでした"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "%X/%08Xでブロック%dのイメージが不正な状態であるため復元できませんでした"
 
 #: xlogreader.c:2086 xlogreader.c:2103
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
 msgstr "%1$X/%2$Xで、ブロック%4$dがこのビルドでサポートされない圧縮方式%3$sで圧縮されているため復元できませんでした"
 
 #: xlogreader.c:2112
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "%X/%Xでブロック%dのイメージが不明な方式で圧縮されているため復元できませんでした"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "%X/%08Xでブロック%dのイメージが不明な方式で圧縮されているため復元できませんでした"
 
 #: xlogreader.c:2120
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "%X/%Xのブロック%dが伸張できませんでした"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "%X/%08Xのブロック%dが伸張できませんでした"
diff --git a/src/bin/pg_waldump/po/ka.po b/src/bin/pg_waldump/po/ka.po
index 5a73cda44f7..c8cef1a61ad 100644
--- a/src/bin/pg_waldump/po/ka.po
+++ b/src/bin/pg_waldump/po/ka.po
@@ -405,8 +405,8 @@ msgstr "შეუძლებელია ფაილის გახსნა:
 
 #: pg_waldump.c:1143
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "საწყისი WAL მდებარეობა %X/%X ფაილის (\"%s\") შიგნით არაა"
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "საწყისი WAL მდებარეობა %X/%08X ფაილის (\"%s\") შიგნით არაა"
 
 #: pg_waldump.c:1170
 #, c-format
@@ -415,8 +415,8 @@ msgstr "ENDSEG %s STARTSEG %s -ის წინაა"
 
 #: pg_waldump.c:1185
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "დასასრულის WAL მდებარეობა %X/%X ფაილის (\"%s\") შიგნით არაა"
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "დასასრულის WAL მდებარეობა %X/%08X ფაილის (\"%s\") შიგნით არაა"
 
 #: pg_waldump.c:1197
 #, c-format
@@ -430,20 +430,20 @@ msgstr "არასაკმარისი მეხსიერება WAL-
 
 #: pg_waldump.c:1217
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "%X/%X -ის შემდეგ სწორი ჩანაწერი არ არსებობს"
+msgid "could not find a valid record after %X/%08X"
+msgstr "%X/%08X -ის შემდეგ სწორი ჩანაწერი არ არსებობს"
 
 #: pg_waldump.c:1227
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes"
-msgstr[0] "პირველი ჩანაწერი %X/%X-ის შემდეგაა, მისამართზე %X/%X-სთან. გამოტოვებული იქნება %u ბაიტი"
-msgstr[1] "პირველი ჩანაწერი %X/%X-ის შემდეგაა, მისამართზე %X/%X-სთან. გამოტოვებული იქნება %u ბაიტი"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes"
+msgstr[0] "პირველი ჩანაწერი %X/%08X-ის შემდეგაა, მისამართზე %X/%08X-სთან. გამოტოვებული იქნება %u ბაიტი"
+msgstr[1] "პირველი ჩანაწერი %X/%08X-ის შემდეგაა, მისამართზე %X/%08X-სთან. გამოტოვებული იქნება %u ბაიტი"
 
 #: pg_waldump.c:1312
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "შეცდომა WAL ჩანაწერში %X/%X: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "შეცდომა WAL ჩანაწერში %X/%08X: %s"
 
 #: pg_waldump.c:1321
 #, c-format
@@ -452,53 +452,53 @@ msgstr "მეტი ინფორმაციისთვის სცად
 
 #: xlogreader.c:620
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%X: მოველოდი მინიმუმ %u, მივიღე %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%08X: მოველოდი მინიმუმ %u, მივიღე %u"
 
 #: xlogreader.c:629
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord მოთხოვნილია %X/%X-ის მიერ"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord მოთხოვნილია %X/%08X-ის მიერ"
 
 #: xlogreader.c:670 xlogreader.c:1135
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "ჩანაწერის არასწორი სიგრძე მისამართზე %X/%X: მოველოდი მინიმუმ %u, მივიღე %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "ჩანაწერის არასწორი სიგრძე მისამართზე %X/%08X: მოველოდი მინიმუმ %u, მივიღე %u"
 
 #: xlogreader.c:759
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "contrecord ალამი მისამართზე %X/%X არ არსებობს"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "contrecord ალამი მისამართზე %X/%08X არ არსებობს"
 
 #: xlogreader.c:772
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "contrecord -ის არასწორი სიგრძე %u (მოველოდი %lld) მისამართზე %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "contrecord -ის არასწორი სიგრძე %u (მოველოდი %lld) მისამართზე %X/%08X"
 
 #: xlogreader.c:1143
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "რესურსის მმართველის არასწორი ID %u მისამართზე %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "რესურსის მმართველის არასწორი ID %u მისამართზე %X/%08X"
 
 #: xlogreader.c:1156 xlogreader.c:1172
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "ჩანაწერი არასწორი წინა ბმულით %X/%X მისამართზე %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "ჩანაწერი არასწორი წინა ბმულით %X/%08X მისამართზე %X/%08X"
 
 #: xlogreader.c:1210
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "რესურსის მმართველის მონაცემების არასწორი საკონტროლო რიცხვი ჩანაწერში მისამართზე %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "რესურსის მმართველის მონაცემების არასწორი საკონტროლო რიცხვი ჩანაწერში მისამართზე %X/%08X"
 
 #: xlogreader.c:1244
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "არასწორი მაგიური რიცხვი %04X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "არასწორი მაგიური რიცხვი %04X ჟურნალის სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: xlogreader.c:1259 xlogreader.c:1301
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "არასწორი საინფორმაციო ბიტები %04X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "არასწორი საინფორმაციო ბიტები %04X ჟურნალის სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: xlogreader.c:1275
 #, c-format
@@ -517,63 +517,63 @@ msgstr "WAL ფაილი სხვა მონაცემთა ბაზ
 
 #: xlogreader.c:1321
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "მოულოდნელი pageaddr %X/%X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "მოულოდნელი pageaddr %X/%08X ჟურნალის სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: xlogreader.c:1347
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "მიმდევრობის-გარე დროის ხაზის ID %u (%u-ის შემდეგ) ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "მიმდევრობის-გარე დროის ხაზის ID %u (%u-ის შემდეგ) ჟურნალის სეგმენტში %s, LSN %X/%08X, წანაცვლება %u"
 
 #: xlogreader.c:1759
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "ურიგო block_id %u მისამართზე %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "ურიგო block_id %u მისამართზე %X/%08X"
 
 #: xlogreader.c:1783
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ მონაცემები მისამართზე %X/%X არ არსებობს"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ მონაცემები მისამართზე %X/%08X არ არსებობს"
 
 #: xlogreader.c:1790
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ არსებობს მონაცემები სიგრძით %u მისამართზე %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ არსებობს მონაცემები სიგრძით %u მისამართზე %X/%08X"
 
 #: xlogreader.c:1826
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE დაყენებულია, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u ბლოკის ასლის სიგრძე %u მისამართზე %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE დაყენებულია, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u ბლოკის ასლის სიგრძე %u მისამართზე %X/%08X"
 
 #: xlogreader.c:1842
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE დაყენებული არაა, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u მისანართზე %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE დაყენებული არაა, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u მისანართზე %X/%08X"
 
 #: xlogreader.c:1856
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED დაყენებულია, მაგრამ ბლოკის ასლის სიგრძეა %u მისამართზე %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED დაყენებულია, მაგრამ ბლოკის ასლის სიგრძეა %u მისამართზე %X/%08X"
 
 #: xlogreader.c:1871
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "არც BKPIMAGE_HAS_HOLE და არც BKPIMAGE_COMPRESSED დაყენებული არაა, მაგრამ ბლოკის ასლის სიგრძე %u-ა, მისამართზე %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "არც BKPIMAGE_HAS_HOLE და არც BKPIMAGE_COMPRESSED დაყენებული არაა, მაგრამ ბლოკის ასლის სიგრძე %u-ა, მისამართზე %X/%08X"
 
 #: xlogreader.c:1887
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL დაყენებულია, მაგრამ წინა მნიშვნელობა მითითებული არაა მისამართზე %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL დაყენებულია, მაგრამ წინა მნიშვნელობა მითითებული არაა მისამართზე %X/%08X"
 
 #: xlogreader.c:1899
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "არასწორი block_id %u %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "არასწორი block_id %u %X/%08X"
 
 #: xlogreader.c:1966
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "ჩანაწერი არასწორი სიგრძით მისამართზე %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "ჩანაწერი არასწორი სიგრძით მისამართზე %X/%08X"
 
 #: xlogreader.c:1992
 #, c-format
@@ -582,28 +582,28 @@ msgstr "შეცდომა WAL ჩანაწერში მარქაფ
 
 #: xlogreader.c:2076
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%X, როცა მითითებულია არასწორი ბლოკი %d"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%08X, როცა მითითებულია არასწორი ბლოკი %d"
 
 #: xlogreader.c:2083
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%X არასწორი მდგომარეობით, ბლოკი %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%08X არასწორი მდგომარეობით, ბლოკი %d"
 
 #: xlogreader.c:2110 xlogreader.c:2127
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
 msgstr "%3$s მეთოდით შეკუმშული ასლის აღდგენა მისამართზე %1$X/%2$X, ბლოკი %4$d შეუძლებელია. მხარდაუჭერელია ამ აგების მიერ"
 
 #: xlogreader.c:2136
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%X, შეკუმშულია უცნობი მეთოდით, ბლოკი %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%08X, შეკუმშულია უცნობი მეთოდით, ბლოკი %d"
 
 #: xlogreader.c:2144
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "შეუძლებელია ასლის გაშლა მისამართზე %X/%X, ბლოკი %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "შეუძლებელია ასლის გაშლა მისამართზე %X/%08X, ბლოკი %d"
 
 #, c-format
 #~ msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
@@ -612,21 +612,21 @@ msgstr "შეუძლებელია ასლის გაშლა მი
 #~ msgstr[1] "WAL სეგმენტის ზომა ორის ხარისხი უნდა იყოს, 1 მბ-სა და 1 გბ-ს სორის, მაგრამ WAL ფაილის \"%s\" თავსართი %d ბაიტზე მიუთითებს"
 
 #, c-format
-#~ msgid "invalid record offset at %X/%X"
-#~ msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%X"
+#~ msgid "invalid record offset at %X/%08X"
+#~ msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%08X"
 
 #, c-format
 #~ msgid "invalid timeline specification: \"%s\""
 #~ msgstr "დროის ხაზის არასწორი სპეციფიკაცია: \"%s\""
 
 #, c-format
-#~ msgid "missing contrecord at %X/%X"
-#~ msgstr "contrecord მისამართზე %X/%X არ არსებობს"
+#~ msgid "missing contrecord at %X/%08X"
+#~ msgstr "contrecord მისამართზე %X/%08X არ არსებობს"
 
 #, c-format
 #~ msgid "out of memory while trying to decode a record of length %u"
 #~ msgstr "%u სიგრძის მქონე ჩანაწერის დეკოდირებისთვის მეხსიერება საკმარისი არაა"
 
 #, c-format
-#~ msgid "record length %u at %X/%X too long"
-#~ msgstr "ჩანაწერის სიგრძე %u მისამართზე %X/%X ძალიან გრძელია"
+#~ msgid "record length %u at %X/%08X too long"
+#~ msgstr "ჩანაწერის სიგრძე %u მისამართზე %X/%08X ძალიან გრძელია"
diff --git a/src/bin/pg_waldump/po/ko.po b/src/bin/pg_waldump/po/ko.po
index 25e4c0cfe2c..4332a2b8717 100644
--- a/src/bin/pg_waldump/po/ko.po
+++ b/src/bin/pg_waldump/po/ko.po
@@ -412,8 +412,8 @@ msgstr "\"%s\" 파일을 열 수 없음"
 
 #: pg_waldump.c:1143
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "%X/%X WAL 시작 위치가 \"%s\" 파일에 없음"
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "%X/%08X WAL 시작 위치가 \"%s\" 파일에 없음"
 
 #: pg_waldump.c:1170
 #, c-format
@@ -422,8 +422,8 @@ msgstr "%s ENDSEG가 %s STARTSEG 앞에 있음"
 
 #: pg_waldump.c:1185
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "%X/%X WAL 끝 위치가 \"%s\" 파일에 없음"
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "%X/%08X WAL 끝 위치가 \"%s\" 파일에 없음"
 
 #: pg_waldump.c:1197
 #, c-format
@@ -437,19 +437,19 @@ msgstr "WAL 읽기 프로세서를 할당하는 중에 메모리 부족 발생"
 
 #: pg_waldump.c:1217
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "%X/%X 위치 뒤에 올바른 레코드가 없음"
+msgid "could not find a valid record after %X/%08X"
+msgstr "%X/%08X 위치 뒤에 올바른 레코드가 없음"
 
 #: pg_waldump.c:1227
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes"
-msgstr[0] "첫 레코드가 %X/%X 뒤에 있고, (%X/%X), %u 바이트 건너 뜀"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes"
+msgstr[0] "첫 레코드가 %X/%08X 뒤에 있고, (%X/%08X), %u 바이트 건너 뜀"
 
 #: pg_waldump.c:1312
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "%X/%X 위치에서 WAL 레코드 오류: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "%X/%08X 위치에서 WAL 레코드 오류: %s"
 
 #: pg_waldump.c:1321
 #, c-format
@@ -458,53 +458,53 @@ msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요."
 
 #: xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "잘못된 레코드 오프셋: 위치 %X/%X, 기대값 %u, 실재값 %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "잘못된 레코드 오프셋: 위치 %X/%08X, 기대값 %u, 실재값 %u"
 
 #: xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "%X/%X에서 contrecord를 필요로 함"
+msgid "contrecord is requested by %X/%08X"
+msgstr "%X/%08X에서 contrecord를 필요로 함"
 
 #: xlogreader.c:669 xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "잘못된 레코드 길이: 위치 %X/%X, 기대값 %u, 실재값 %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "잘못된 레코드 길이: 위치 %X/%08X, 기대값 %u, 실재값 %u"
 
 #: xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "%X/%X 위치에 contrecord 플래그가 없음"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "%X/%08X 위치에 contrecord 플래그가 없음"
 
 #: xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "잘못된 contrecord 길이 %u (기대값: %lld), 위치 %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "잘못된 contrecord 길이 %u (기대값: %lld), 위치 %X/%08X"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "잘못된 자원 관리 ID %u, 위치: %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "잘못된 자원 관리 ID %u, 위치: %X/%08X"
 
 #: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "레코드의 잘못된 프리링크 %X/%X, 해당 레코드 %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "레코드의 잘못된 프리링크 %X/%08X, 해당 레코드 %X/%08X"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "잘못된 자원관리자 데이터 체크섬, 위치: %X/%X 레코드"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "잘못된 자원관리자 데이터 체크섬, 위치: %X/%08X 레코드"
 
 #: xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "%04X 매직 번호가 잘못됨, WAL 조각 파일 %s, LSN %X/%X, 오프셋 %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "%04X 매직 번호가 잘못됨, WAL 조각 파일 %s, LSN %X/%08X, 오프셋 %u"
 
 #: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "잘못된 정보 비트 %04X, WAL 조각 파일 %s, LSN %X/%X, 오프셋 %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "잘못된 정보 비트 %04X, WAL 조각 파일 %s, LSN %X/%08X, 오프셋 %u"
 
 #: xlogreader.c:1274
 #, c-format
@@ -535,77 +535,77 @@ msgstr ""
 
 #: xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "잘못된 페이지 주소 %X/%X, WAL 조각 파일 %s, LSN %X/%X, 오프셋 %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "잘못된 페이지 주소 %X/%08X, WAL 조각 파일 %s, LSN %X/%08X, 오프셋 %u"
 
 #: xlogreader.c:1346
 #, c-format
 msgid ""
-"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, "
+"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, "
 "offset %u"
 msgstr ""
-"타임라인 범위 벗어남 %u (이전 번호 %u), WAL 조각 파일 %s, LSN %X/%X, 오프셋 "
+"타임라인 범위 벗어남 %u (이전 번호 %u), WAL 조각 파일 %s, LSN %X/%08X, 오프셋 "
 "%u"
 
 #: xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "%u block_id는 범위를 벗어남, 위치 %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "%u block_id는 범위를 벗어남, 위치 %X/%08X"
 
 #: xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA 지정했지만, %X/%X 에 자료가 없음"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA 지정했지만, %X/%08X 에 자료가 없음"
 
 #: xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA 지정 않았지만, %u 길이의 자료가 있음, 위치 %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA 지정 않았지만, %u 길이의 자료가 있음, 위치 %X/%08X"
 
 #: xlogreader.c:1816
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
-"%X/%X"
+"%X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE 설정이 되어 있지만, 옵셋: %u, 길이: %u, 블록 이미지 길이: "
-"%u, 대상: %X/%X"
+"%u, 대상: %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr ""
-"BKPIMAGE_HAS_HOLE 설정이 안되어 있지만, 옵셋: %u, 길이: %u, 대상: %X/%X"
+"BKPIMAGE_HAS_HOLE 설정이 안되어 있지만, 옵셋: %u, 길이: %u, 대상: %X/%08X"
 
 #: xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr ""
-"BKPIMAGE_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%X"
+"BKPIMAGE_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%08X"
 
 #: xlogreader.c:1861
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image "
-"length is %u at %X/%X"
+"length is %u at %X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE, BKPIMAGE_COMPRESSED 지정 안되어 있으나, 블록 이미지 길이"
-"는 %u, 대상: %X/%X"
+"는 %u, 대상: %X/%08X"
 
 #: xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL 설정이 되어 있지만, %X/%X 에 이전 릴레이션 없음"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL 설정이 되어 있지만, %X/%08X 에 이전 릴레이션 없음"
 
 #: xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "잘못된 block_id %u, 위치 %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "잘못된 block_id %u, 위치 %X/%08X"
 
 #: xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "잘못된 레코드 길이, 위치 %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "잘못된 레코드 길이, 위치 %X/%08X"
 
 #: xlogreader.c:1982
 #, c-format
@@ -614,43 +614,43 @@ msgstr "WAL 레코드에서 %d ID의 백업 블록 위치를 바르게 잡을 
 
 #: xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "%X/%X 위치에 이미지를 복원할 수 없음, 해당 %d 블록이 깨졌음"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "%X/%08X 위치에 이미지를 복원할 수 없음, 해당 %d 블록이 깨졌음"
 
 #: xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "이미지 복원 실패, 잘못된 상태의 압축 이미지, 위치 %X/%X, 블록 %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "이미지 복원 실패, 잘못된 상태의 압축 이미지, 위치 %X/%08X, 블록 %d"
 
 #: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
 msgid ""
-"could not restore image at %X/%X compressed with %s not supported by build, "
+"could not restore image at %X/%08X compressed with %s not supported by build, "
 "block %d"
 msgstr ""
-"%X/%X 압축 위치에 이미지 복원할 수 없음, %s 압축을 지원하지 않음, 해당 블록: "
+"%X/%08X 압축 위치에 이미지 복원할 수 없음, %s 압축을 지원하지 않음, 해당 블록: "
 "%d"
 
 #: xlogreader.c:2126
 #, c-format
 msgid ""
-"could not restore image at %X/%X compressed with unknown method, block %d"
+"could not restore image at %X/%08X compressed with unknown method, block %d"
 msgstr ""
-"%X/%X 압축 위치에 이미지 복원할 수 없음, 알 수 없은 방법, 해당 블록: %d"
+"%X/%08X 압축 위치에 이미지 복원할 수 없음, 알 수 없은 방법, 해당 블록: %d"
 
 #: xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "압축 이미지 풀기 실패, 위치 %X/%X, 블록 %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "압축 이미지 풀기 실패, 위치 %X/%08X, 블록 %d"
 
 #, c-format
-#~ msgid "missing contrecord at %X/%X"
-#~ msgstr "%X/%X 위치에 contrecord 없음"
+#~ msgid "missing contrecord at %X/%08X"
+#~ msgstr "%X/%08X 위치에 contrecord 없음"
 
 #, c-format
 #~ msgid "out of memory while trying to decode a record of length %u"
 #~ msgstr "%u 길이 레코드를 디코드 작업을 위한 메모리가 부족함"
 
 #, c-format
-#~ msgid "record length %u at %X/%X too long"
-#~ msgstr "너무 긴 길이(%u)의 레코드가 %X/%X에 있음"
+#~ msgid "record length %u at %X/%08X too long"
+#~ msgstr "너무 긴 길이(%u)의 레코드가 %X/%08X에 있음"
diff --git a/src/bin/pg_waldump/po/ru.po b/src/bin/pg_waldump/po/ru.po
index bafe5a3233c..86b60d7d691 100644
--- a/src/bin/pg_waldump/po/ru.po
+++ b/src/bin/pg_waldump/po/ru.po
@@ -441,8 +441,8 @@ msgstr "не удалось открыть файл \"%s\""
 
 #: pg_waldump.c:1143
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "начальная позиция в WAL %X/%X находится не в файле \"%s\""
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "начальная позиция в WAL %X/%08X находится не в файле \"%s\""
 
 #: pg_waldump.c:1170
 #, c-format
@@ -451,8 +451,8 @@ msgstr "КОНЕЧНЫЙ_СЕГМЕНТ %s меньше, чем НАЧАЛЬНЫ
 
 #: pg_waldump.c:1185
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "конечная позиция в WAL %X/%X находится не в файле \"%s\""
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "конечная позиция в WAL %X/%08X находится не в файле \"%s\""
 
 #: pg_waldump.c:1197
 #, c-format
@@ -466,24 +466,24 @@ msgstr "не удалось выделить память для чтения WA
 
 #: pg_waldump.c:1217
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "не удалось найти корректную запись после %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "не удалось найти корректную запись после %X/%08X"
 
 #: pg_waldump.c:1227
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes"
 msgstr[0] ""
-"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б"
+"первая запись обнаружена после %X/%08X, в позиции %X/%08X, пропускается %u Б"
 msgstr[1] ""
-"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б"
+"первая запись обнаружена после %X/%08X, в позиции %X/%08X, пропускается %u Б"
 msgstr[2] ""
-"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б"
+"первая запись обнаружена после %X/%08X, в позиции %X/%08X, пропускается %u Б"
 
 #: pg_waldump.c:1312
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "ошибка в записи WAL в позиции %X/%X: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "ошибка в записи WAL в позиции %X/%08X: %s"
 
 #: pg_waldump.c:1321
 #, c-format
@@ -492,59 +492,59 @@ msgstr "Для дополнительной информации попробу
 
 #: xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
 msgstr ""
-"неверное смещение записи в позиции %X/%X: ожидалось минимум %u, получено %u"
+"неверное смещение записи в позиции %X/%08X: ожидалось минимум %u, получено %u"
 
 #: xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "в позиции %X/%X запрошено продолжение записи"
+msgid "contrecord is requested by %X/%08X"
+msgstr "в позиции %X/%08X запрошено продолжение записи"
 
 #: xlogreader.c:669 xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
 msgstr ""
-"неверная длина записи в позиции %X/%X: ожидалось минимум %u, получено %u"
+"неверная длина записи в позиции %X/%08X: ожидалось минимум %u, получено %u"
 
 #: xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "нет флага contrecord в позиции %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "нет флага contrecord в позиции %X/%08X"
 
 #: xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%08X"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "неверный ID менеджера ресурсов %u в позиции %X/%08X"
 
 #: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "запись с неверной ссылкой назад %X/%08X в позиции %X/%08X"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
 msgstr ""
 "некорректная контрольная сумма данных менеджера ресурсов в записи в позиции "
-"%X/%X"
+"%X/%08X"
 
 #: xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr ""
-"неверное магическое число %04X в сегменте WAL %s, LSN %X/%X, смещение %u"
+"неверное магическое число %04X в сегменте WAL %s, LSN %X/%08X, смещение %u"
 
 #: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr ""
-"неверные информационные биты %04X в сегменте WAL %s, LSN %X/%X, смещение %u"
+"неверные информационные биты %04X в сегменте WAL %s, LSN %X/%08X, смещение %u"
 
 #: xlogreader.c:1274
 #, c-format
@@ -575,53 +575,53 @@ msgstr ""
 
 #: xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "неожиданный pageaddr %X/%X в сегменте WAL %s, LSN %X/%X, смещение %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "неожиданный pageaddr %X/%08X в сегменте WAL %s, LSN %X/%08X, смещение %u"
 
 #: xlogreader.c:1346
 #, c-format
 msgid ""
-"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, "
+"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, "
 "offset %u"
 msgstr ""
 "нарушение последовательности ID линии времени %u (после %u) в сегменте WAL "
-"%s, LSN %X/%X, смещение %u"
+"%s, LSN %X/%08X, смещение %u"
 
 #: xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%08X"
 
 #: xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%08X нет"
 
 #: xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
 msgstr ""
-"BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X"
+"BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%08X"
 
 #: xlogreader.c:1816
 #, c-format
 msgid ""
 "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at "
-"%X/%X"
+"%X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u "
-"при длине образа блока %u в позиции %X/%X"
+"при длине образа блока %u в позиции %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr ""
 "BKPIMAGE_HAS_HOLE не установлен, но для пропуска заданы смещение %u и длина "
-"%u в позиции %X/%X"
+"%u в позиции %X/%08X"
 
 #: xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr ""
 "BKPIMAGE_COMPRESSED установлен, но длина образа блока равна %u в позиции %X/"
 "%X"
@@ -630,27 +630,27 @@ msgstr ""
 #, c-format
 msgid ""
 "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image "
-"length is %u at %X/%X"
+"length is %u at %X/%08X"
 msgstr ""
 "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_COMPRESSED не установлены, но длина образа "
-"блока равна %u в позиции %X/%X"
+"блока равна %u в позиции %X/%08X"
 
 #: xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
 msgstr ""
 "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/"
 "%X"
 
 #: xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "неверный идентификатор блока %u в позиции %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "неверный идентификатор блока %u в позиции %X/%08X"
 
 #: xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "запись с неверной длиной в позиции %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "запись с неверной длиной в позиции %X/%08X"
 
 #: xlogreader.c:1982
 #, c-format
@@ -659,57 +659,57 @@ msgstr "не удалось найти копию блока с ID %d в зап
 
 #: xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
 msgstr ""
-"не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d"
+"не удалось восстановить образ в позиции %X/%08X с указанным неверным блоком %d"
 
 #: xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
 msgstr ""
-"не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d"
+"не удалось восстановить образ в позиции %X/%08X с неверным состоянием, блок %d"
 
 #: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
 msgid ""
-"could not restore image at %X/%X compressed with %s not supported by build, "
+"could not restore image at %X/%08X compressed with %s not supported by build, "
 "block %d"
 msgstr ""
-"не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не "
+"не удалось восстановить образ в позиции %X/%08X, сжатый методом %s, который не "
 "поддерживается этой сборкой, блок %d"
 
 #: xlogreader.c:2126
 #, c-format
 msgid ""
-"could not restore image at %X/%X compressed with unknown method, block %d"
+"could not restore image at %X/%08X compressed with unknown method, block %d"
 msgstr ""
-"не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, "
+"не удалось восстановить образ в позиции %X/%08X, сжатый неизвестным методом, "
 "блок %d"
 
 #: xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "не удалось развернуть образ в позиции %X/%X, блок %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "не удалось развернуть образ в позиции %X/%08X, блок %d"
 
 #, c-format
 #~ msgid "out of memory while trying to decode a record of length %u"
 #~ msgstr "не удалось выделить память для декодирования записи длины %u"
 
 #, c-format
-#~ msgid "record length %u at %X/%X too long"
-#~ msgstr "длина записи %u в позиции %X/%X слишком велика"
+#~ msgid "record length %u at %X/%08X too long"
+#~ msgstr "длина записи %u в позиции %X/%08X слишком велика"
 
 #, c-format
 #~ msgid "invalid timeline specification: \"%s\""
 #~ msgstr "неверное указание линии времени: \"%s\""
 
 #, c-format
-#~ msgid "invalid record offset at %X/%X"
-#~ msgstr "неверное смещение записи: %X/%X"
+#~ msgid "invalid record offset at %X/%08X"
+#~ msgstr "неверное смещение записи: %X/%08X"
 
 #, c-format
-#~ msgid "missing contrecord at %X/%X"
-#~ msgstr "нет записи contrecord в %X/%X"
+#~ msgid "missing contrecord at %X/%08X"
+#~ msgstr "нет записи contrecord в %X/%08X"
 
 #~ msgid ""
 #~ "\n"
diff --git a/src/bin/pg_waldump/po/sv.po b/src/bin/pg_waldump/po/sv.po
index 24173636e1a..49e66b9c986 100644
--- a/src/bin/pg_waldump/po/sv.po
+++ b/src/bin/pg_waldump/po/sv.po
@@ -406,8 +406,8 @@ msgstr "kunde inte öppna filen \"%s\""
 
 #: pg_waldump.c:1143
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "start-WAL-position %X/%X är inte i filen \"%s\""
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "start-WAL-position %X/%08X är inte i filen \"%s\""
 
 #: pg_waldump.c:1170
 #, c-format
@@ -416,8 +416,8 @@ msgstr "SLUTSEG %s är före STARTSEG %s"
 
 #: pg_waldump.c:1185
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "slut-WAL-position %X/%X är inte i filen \"%s\""
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "slut-WAL-position %X/%08X är inte i filen \"%s\""
 
 #: pg_waldump.c:1197
 #, c-format
@@ -431,20 +431,20 @@ msgstr "slut på minne vid allokering av en WAL-läs-processor"
 
 #: pg_waldump.c:1217
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "kunde inte hitta en giltig post efter %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "kunde inte hitta en giltig post efter %X/%08X"
 
 #: pg_waldump.c:1227
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes"
-msgstr[0] "första posten är efter %X/%X, vid %X/%X, hoppar över %u byte"
-msgstr[1] "första posten är efter %X/%X, vid %X/%X, hoppar över %u byte"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes"
+msgstr[0] "första posten är efter %X/%08X, vid %X/%08X, hoppar över %u byte"
+msgstr[1] "första posten är efter %X/%08X, vid %X/%08X, hoppar över %u byte"
 
 #: pg_waldump.c:1312
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "fel i WAL-post vid %X/%X: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "fel i WAL-post vid %X/%08X: %s"
 
 #: pg_waldump.c:1321
 #, c-format
@@ -453,53 +453,53 @@ msgstr "Försök med \"%s --help\" för mer information."
 
 #: xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "ogiltig postoffset vid %X/%X: förväntade minst %u, fick %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "ogiltig postoffset vid %X/%08X: förväntade minst %u, fick %u"
 
 #: xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "contrecord är begärd vid %X/%X"
+msgid "contrecord is requested by %X/%08X"
+msgstr "contrecord är begärd vid %X/%08X"
 
 #: xlogreader.c:669 xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "ogiltig postlängd vid %X/%X: förväntade minst %u, fick %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "ogiltig postlängd vid %X/%08X: förväntade minst %u, fick %u"
 
 #: xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "det finns ingen contrecord-flagga vid %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "det finns ingen contrecord-flagga vid %X/%08X"
 
 #: xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "ogiltig contrecord-längd %u (förväntade %lld) vid %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "ogiltig contrecord-längd %u (förväntade %lld) vid %X/%08X"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "ogiltigt resurshanterar-ID %u vid %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "ogiltigt resurshanterar-ID %u vid %X/%08X"
 
 #: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "post med inkorrekt prev-link %X/%X vid %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "post med inkorrekt prev-link %X/%08X vid %X/%08X"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "felaktig resurshanterardatakontrollsumma i post vid %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "felaktig resurshanterardatakontrollsumma i post vid %X/%08X"
 
 #: xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "felaktigt magiskt nummer %04X i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "felaktigt magiskt nummer %04X i WAL-segment %s, LSN %X/%08X, offset %u"
 
 #: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "ogiltiga infobitar %04X i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "ogiltiga infobitar %04X i WAL-segment %s, LSN %X/%08X, offset %u"
 
 #: xlogreader.c:1274
 #, c-format
@@ -518,64 +518,64 @@ msgstr "WAL-fil är från ett annat databassystem: inkorrekt XLOG_BLCKSZ i sidhu
 
 #: xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "oväntad sidadress %X/%X i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "oväntad sidadress %X/%08X i WAL-segment %s, LSN %X/%08X, offset %u"
 
 # FIXME
 #: xlogreader.c:1346
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "\"ej i sekvens\"-fel på tidslinje-ID %u (efter %u) i WAL-segment %s, LSN %X/%X, offset %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "\"ej i sekvens\"-fel på tidslinje-ID %u (efter %u) i WAL-segment %s, LSN %X/%08X, offset %u"
 
 #: xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "\"ej i sekvens\"-block_id %u vid %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "\"ej i sekvens\"-block_id %u vid %X/%08X"
 
 #: xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA är satt men ingen data inkluderad vid %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA är satt men ingen data inkluderad vid %X/%08X"
 
 #: xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA är ej satt men datalängden är %u vid %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA är ej satt men datalängden är %u vid %X/%08X"
 
 #: xlogreader.c:1816
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE är satt men håloffset %u längd %u blockavbildlängd %u vid %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE är satt men håloffset %u längd %u blockavbildlängd %u vid %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE är inte satt men håloffset %u längd %u vid %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE är inte satt men håloffset %u längd %u vid %X/%08X"
 
 #: xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED är satt men blockavbildlängd %u vid %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED är satt men blockavbildlängd %u vid %X/%08X"
 
 #: xlogreader.c:1861
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "varken BKPIMAGE_HAS_HOLE eller BKPIMAGE_COMPRESSED är satt men blockavbildlängd är %u vid %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "varken BKPIMAGE_HAS_HOLE eller BKPIMAGE_COMPRESSED är satt men blockavbildlängd är %u vid %X/%08X"
 
 #: xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL är satt men ingen tidigare rel vid %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL är satt men ingen tidigare rel vid %X/%08X"
 
 #: xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "ogiltig block_id %u vid %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "ogiltig block_id %u vid %X/%08X"
 
 #: xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "post med ogiltig längd vid %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "post med ogiltig längd vid %X/%08X"
 
 #: xlogreader.c:1982
 #, c-format
@@ -584,25 +584,25 @@ msgstr "kunde inte hitta backup-block med ID %d i WAL-post"
 
 #: xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt block %d angivet"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "kunde inte återställa avbild vid %X/%08X med ogiltigt block %d angivet"
 
 #: xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt state, block %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "kunde inte återställa avbild vid %X/%08X med ogiltigt state, block %d"
 
 #: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med %s stöds inte av bygget, block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "kunde inte återställa avbild vid %X/%08X, komprimerad med %s stöds inte av bygget, block %d"
 
 #: xlogreader.c:2126
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med okänd metod, block %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "kunde inte återställa avbild vid %X/%08X, komprimerad med okänd metod, block %d"
 
 #: xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "kunde inte packa upp avbild vid %X/%X, block %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "kunde inte packa upp avbild vid %X/%08X, block %d"
diff --git a/src/bin/pg_waldump/po/tr.po b/src/bin/pg_waldump/po/tr.po
index e572031f870..7f97b88055c 100644
--- a/src/bin/pg_waldump/po/tr.po
+++ b/src/bin/pg_waldump/po/tr.po
@@ -254,8 +254,8 @@ msgstr "\"%s\" dosyası açılamadı"
 
 #: pg_waldump.c:1033
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "başlama WAL konumu %X/%X \"%s\" dosyası içinde yok"
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "başlama WAL konumu %X/%08X \"%s\" dosyası içinde yok"
 
 #: pg_waldump.c:1061
 #, c-format
@@ -264,8 +264,8 @@ msgstr "BİTİŞSEG %s BAŞLAMASEG %s den önce"
 
 #: pg_waldump.c:1076
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "bitiş WAL konumu %X/%X \"%s\" dosyası içinde yok"
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "bitiş WAL konumu %X/%08X \"%s\" dosyası içinde yok"
 
 #: pg_waldump.c:1089
 #, c-format
@@ -279,20 +279,20 @@ msgstr "yetersiz bellek"
 
 #: pg_waldump.c:1105
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "%X/%X den sonra geçerli bir kayıt bulunamadı"
+msgid "could not find a valid record after %X/%08X"
+msgstr "%X/%08X den sonra geçerli bir kayıt bulunamadı"
 
 #: pg_waldump.c:1116
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
-msgstr[0] "ilk kayıt %X/%X 'den sonra, %X/%X 'dedir, %u bayt atlanıyor\n"
-msgstr[1] "ilk kayıt %X/%X 'den sonra, %X/%X 'dedir, %u bayt atlanıyor\n"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes\n"
+msgstr[0] "ilk kayıt %X/%08X 'den sonra, %X/%08X 'dedir, %u bayt atlanıyor\n"
+msgstr[1] "ilk kayıt %X/%08X 'den sonra, %X/%08X 'dedir, %u bayt atlanıyor\n"
 
 #: pg_waldump.c:1167
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "%X/%X de WAL kaydında hata: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "%X/%08X de WAL kaydında hata: %s"
 
 #: pg_waldump.c:1177
 #, c-format
diff --git a/src/bin/pg_waldump/po/uk.po b/src/bin/pg_waldump/po/uk.po
index 09da6eebce3..dbdf7e9246f 100644
--- a/src/bin/pg_waldump/po/uk.po
+++ b/src/bin/pg_waldump/po/uk.po
@@ -387,8 +387,8 @@ msgstr "не вдалося відкрити файл \"%s\""
 
 #: pg_waldump.c:1143
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "початкове розташування WAL %X/%X не всередині файлу \"%s\""
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "початкове розташування WAL %X/%08X не всередині файлу \"%s\""
 
 #: pg_waldump.c:1170
 #, c-format
@@ -397,8 +397,8 @@ msgstr "ENDSEG %s перед STARTSEG %s"
 
 #: pg_waldump.c:1185
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "кінцеве розташування WAL %X/%X не всередині файлу \"%s\""
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "кінцеве розташування WAL %X/%08X не всередині файлу \"%s\""
 
 #: pg_waldump.c:1197
 #, c-format
@@ -412,22 +412,22 @@ msgstr "недостатньо пам'яті під час виділення о
 
 #: pg_waldump.c:1217
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "не вдалося знайти припустимий запис після %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "не вдалося знайти припустимий запис після %X/%08X"
 
 #: pg_waldump.c:1227
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes"
-msgstr[0] "перший запис після %X/%X, за адресою %X/%X, пропускаючи байт %u"
-msgstr[1] "перший запис після %X/%X, за адресою %X/%X, пропускаючи %u байти"
-msgstr[2] "перший запис після %X/%X, за адресою %X/%X, пропускаючи %u байти"
-msgstr[3] "перший запис після %X/%X, за адресою %X/%X, пропускаючи %u байти"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes"
+msgstr[0] "перший запис після %X/%08X, за адресою %X/%08X, пропускаючи байт %u"
+msgstr[1] "перший запис після %X/%08X, за адресою %X/%08X, пропускаючи %u байти"
+msgstr[2] "перший запис після %X/%08X, за адресою %X/%08X, пропускаючи %u байти"
+msgstr[3] "перший запис після %X/%08X, за адресою %X/%08X, пропускаючи %u байти"
 
 #: pg_waldump.c:1312
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "помилка у записі WAL у %X/%X: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "помилка у записі WAL у %X/%08X: %s"
 
 #: pg_waldump.c:1321
 #, c-format
@@ -436,53 +436,53 @@ msgstr "Спробуйте \"%s --help\" для додаткової інфор
 
 #: xlogreader.c:619
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "неприпустиме зміщення запису в %X/%X: очікувалось хоча б %u, отримано %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "неприпустиме зміщення запису в %X/%08X: очікувалось хоча б %u, отримано %u"
 
 #: xlogreader.c:628
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "по зсуву %X/%X запитано продовження запису"
+msgid "contrecord is requested by %X/%08X"
+msgstr "по зсуву %X/%08X запитано продовження запису"
 
 #: xlogreader.c:669 xlogreader.c:1134
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "неприпустима довжина запису %X/%X: очікувалась мінімум %u, отримано %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "неприпустима довжина запису %X/%08X: очікувалась мінімум %u, отримано %u"
 
 #: xlogreader.c:758
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "немає прапорця contrecord в позиції %X/%X"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "немає прапорця contrecord в позиції %X/%08X"
 
 #: xlogreader.c:771
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
-msgstr "неприпустима довжина contrecord %u (очікувалось %lld) на %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
+msgstr "неприпустима довжина contrecord %u (очікувалось %lld) на %X/%08X"
 
 #: xlogreader.c:1142
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "невірний ID менеджера ресурсів %u в %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "невірний ID менеджера ресурсів %u в %X/%08X"
 
 #: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "запис з неправильним попереднім посиланням %X/%X на %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
+msgstr "запис з неправильним попереднім посиланням %X/%08X на %X/%08X"
 
 #: xlogreader.c:1209
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%08X"
 
 #: xlogreader.c:1243
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "невірне магічне число %04X в сегменті WAL %s, LSN %X/%X, зсув %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "невірне магічне число %04X в сегменті WAL %s, LSN %X/%08X, зсув %u"
 
 #: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "невірні інформаційні біти %04X в сегменті WAL %s, LSN %X/%X, зсув %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "невірні інформаційні біти %04X в сегменті WAL %s, LSN %X/%08X, зсув %u"
 
 #: xlogreader.c:1274
 #, c-format
@@ -501,63 +501,63 @@ msgstr "Файл WAL належить іншій системі баз дани
 
 #: xlogreader.c:1320
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "неочікуваний pageaddr %X/%X у сегменті WAL %s, LSN %X/%X, зміщення %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "неочікуваний pageaddr %X/%08X у сегменті WAL %s, LSN %X/%08X, зміщення %u"
 
 #: xlogreader.c:1346
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "порушення послідовності ID лінії часу %u (після %u) у сегменті WAL %s, LSN %X/%X, зсув %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "порушення послідовності ID лінії часу %u (після %u) у сегменті WAL %s, LSN %X/%08X, зсув %u"
 
 #: xlogreader.c:1749
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "ідентифікатор блока %u out-of-order в позиції %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "ідентифікатор блока %u out-of-order в позиції %X/%08X"
 
 #: xlogreader.c:1773
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%X"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%08X"
 
 #: xlogreader.c:1780
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
-msgstr "BKPBLOCK_HAS_DATA встановлений, але довжина даних дорівнює %u в позиції %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
+msgstr "BKPBLOCK_HAS_DATA встановлений, але довжина даних дорівнює %u в позиції %X/%08X"
 
 #: xlogreader.c:1816
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE встановлений, але для пропуску задані: зсув %u, довжина %u, при довжині образу блока %u в позиції %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE встановлений, але для пропуску задані: зсув %u, довжина %u, при довжині образу блока %u в позиції %X/%08X"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
-msgstr "BKPIMAGE_HAS_HOLE не встановлений, але для пропуску задані: зсув %u, довжина %u в позиції %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
+msgstr "BKPIMAGE_HAS_HOLE не встановлений, але для пропуску задані: зсув %u, довжина %u в позиції %X/%08X"
 
 #: xlogreader.c:1846
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
-msgstr "BKPIMAGE_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
+msgstr "BKPIMAGE_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%08X"
 
 #: xlogreader.c:1861
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
-msgstr "ні BKPIMAGE_HAS_HOLE, ні BKPIMAGE_COMPRESSED не встановлені, але довжина образу блока дорівнює %u в позиції %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
+msgstr "ні BKPIMAGE_HAS_HOLE, ні BKPIMAGE_COMPRESSED не встановлені, але довжина образу блока дорівнює %u в позиції %X/%08X"
 
 #: xlogreader.c:1877
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%X"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%08X"
 
 #: xlogreader.c:1889
 #, c-format
-msgid "invalid block_id %u at %X/%X"
-msgstr "невірний ідентифікатор блоку %u в позиції %X/%X"
+msgid "invalid block_id %u at %X/%08X"
+msgstr "невірний ідентифікатор блоку %u в позиції %X/%08X"
 
 #: xlogreader.c:1956
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "запис з невірною довжиною на %X/%X"
+msgid "record with invalid length at %X/%08X"
+msgstr "запис з невірною довжиною на %X/%08X"
 
 #: xlogreader.c:1982
 #, c-format
@@ -566,26 +566,26 @@ msgstr "не вдалося знайти блок резервної копії
 
 #: xlogreader.c:2066
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
-msgstr "не вдалося відновити зображення %X/%X з недійсним вказаним блоком %d"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
+msgstr "не вдалося відновити зображення %X/%08X з недійсним вказаним блоком %d"
 
 #: xlogreader.c:2073
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "не вдалося відновити зображення %X/%X з недійсним станом, блок %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "не вдалося відновити зображення %X/%08X з недійсним станом, блок %d"
 
 #: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
-msgstr "не вдалося відновити зображення в %X/%X, стиснуте %s, не підтримується збіркою, блок %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
+msgstr "не вдалося відновити зображення в %X/%08X, стиснуте %s, не підтримується збіркою, блок %d"
 
 #: xlogreader.c:2126
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "не вдалося відновити зображення %X/%X стиснуте з невідомим методом, блок %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "не вдалося відновити зображення %X/%08X стиснуте з невідомим методом, блок %d"
 
 #: xlogreader.c:2134
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "не вдалося розпакувати зображення на %X/%X, блок %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "не вдалося розпакувати зображення на %X/%08X, блок %d"
 
diff --git a/src/bin/pg_waldump/po/vi.po b/src/bin/pg_waldump/po/vi.po
index 037d9955842..6d7d957bb29 100644
--- a/src/bin/pg_waldump/po/vi.po
+++ b/src/bin/pg_waldump/po/vi.po
@@ -261,8 +261,8 @@ msgstr "không thể mở tệp \"%s\""
 
 #: pg_waldump.c:1044
 #, c-format
-msgid "%s: start WAL location %X/%X is not inside file \"%s\"\n"
-msgstr "%s: vị trí bắt đầu WAL %X/%X không nằm trong tệp \"%s\"\n"
+msgid "%s: start WAL location %X/%08X is not inside file \"%s\"\n"
+msgstr "%s: vị trí bắt đầu WAL %X/%08X không nằm trong tệp \"%s\"\n"
 
 #: pg_waldump.c:1073
 #, c-format
@@ -271,9 +271,9 @@ msgstr "ENDSEG %s ở trước STARTSEG %s"
 
 #: pg_waldump.c:1089
 #, c-format
-msgid "%s: end WAL location %X/%X is not inside file \"%s\"\n"
+msgid "%s: end WAL location %X/%08X is not inside file \"%s\"\n"
 msgstr ""
-"%s: vị trí kết thúc WAL %X/%X không nằm trong tệp \"%s\"\n"
+"%s: vị trí kết thúc WAL %X/%08X không nằm trong tệp \"%s\"\n"
 "\n"
 
 #: pg_waldump.c:1103
@@ -288,20 +288,20 @@ msgstr "hết bộ nhớ"
 
 #: pg_waldump.c:1119
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "không thể tìm thấy bản ghi hợp lệ sau %X/%X"
+msgid "could not find a valid record after %X/%08X"
+msgstr "không thể tìm thấy bản ghi hợp lệ sau %X/%08X"
 
 #: pg_waldump.c:1130
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte\n"
 msgid_plural ""
-"first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
-msgstr[0] "bản ghi đầu tiên sau %X/%X, at %X/%X, bỏ qua %u bytes\n"
+"first record is after %X/%08X, at %X/%08X, skipping over %u bytes\n"
+msgstr[0] "bản ghi đầu tiên sau %X/%08X, at %X/%08X, bỏ qua %u bytes\n"
 
 #: pg_waldump.c:1181
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "lỗi trong bản ghi WAL ở %X/%X: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "lỗi trong bản ghi WAL ở %X/%08X: %s"
 
 #: pg_waldump.c:1191
 #, c-format
diff --git a/src/bin/pg_waldump/po/zh_CN.po b/src/bin/pg_waldump/po/zh_CN.po
index 5aeb92882f7..00bbb50fac7 100644
--- a/src/bin/pg_waldump/po/zh_CN.po
+++ b/src/bin/pg_waldump/po/zh_CN.po
@@ -261,8 +261,8 @@ msgstr "could not open file\"%s\""
 
 #: pg_waldump.c:979
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "WAL开始位置%X/%X不在文件\"%s\"中"
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "WAL开始位置%X/%08X不在文件\"%s\"中"
 
 #: pg_waldump.c:1007
 #, c-format
@@ -271,8 +271,8 @@ msgstr "ENDSEG %s在STARTSEG %s之前"
 
 #: pg_waldump.c:1022
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "WAL结束位置%X/%X不在文件\"%s\"中"
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "WAL结束位置%X/%08X不在文件\"%s\"中"
 
 #: pg_waldump.c:1035
 #, c-format
@@ -286,20 +286,20 @@ msgstr "内存用尽"
 
 #: pg_waldump.c:1055
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "在%X/%X之后找不到有效记录"
+msgid "could not find a valid record after %X/%08X"
+msgstr "在%X/%08X之后找不到有效记录"
 
 #: pg_waldump.c:1066
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
-msgstr[0] "第一条记录在%X/%X之后，位于%X/%X，跳过了%u个字节\n"
-msgstr[1] "第一条记录在%X/%X之后，位于%X/%X，跳过了%u个字节\n"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes\n"
+msgstr[0] "第一条记录在%X/%08X之后，位于%X/%08X，跳过了%u个字节\n"
+msgstr[1] "第一条记录在%X/%08X之后，位于%X/%08X，跳过了%u个字节\n"
 
 #: pg_waldump.c:1117
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "在WAL记录中的%X/%X处错误为: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "在WAL记录中的%X/%08X处错误为: %s"
 
 #: pg_waldump.c:1127
 #, c-format
diff --git a/src/bin/pg_waldump/po/zh_TW.po b/src/bin/pg_waldump/po/zh_TW.po
index 5eb35fb7019..9df1fc2028b 100644
--- a/src/bin/pg_waldump/po/zh_TW.po
+++ b/src/bin/pg_waldump/po/zh_TW.po
@@ -375,8 +375,8 @@ msgstr "無法開啟檔案 \"%s\""
 
 #: pg_waldump.c:1139
 #, c-format
-msgid "start WAL location %X/%X is not inside file \"%s\""
-msgstr "WAL 開始位置 %X/%X 不在檔案 \"%s\" 內"
+msgid "start WAL location %X/%08X is not inside file \"%s\""
+msgstr "WAL 開始位置 %X/%08X 不在檔案 \"%s\" 內"
 
 #: pg_waldump.c:1166
 #, c-format
@@ -385,8 +385,8 @@ msgstr "ENDSEG %s 在 STARTSEG %s 之前"
 
 #: pg_waldump.c:1181
 #, c-format
-msgid "end WAL location %X/%X is not inside file \"%s\""
-msgstr "WAL 結束位置 %X/%X 不在檔案 \"%s\" 內"
+msgid "end WAL location %X/%08X is not inside file \"%s\""
+msgstr "WAL 結束位置 %X/%08X 不在檔案 \"%s\" 內"
 
 #: pg_waldump.c:1193
 #, c-format
@@ -400,19 +400,19 @@ msgstr "配置 WAL 讀取處理器時耗盡記憶體"
 
 #: pg_waldump.c:1213
 #, c-format
-msgid "could not find a valid record after %X/%X"
-msgstr "%X/%X 之後找不到有效的記錄"
+msgid "could not find a valid record after %X/%08X"
+msgstr "%X/%08X 之後找不到有效的記錄"
 
 #: pg_waldump.c:1223
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
-msgstr[0] "第一筆記錄在 %X/%X 之後，位於 %X/%X，跳過 %u 個位元組\n"
+msgid "first record is after %X/%08X, at %X/%08X, skipping over %u byte\n"
+msgid_plural "first record is after %X/%08X, at %X/%08X, skipping over %u bytes\n"
+msgstr[0] "第一筆記錄在 %X/%08X 之後，位於 %X/%08X，跳過 %u 個位元組\n"
 
 #: pg_waldump.c:1308
 #, c-format
-msgid "error in WAL record at %X/%X: %s"
-msgstr "WAL 記錄在 %X/%X 出現錯誤: %s"
+msgid "error in WAL record at %X/%08X: %s"
+msgstr "WAL 記錄在 %X/%08X 出現錯誤: %s"
 
 # tcop/postgres.c:2636 tcop/postgres.c:2652
 #: pg_waldump.c:1317
@@ -422,19 +422,19 @@ msgstr "用 \"%s --help\" 取得更多資訊。"
 
 #: xlogreader.c:626
 #, c-format
-msgid "invalid record offset at %X/%X: expected at least %u, got %u"
-msgstr "位於 %X/%X 的記錄 offset 無效: 預期至少 %u，實際為 %u"
+msgid "invalid record offset at %X/%08X: expected at least %u, got %u"
+msgstr "位於 %X/%08X 的記錄 offset 無效: 預期至少 %u，實際為 %u"
 
 # access/transam/xlog.c:2443
 #: xlogreader.c:635
 #, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "%X/%X 要求 contrecord"
+msgid "contrecord is requested by %X/%08X"
+msgstr "%X/%08X 要求 contrecord"
 
 #: xlogreader.c:676 xlogreader.c:1119
 #, c-format
-msgid "invalid record length at %X/%X: expected at least %u, got %u"
-msgstr "位於 %X/%X 的記錄長度無效: 預期至少 %u，實際為 %u"
+msgid "invalid record length at %X/%08X: expected at least %u, got %u"
+msgstr "位於 %X/%08X 的記錄長度無效: 預期至少 %u，實際為 %u"
 
 #: xlogreader.c:705
 #, c-format
@@ -444,45 +444,45 @@ msgstr "嘗試解碼長度為 %u 的記錄時耗盡記憶體"
 # access/transam/xlog.c:2503
 #: xlogreader.c:727
 #, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "位於 %X/%X 的記錄長度 %u 過長"
+msgid "record length %u at %X/%08X too long"
+msgstr "位於 %X/%08X 的記錄長度 %u 過長"
 
 #: xlogreader.c:776
 #, c-format
-msgid "there is no contrecord flag at %X/%X"
-msgstr "位於 %X/%X 沒有 contrecord 標誌"
+msgid "there is no contrecord flag at %X/%08X"
+msgstr "位於 %X/%08X 沒有 contrecord 標誌"
 
 #: xlogreader.c:789
 #, c-format
-msgid "invalid contrecord length %u (expected %lld) at %X/%X"
+msgid "invalid contrecord length %u (expected %lld) at %X/%08X"
 msgstr "位於 %3$X/%4$X 的 contrecord 長度 %1$u 無效(預期為 %2$lld)"
 
 # access/transam/xlog.c:2465
 #: xlogreader.c:1127
 #, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "無效的資源管理器 ID %u 於 %X/%X"
+msgid "invalid resource manager ID %u at %X/%08X"
+msgstr "無效的資源管理器 ID %u 於 %X/%08X"
 
 # access/transam/xlog.c:2458
 #: xlogreader.c:1140 xlogreader.c:1156
 #, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgid "record with incorrect prev-link %X/%08X at %X/%08X"
 msgstr "位於 %3$X/%4$X 的記錄有不正確的 prev-link %1$X/%2$X"
 
 # access/transam/xlog.c:2269
 #: xlogreader.c:1192
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "位於 %X/%X 的記錄中資源管理員資料檢查碼不正確"
+msgid "incorrect resource manager data checksum in record at %X/%08X"
+msgstr "位於 %X/%08X 的記錄中資源管理員資料檢查碼不正確"
 
 #: xlogreader.c:1226
 #, c-format
-msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid magic number %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WAL 片段 %2$s 中的魔數數字 %1$04X 無效，LSN %3$X/%4$X，位移 %5$u"
 
 #: xlogreader.c:1241 xlogreader.c:1283
 #, c-format
-msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
+msgid "invalid info bits %04X in WAL segment %s, LSN %X/%08X, offset %u"
 msgstr "WAL 片段 %2$s 中的資訊位元 %1$04X 無效，LSN %3$X/%4$X，位移 %5$u"
 
 #: xlogreader.c:1257
@@ -502,63 +502,63 @@ msgstr "WAL 檔案來自不同的資料庫系統: 資料頁標頭中的 XLOG_BLC
 
 #: xlogreader.c:1303
 #, c-format
-msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "非預期的 pageaddr %X/%X 位於 WAL 片段 %s，LSN %X/%X，位移 %u"
+msgid "unexpected pageaddr %X/%08X in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "非預期的 pageaddr %X/%08X 位於 WAL 片段 %s，LSN %X/%08X，位移 %u"
 
 #: xlogreader.c:1329
 #, c-format
-msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
-msgstr "非依序 timeline ID %u(在 %u 之後)位於 WAL 片段 %s，LSN %X/%X，位移 %u"
+msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%08X, offset %u"
+msgstr "非依序 timeline ID %u(在 %u 之後)位於 WAL 片段 %s，LSN %X/%08X，位移 %u"
 
 #: xlogreader.c:1735
 #, c-format
-msgid "out-of-order block_id %u at %X/%X"
-msgstr "非循序 block_id %u 位於 %X/%X"
+msgid "out-of-order block_id %u at %X/%08X"
+msgstr "非循序 block_id %u 位於 %X/%08X"
 
 #: xlogreader.c:1759
 #, c-format
-msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
-msgstr "設定了 BKPBLOCK_HAS_DATA，但在 %X/%X 的沒有包含任何資料"
+msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%08X"
+msgstr "設定了 BKPBLOCK_HAS_DATA，但在 %X/%08X 的沒有包含任何資料"
 
 #: xlogreader.c:1766
 #, c-format
-msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
+msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%08X"
 msgstr "未設定 BKPBLOCK_HAS_DATA，但在 %2$X/%3$X 的資料長度為 %1$u"
 
 #: xlogreader.c:1802
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%08X"
 msgstr "設定了 BKPIMAGE_HAS_HOLE，但在 %4$X/%5$X 有 offset %1$u 長度 %2$u 影像長度 %3$u 的空洞"
 
 #: xlogreader.c:1818
 #, c-format
-msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
+msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%08X"
 msgstr "未設定 BKPIMAGE_HAS_HOLE，但在 %3$X/%4$X 有 offset %1$u 長度 %2$u 的空洞"
 
 #: xlogreader.c:1832
 #, c-format
-msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
+msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%08X"
 msgstr "設定了 BKPIMAGE_COMPRESSED，但在 %2$X/%3$X 的區塊影像長度為 %1$u"
 
 #: xlogreader.c:1847
 #, c-format
-msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
+msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%08X"
 msgstr "未設定 BKPIMAGE_HAS_HOLE 和 BKPIMAGE_COMPRESSED，但在 %2$X/%3$X 的區塊影像長度為 %1$u"
 
 #: xlogreader.c:1863
 #, c-format
-msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
-msgstr "設定了 BKPBLOCK_SAME_REL，但在 %X/%X 沒有先前的 rel"
+msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%08X"
+msgstr "設定了 BKPBLOCK_SAME_REL，但在 %X/%08X 沒有先前的 rel"
 
 #: xlogreader.c:1875
 #, c-format
-msgid "invalid block_id %u at %X/%X"
+msgid "invalid block_id %u at %X/%08X"
 msgstr "位於 %2$X/%3$X 的無效 block_id %1$u"
 
 #: xlogreader.c:1942
 #, c-format
-msgid "record with invalid length at %X/%X"
-msgstr "位於 %X/%X 的記錄長度無效"
+msgid "record with invalid length at %X/%08X"
+msgstr "位於 %X/%08X 的記錄長度無效"
 
 #: xlogreader.c:1968
 #, c-format
@@ -567,25 +567,25 @@ msgstr "在 WAL 記錄中找不到具有 ID %d 的備份區塊"
 
 #: xlogreader.c:2052
 #, c-format
-msgid "could not restore image at %X/%X with invalid block %d specified"
+msgid "could not restore image at %X/%08X with invalid block %d specified"
 msgstr "無法還原指定了無效區塊 %3$d 的影像，位置 %1$X/%2$X"
 
 #: xlogreader.c:2059
 #, c-format
-msgid "could not restore image at %X/%X with invalid state, block %d"
-msgstr "無法還原處於無效狀態的影像，位置 %X/%X，區塊 %d"
+msgid "could not restore image at %X/%08X with invalid state, block %d"
+msgstr "無法還原處於無效狀態的影像，位置 %X/%08X，區塊 %d"
 
 #: xlogreader.c:2086 xlogreader.c:2103
 #, c-format
-msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
+msgid "could not restore image at %X/%08X compressed with %s not supported by build, block %d"
 msgstr "無法還原用此版本不支援的壓縮方法 %3$s 壓縮的影像，位置 %1$X/%2$X，區塊 %4$d"
 
 #: xlogreader.c:2112
 #, c-format
-msgid "could not restore image at %X/%X compressed with unknown method, block %d"
-msgstr "無法還原使用未知方法壓縮的影像，位置 %X/%X，區塊 %d"
+msgid "could not restore image at %X/%08X compressed with unknown method, block %d"
+msgstr "無法還原使用未知方法壓縮的影像，位置 %X/%08X，區塊 %d"
 
 #: xlogreader.c:2120
 #, c-format
-msgid "could not decompress image at %X/%X, block %d"
-msgstr "無法解壓縮影像，位置 %X/%X，區塊 %d"
+msgid "could not decompress image at %X/%08X, block %d"
+msgstr "無法解壓縮影像，位置 %X/%08X，區塊 %d"
diff --git a/src/common/parse_manifest.c b/src/common/parse_manifest.c
index 71973af199b..58e0948100f 100644
--- a/src/common/parse_manifest.c
+++ b/src/common/parse_manifest.c
@@ -942,7 +942,7 @@ parse_xlogrecptr(XLogRecPtr *result, char *input)
 	uint32		hi;
 	uint32		lo;
 
-	if (sscanf(input, "%X/%X", &hi, &lo) != 2)
+	if (sscanf(input, "%X/%08X", &hi, &lo) != 2)
 		return false;
 	*result = ((uint64) hi) << 32 | lo;
 	return true;
diff --git a/src/include/access/xlogdefs.h b/src/include/access/xlogdefs.h
index 9e41c9f6e84..67158bc5ab0 100644
--- a/src/include/access/xlogdefs.h
+++ b/src/include/access/xlogdefs.h
@@ -38,7 +38,7 @@ typedef uint64 XLogRecPtr;
 /*
  * Handy macro for printing XLogRecPtr in conventional format, e.g.,
  *
- * printf("%X/%X", LSN_FORMAT_ARGS(lsn));
+ * printf("%X/%08X", LSN_FORMAT_ARGS(lsn));
  */
 #define LSN_FORMAT_ARGS(lsn) (AssertVariableIsOfTypeMacro((lsn), XLogRecPtr), (uint32) ((lsn) >> 32)), ((uint32) (lsn))
 
diff --git a/src/test/recovery/t/016_min_consistency.pl b/src/test/recovery/t/016_min_consistency.pl
index 9a3b4866fce..b381d0c21b5 100644
--- a/src/test/recovery/t/016_min_consistency.pl
+++ b/src/test/recovery/t/016_min_consistency.pl
@@ -39,7 +39,7 @@ sub find_largest_lsn
 	defined($len) or die "read error on $filename: $!";
 	close($fh);
 
-	return sprintf("%X/%X", $max_hi, $max_lo);
+	return sprintf("%X/%08X", $max_hi, $max_lo);
 }
 
 # Initialize primary node
diff --git a/src/test/regress/expected/numeric.out b/src/test/regress/expected/numeric.out
index 072d76ce131..34aa1a6c94e 100644
--- a/src/test/regress/expected/numeric.out
+++ b/src/test/regress/expected/numeric.out
@@ -3860,15 +3860,15 @@ ERROR:  factorial of a negative number is undefined
 -- Tests for pg_lsn()
 --
 SELECT pg_lsn(23783416::numeric);
-  pg_lsn   
------------
- 0/16AE7F8
+   pg_lsn   
+------------
+ 0/016AE7F8
 (1 row)
 
 SELECT pg_lsn(0::numeric);
- pg_lsn 
---------
- 0/0
+   pg_lsn   
+------------
+ 0/00000000
 (1 row)
 
 SELECT pg_lsn(18446744073709551615::numeric);
diff --git a/src/test/regress/expected/pg_lsn.out b/src/test/regress/expected/pg_lsn.out
index b27eec7c015..8ab59b2e445 100644
--- a/src/test/regress/expected/pg_lsn.out
+++ b/src/test/regress/expected/pg_lsn.out
@@ -41,9 +41,9 @@ SELECT * FROM pg_input_error_info('16AE7F7', 'pg_lsn');
 
 -- Min/Max aggregation
 SELECT MIN(f1), MAX(f1) FROM PG_LSN_TBL;
- min |        max        
------+-------------------
- 0/0 | FFFFFFFF/FFFFFFFF
+    min     |        max        
+------------+-------------------
+ 0/00000000 | FFFFFFFF/FFFFFFFF
 (1 row)
 
 DROP TABLE PG_LSN_TBL;
@@ -85,21 +85,21 @@ SELECT '0/16AE7F8'::pg_lsn - '0/16AE7F7'::pg_lsn;
 (1 row)
 
 SELECT '0/16AE7F7'::pg_lsn + 16::numeric;
- ?column?  
------------
- 0/16AE807
+  ?column?  
+------------
+ 0/016AE807
 (1 row)
 
 SELECT 16::numeric + '0/16AE7F7'::pg_lsn;
- ?column?  
------------
- 0/16AE807
+  ?column?  
+------------
+ 0/016AE807
 (1 row)
 
 SELECT '0/16AE7F7'::pg_lsn - 16::numeric;
- ?column?  
------------
- 0/16AE7E7
+  ?column?  
+------------
+ 0/016AE7E7
 (1 row)
 
 SELECT 'FFFFFFFF/FFFFFFFE'::pg_lsn + 1::numeric;
@@ -111,9 +111,9 @@ SELECT 'FFFFFFFF/FFFFFFFE'::pg_lsn + 1::numeric;
 SELECT 'FFFFFFFF/FFFFFFFE'::pg_lsn + 2::numeric; -- out of range error
 ERROR:  pg_lsn out of range
 SELECT '0/1'::pg_lsn - 1::numeric;
- ?column? 
-----------
- 0/0
+  ?column?  
+------------
+ 0/00000000
 (1 row)
 
 SELECT '0/1'::pg_lsn - 2::numeric; -- out of range error
@@ -125,9 +125,9 @@ SELECT '0/0'::pg_lsn + ('FFFFFFFF/FFFFFFFF'::pg_lsn - '0/0'::pg_lsn);
 (1 row)
 
 SELECT 'FFFFFFFF/FFFFFFFF'::pg_lsn - ('FFFFFFFF/FFFFFFFF'::pg_lsn - '0/0'::pg_lsn);
- ?column? 
-----------
- 0/0
+  ?column?  
+------------
+ 0/00000000
 (1 row)
 
 SELECT '0/16AE7F7'::pg_lsn + 'NaN'::numeric;
@@ -164,107 +164,107 @@ SELECT DISTINCT (i || '/' || j)::pg_lsn f
        generate_series(1, 5) k
   WHERE i <= 10 AND j > 0 AND j <= 10
   ORDER BY f;
-   f   
--------
- 1/1
- 1/2
- 1/3
- 1/4
- 1/5
- 1/6
- 1/7
- 1/8
- 1/9
- 1/10
- 2/1
- 2/2
- 2/3
- 2/4
- 2/5
- 2/6
- 2/7
- 2/8
- 2/9
- 2/10
- 3/1
- 3/2
- 3/3
- 3/4
- 3/5
- 3/6
- 3/7
- 3/8
- 3/9
- 3/10
- 4/1
- 4/2
- 4/3
- 4/4
- 4/5
- 4/6
- 4/7
- 4/8
- 4/9
- 4/10
- 5/1
- 5/2
- 5/3
- 5/4
- 5/5
- 5/6
- 5/7
- 5/8
- 5/9
- 5/10
- 6/1
- 6/2
- 6/3
- 6/4
- 6/5
- 6/6
- 6/7
- 6/8
- 6/9
- 6/10
- 7/1
- 7/2
- 7/3
- 7/4
- 7/5
- 7/6
- 7/7
- 7/8
- 7/9
- 7/10
- 8/1
- 8/2
- 8/3
- 8/4
- 8/5
- 8/6
- 8/7
- 8/8
- 8/9
- 8/10
- 9/1
- 9/2
- 9/3
- 9/4
- 9/5
- 9/6
- 9/7
- 9/8
- 9/9
- 9/10
- 10/1
- 10/2
- 10/3
- 10/4
- 10/5
- 10/6
- 10/7
- 10/8
- 10/9
- 10/10
+      f      
+-------------
+ 1/00000001
+ 1/00000002
+ 1/00000003
+ 1/00000004
+ 1/00000005
+ 1/00000006
+ 1/00000007
+ 1/00000008
+ 1/00000009
+ 1/00000010
+ 2/00000001
+ 2/00000002
+ 2/00000003
+ 2/00000004
+ 2/00000005
+ 2/00000006
+ 2/00000007
+ 2/00000008
+ 2/00000009
+ 2/00000010
+ 3/00000001
+ 3/00000002
+ 3/00000003
+ 3/00000004
+ 3/00000005
+ 3/00000006
+ 3/00000007
+ 3/00000008
+ 3/00000009
+ 3/00000010
+ 4/00000001
+ 4/00000002
+ 4/00000003
+ 4/00000004
+ 4/00000005
+ 4/00000006
+ 4/00000007
+ 4/00000008
+ 4/00000009
+ 4/00000010
+ 5/00000001
+ 5/00000002
+ 5/00000003
+ 5/00000004
+ 5/00000005
+ 5/00000006
+ 5/00000007
+ 5/00000008
+ 5/00000009
+ 5/00000010
+ 6/00000001
+ 6/00000002
+ 6/00000003
+ 6/00000004
+ 6/00000005
+ 6/00000006
+ 6/00000007
+ 6/00000008
+ 6/00000009
+ 6/00000010
+ 7/00000001
+ 7/00000002
+ 7/00000003
+ 7/00000004
+ 7/00000005
+ 7/00000006
+ 7/00000007
+ 7/00000008
+ 7/00000009
+ 7/00000010
+ 8/00000001
+ 8/00000002
+ 8/00000003
+ 8/00000004
+ 8/00000005
+ 8/00000006
+ 8/00000007
+ 8/00000008
+ 8/00000009
+ 8/00000010
+ 9/00000001
+ 9/00000002
+ 9/00000003
+ 9/00000004
+ 9/00000005
+ 9/00000006
+ 9/00000007
+ 9/00000008
+ 9/00000009
+ 9/00000010
+ 10/00000001
+ 10/00000002
+ 10/00000003
+ 10/00000004
+ 10/00000005
+ 10/00000006
+ 10/00000007
+ 10/00000008
+ 10/00000009
+ 10/00000010
 (100 rows)
 
diff --git a/src/test/regress/expected/subscription.out b/src/test/regress/expected/subscription.out
index 1443e1d9292..529b2241731 100644
--- a/src/test/regress/expected/subscription.out
+++ b/src/test/regress/expected/subscription.out
@@ -116,18 +116,18 @@ CREATE SUBSCRIPTION regress_testsub4 CONNECTION 'dbname=regress_doesnotexist' PU
 WARNING:  subscription was created, but is not connected
 HINT:  To initiate replication, you must manually create the replication slot, enable the subscription, and refresh the subscription.
 \dRs+ regress_testsub4
-                                                                                                                 List of subscriptions
-       Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
-------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub4 | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | f                | none   | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                  List of subscriptions
+       Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub4 | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | f                | none   | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 ALTER SUBSCRIPTION regress_testsub4 SET (origin = any);
 \dRs+ regress_testsub4
-                                                                                                                 List of subscriptions
-       Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
-------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub4 | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                  List of subscriptions
+       Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub4 | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 DROP SUBSCRIPTION regress_testsub3;
@@ -145,10 +145,10 @@ ALTER SUBSCRIPTION regress_testsub CONNECTION 'foobar';
 ERROR:  invalid connection string syntax: missing "=" after "foobar" in connection info string
 
 \dRs+
-                                                                                                                List of subscriptions
-      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                 List of subscriptions
+      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 ALTER SUBSCRIPTION regress_testsub SET PUBLICATION testpub2, testpub3 WITH (refresh = false);
@@ -157,10 +157,10 @@ ALTER SUBSCRIPTION regress_testsub SET (slot_name = 'newname');
 ALTER SUBSCRIPTION regress_testsub SET (password_required = false);
 ALTER SUBSCRIPTION regress_testsub SET (run_as_owner = true);
 \dRs+
-                                                                                                                     List of subscriptions
-      Name       |           Owner           | Enabled |     Publication     | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |           Conninfo           | Skip LSN 
------------------+---------------------------+---------+---------------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+------------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub2,testpub3} | f      | parallel  | d                | f                | any    | f                 | t             | f        | off                | dbname=regress_doesnotexist2 | 0/0
+                                                                                                                      List of subscriptions
+      Name       |           Owner           | Enabled |     Publication     | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |           Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+---------------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+------------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub2,testpub3} | f      | parallel  | d                | f                | any    | f                 | t             | f        | off                | dbname=regress_doesnotexist2 | 0/00000000
 (1 row)
 
 ALTER SUBSCRIPTION regress_testsub SET (password_required = true);
@@ -176,10 +176,10 @@ ERROR:  unrecognized subscription parameter: "create_slot"
 -- ok
 ALTER SUBSCRIPTION regress_testsub SKIP (lsn = '0/12345');
 \dRs+
-                                                                                                                     List of subscriptions
-      Name       |           Owner           | Enabled |     Publication     | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |           Conninfo           | Skip LSN 
------------------+---------------------------+---------+---------------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+------------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub2,testpub3} | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist2 | 0/12345
+                                                                                                                      List of subscriptions
+      Name       |           Owner           | Enabled |     Publication     | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |           Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+---------------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+------------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub2,testpub3} | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist2 | 0/00012345
 (1 row)
 
 -- ok - with lsn = NONE
@@ -188,10 +188,10 @@ ALTER SUBSCRIPTION regress_testsub SKIP (lsn = NONE);
 ALTER SUBSCRIPTION regress_testsub SKIP (lsn = '0/0');
 ERROR:  invalid WAL location (LSN): 0/0
 \dRs+
-                                                                                                                     List of subscriptions
-      Name       |           Owner           | Enabled |     Publication     | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |           Conninfo           | Skip LSN 
------------------+---------------------------+---------+---------------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+------------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub2,testpub3} | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist2 | 0/0
+                                                                                                                      List of subscriptions
+      Name       |           Owner           | Enabled |     Publication     | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |           Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+---------------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+------------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub2,testpub3} | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist2 | 0/00000000
 (1 row)
 
 BEGIN;
@@ -223,10 +223,10 @@ ALTER SUBSCRIPTION regress_testsub_foo SET (synchronous_commit = foobar);
 ERROR:  invalid value for parameter "synchronous_commit": "foobar"
 HINT:  Available values: local, remote_write, remote_apply, on, off.
 \dRs+
-                                                                                                                       List of subscriptions
-        Name         |           Owner           | Enabled |     Publication     | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |           Conninfo           | Skip LSN 
----------------------+---------------------------+---------+---------------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+------------------------------+----------
- regress_testsub_foo | regress_subscription_user | f       | {testpub2,testpub3} | f      | parallel  | d                | f                | any    | t                 | f             | f        | local              | dbname=regress_doesnotexist2 | 0/0
+                                                                                                                        List of subscriptions
+        Name         |           Owner           | Enabled |     Publication     | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |           Conninfo           |  Skip LSN  
+---------------------+---------------------------+---------+---------------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+------------------------------+------------
+ regress_testsub_foo | regress_subscription_user | f       | {testpub2,testpub3} | f      | parallel  | d                | f                | any    | t                 | f             | f        | local              | dbname=regress_doesnotexist2 | 0/00000000
 (1 row)
 
 -- rename back to keep the rest simple
@@ -255,19 +255,19 @@ CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUB
 WARNING:  subscription was created, but is not connected
 HINT:  To initiate replication, you must manually create the replication slot, enable the subscription, and refresh the subscription.
 \dRs+
-                                                                                                                List of subscriptions
-      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub}   | t      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                 List of subscriptions
+      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub}   | t      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 ALTER SUBSCRIPTION regress_testsub SET (binary = false);
 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE);
 \dRs+
-                                                                                                                List of subscriptions
-      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                 List of subscriptions
+      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 DROP SUBSCRIPTION regress_testsub;
@@ -279,27 +279,27 @@ CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUB
 WARNING:  subscription was created, but is not connected
 HINT:  To initiate replication, you must manually create the replication slot, enable the subscription, and refresh the subscription.
 \dRs+
-                                                                                                                List of subscriptions
-      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub}   | f      | on        | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                 List of subscriptions
+      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub}   | f      | on        | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 ALTER SUBSCRIPTION regress_testsub SET (streaming = parallel);
 \dRs+
-                                                                                                                List of subscriptions
-      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                 List of subscriptions
+      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 ALTER SUBSCRIPTION regress_testsub SET (streaming = false);
 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE);
 \dRs+
-                                                                                                                List of subscriptions
-      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub}   | f      | off       | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                 List of subscriptions
+      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub}   | f      | off       | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 -- fail - publication already exists
@@ -314,10 +314,10 @@ ALTER SUBSCRIPTION regress_testsub ADD PUBLICATION testpub1, testpub2 WITH (refr
 ALTER SUBSCRIPTION regress_testsub ADD PUBLICATION testpub1, testpub2 WITH (refresh = false);
 ERROR:  publication "testpub1" is already in subscription "regress_testsub"
 \dRs+
-                                                                                                                        List of subscriptions
-      Name       |           Owner           | Enabled |         Publication         | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-----------------------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub,testpub1,testpub2} | f      | off       | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                         List of subscriptions
+      Name       |           Owner           | Enabled |         Publication         | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-----------------------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub,testpub1,testpub2} | f      | off       | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 -- fail - publication used more than once
@@ -332,10 +332,10 @@ ERROR:  publication "testpub3" is not in subscription "regress_testsub"
 -- ok - delete publications
 ALTER SUBSCRIPTION regress_testsub DROP PUBLICATION testpub1, testpub2 WITH (refresh = false);
 \dRs+
-                                                                                                                List of subscriptions
-      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub}   | f      | off       | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                 List of subscriptions
+      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub}   | f      | off       | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 DROP SUBSCRIPTION regress_testsub;
@@ -371,19 +371,19 @@ CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUB
 WARNING:  subscription was created, but is not connected
 HINT:  To initiate replication, you must manually create the replication slot, enable the subscription, and refresh the subscription.
 \dRs+
-                                                                                                                List of subscriptions
-      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub}   | f      | parallel  | p                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                 List of subscriptions
+      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub}   | f      | parallel  | p                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 -- we can alter streaming when two_phase enabled
 ALTER SUBSCRIPTION regress_testsub SET (streaming = true);
 \dRs+
-                                                                                                                List of subscriptions
-      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub}   | f      | on        | p                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                 List of subscriptions
+      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub}   | f      | on        | p                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE);
@@ -393,10 +393,10 @@ CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUB
 WARNING:  subscription was created, but is not connected
 HINT:  To initiate replication, you must manually create the replication slot, enable the subscription, and refresh the subscription.
 \dRs+
-                                                                                                                List of subscriptions
-      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub}   | f      | on        | p                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                 List of subscriptions
+      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub}   | f      | on        | p                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE);
@@ -409,18 +409,18 @@ CREATE SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist' PUB
 WARNING:  subscription was created, but is not connected
 HINT:  To initiate replication, you must manually create the replication slot, enable the subscription, and refresh the subscription.
 \dRs+
-                                                                                                                List of subscriptions
-      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                 List of subscriptions
+      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | f                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 ALTER SUBSCRIPTION regress_testsub SET (disable_on_error = true);
 \dRs+
-                                                                                                                List of subscriptions
-      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           | Skip LSN 
------------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+----------
- regress_testsub | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | t                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/0
+                                                                                                                 List of subscriptions
+      Name       |           Owner           | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit |          Conninfo           |  Skip LSN  
+-----------------+---------------------------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+-----------------------------+------------
+ regress_testsub | regress_subscription_user | f       | {testpub}   | f      | parallel  | d                | t                | any    | t                 | f             | f        | off                | dbname=regress_doesnotexist | 0/00000000
 (1 row)
 
 ALTER SUBSCRIPTION regress_testsub SET (slot_name = NONE);
-- 
2.43.0

