From 08bf966f47a85cc9ec291bea84d90ca53c090345 Mon Sep 17 00:00:00 2001
From: Daniel Gustafsson <dgustafsson@postgresql.org>
Date: Wed, 15 Jul 2026 15:02:51 +0200
Subject: [PATCH vmaster] doc: Fix link text for data checksums

Commit 67846550dc6d removed the xreflabels for initdb options, which
turned the sentence "The second field contains the page checksum if
data checksums are enabled" into "The second field contains the page
checksum if -k are enabled", as well "Only has effect if data checksums
are enabled" into "Only has effect if -k are enabled".

Fix by setting an explicit link text, and while there also change the
link to point to the data checksum page which has more information
than just the initdb option.

The original report was for one instance, further inspection turned
up quite a few more cases.  Also redirect the link in the amcheck
docs which albeit was reading right, but will be more helpful if
linking to the main page on data checksums.  Backpatch to v18 where
the xreflabels were removed.

Author: Daniel Gustafsson <daniel@yesql.se>
Reported-by: y.saburov@gmail.com
Reviewed-by: Laurenz Albe <laurenz.albe@cybertec.at>
Discussion: https://postgr.es/m/178350739237.73862.4549076173872335741@wrigleys.postgresql.org
Backpatch-through: 18
---
 doc/src/sgml/amcheck.sgml | 5 ++---
 doc/src/sgml/config.sgml  | 2 +-
 doc/src/sgml/storage.sgml | 2 +-
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/doc/src/sgml/amcheck.sgml b/doc/src/sgml/amcheck.sgml
index 08006856579..13a6bb18897 100644
--- a/doc/src/sgml/amcheck.sgml
+++ b/doc/src/sgml/amcheck.sgml
@@ -421,9 +421,8 @@ SET client_min_messages = DEBUG1;
 
  <para>
   <filename>amcheck</filename> can be effective at detecting various types of
-  failure modes that <link
-  linkend="app-initdb-data-checksums"><application>data
-  checksums</application></link> will fail to catch.  These include:
+  failure modes that <link linkend="checksums">data checksums</link> will fail
+  to catch.  These include:
 
   <itemizedlist>
    <listitem>
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 0848c18d329..1bc82182cd3 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -13229,7 +13229,7 @@ LOG:  CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1)
       </term>
       <listitem>
        <para>
-        Only has effect if <xref linkend="app-initdb-data-checksums"/> are enabled.
+        Only has effect if <link linkend="checksums">data checksums</link> are enabled.
        </para>
        <para>
         Detection of a checksum failure during a read normally causes
diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml
index 6b6377503bf..19924b98d71 100644
--- a/doc/src/sgml/storage.sgml
+++ b/doc/src/sgml/storage.sgml
@@ -797,7 +797,7 @@ data. Empty in ordinary tables.</entry>
   (<structname>PageHeaderData</structname>). Its format is detailed in <xref
   linkend="pageheaderdata-table"/>. The first field tracks the most
   recent WAL entry related to this page. The second field contains
-  the page checksum if <xref linkend="app-initdb-data-checksums"/> are
+  the page checksum if <link linkend="checksums">data checksums</link> are
   enabled.  Next is a 2-byte field containing flag bits. This is followed
   by three 2-byte integer fields (<structfield>pd_lower</structfield>,
   <structfield>pd_upper</structfield>, and
-- 
2.39.3 (Apple Git-146)

