On Fri, Feb 21, 2025 at 01:42:09PM +0100, Laurenz Albe wrote:
> On Fri, 2025-02-21 at 07:00 -0500, Bruce Momjian wrote:
> > > > diff --git a/doc/src/sgml/wal.sgml b/doc/src/sgml/wal.sgml
> > > > index 52b5b8f793b..705ca682777 100644
> > > > --- a/doc/src/sgml/wal.sgml
> > > > +++ b/doc/src/sgml/wal.sgml
> > > > @@ -246,7 +246,7 @@
> > > >     </para>
> > > >   
> > > >     <para>
> > > > -   Checksums are normally enabled when the cluster is initialized 
> > > > using <link
> > > > +   Checksums can be enabled when the cluster is initialized using <link
> > > >      
> > > > linkend="app-initdb-data-checksums"><application>initdb</application></link>.
> > > >      They can also be enabled or disabled at a later time as an offline
> > > >      operation. Data checksums are enabled or disabled at the full 
> > > > cluster
> > > 
> > > The change looks good for the back branches, but the default has changed
> > > in v18: now checksums are the default.  So "can be enabled" doesn't sound
> > > right for v18.  I'd leave "are normally enabled" in HEAD.
> > 
> > Yes, I was confused about that too, but I think we changed the code for
> > the development branch and if we decide to keep the new default, we will
> > change the docs later.  I didn't want to interfere with that.
> 
> Hmpf.  The documentation should always be in sync with the code, right?
> So I think it should be left alone in HEAD, and if the checksum change
> gets reverted, your patch should be applied to HEAD.

I see your point, and I now agree that the "Reliability" section was
just overlooked when the data checksum default was changed.  I made a
larger patch which improved the wording of data checksum mentions now
that it is the default in master.

I also fixed the Felix-reported problem in all the back branches through
14 --- PG 13 did not have the problem.

Patches attached.

-- 
  Bruce Momjian  <br...@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Do not let urgent matters crowd out time for investment in the future.
diff --git a/doc/src/sgml/wal.sgml b/doc/src/sgml/wal.sgml
index 52b5b8f793b..705ca682777 100644
--- a/doc/src/sgml/wal.sgml
+++ b/doc/src/sgml/wal.sgml
@@ -246,7 +246,7 @@
   </para>
 
   <para>
-   Checksums are normally enabled when the cluster is initialized using <link
+   Checksums can be enabled when the cluster is initialized using <link
    linkend="app-initdb-data-checksums"><application>initdb</application></link>.
    They can also be enabled or disabled at a later time as an offline
    operation. Data checksums are enabled or disabled at the full cluster
diff --git a/doc/src/sgml/amcheck.sgml b/doc/src/sgml/amcheck.sgml
index 3af065615bc..a12aa3abf01 100644
--- a/doc/src/sgml/amcheck.sgml
+++ b/doc/src/sgml/amcheck.sgml
@@ -466,8 +466,8 @@ SET client_min_messages = DEBUG1;
    </listitem>
    <listitem>
     <para>
-     File system or storage subsystem faults where checksums happen to
-     simply not be enabled.
+     File system or storage subsystem faults when data checksums are
+     disabled.
     </para>
     <para>
      Note that <filename>amcheck</filename> examines a page as represented in some
diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml
index 71c4f96d054..e698e74e116 100644
--- a/doc/src/sgml/monitoring.sgml
+++ b/doc/src/sgml/monitoring.sgml
@@ -3532,8 +3532,8 @@ description | Waiting for a newly initialized WAL file to reach durable storage
       </para>
       <para>
        Number of data page checksum failures detected in this
-       database (or on a shared object), or NULL if data checksums are not
-       enabled.
+       database (or on a shared object), or NULL if data checksums are
+       disabled.
       </para></entry>
      </row>
 
@@ -3543,8 +3543,8 @@ description | Waiting for a newly initialized WAL file to reach durable storage
       </para>
       <para>
        Time at which the last data page checksum failure was detected in
-       this database (or on a shared object), or NULL if data checksums are not
-       enabled.
+       this database (or on a shared object), or NULL if data checksums are
+       disabled.
       </para></entry>
      </row>
 
diff --git a/doc/src/sgml/pageinspect.sgml b/doc/src/sgml/pageinspect.sgml
index 27e0598f74c..487c5d758ff 100644
--- a/doc/src/sgml/pageinspect.sgml
+++ b/doc/src/sgml/pageinspect.sgml
@@ -85,7 +85,7 @@ test=# SELECT * FROM page_header(get_raw_page('pg_class', 0));
      <para>
       The <structfield>checksum</structfield> field is the checksum stored in
       the page, which might be incorrect if the page is somehow corrupted.  If
-      data checksums are not enabled for this instance, then the value stored
+      data checksums are disabled for this instance, then the value stored
       is meaningless.
      </para>
     </listitem>
diff --git a/doc/src/sgml/wal.sgml b/doc/src/sgml/wal.sgml
index 52b5b8f793b..4fc09761115 100644
--- a/doc/src/sgml/wal.sgml
+++ b/doc/src/sgml/wal.sgml
@@ -194,10 +194,8 @@
     </listitem>
     <listitem>
      <para>
-      Data pages are not currently checksummed by default, though full page images
-      recorded in WAL records will be protected; see <link
-      linkend="app-initdb-data-checksums"><application>initdb</application></link>
-      for details about enabling data checksums.
+      Data pages are checksummed by default, and full page images
+      recorded in WAL records are always checksum protected.
      </para>
     </listitem>
     <listitem>
@@ -238,15 +236,15 @@
   </indexterm>
 
   <para>
-   By default, data pages are not protected by checksums, but this can
-   optionally be enabled for a cluster. When enabled, each data page includes
+   By default, data pages are protected by checksums, but this can
+   optionally be disabled for a cluster. When enabled, each data page includes
    a checksum that is updated when the page is written and verified each time
    the page is read. Only data pages are protected by checksums; internal data
    structures and temporary files are not.
   </para>
 
   <para>
-   Checksums are normally enabled when the cluster is initialized using <link
+   Checksums can be disabled when the cluster is initialized using <link
    linkend="app-initdb-data-checksums"><application>initdb</application></link>.
    They can also be enabled or disabled at a later time as an offline
    operation. Data checksums are enabled or disabled at the full cluster

Reply via email to