Add documentation chapter about checksums
authorMagnus Hagander
Sun, 17 Jan 2021 14:31:23 +0000 (15:31 +0100)
committerMagnus Hagander
Sun, 17 Jan 2021 14:31:23 +0000 (15:31 +0100)
Data checksums did not have a longer discussion in the docs,
this adds a short section with an overview.

Extracted from the larger patch for on-line enabling of checksums, which
has many more authors and reviewers.

Author: Daniel Gustafsson
Reviewed-By: Magnus Hagander, Michael Banck (and others through the big patch)
Discussion: https://postgr.es/m/5ff49fa4.1c69fb81[email protected]

doc/src/sgml/amcheck.sgml
doc/src/sgml/ref/initdb.sgml
doc/src/sgml/wal.sgml

index 8dfb01a77be09a6b1ba0104f89643f232460b67c..a2571d33ae67d61724eb384afb00e3d3580a242a 100644 (file)
@@ -393,7 +393,7 @@ SET client_min_messages = DEBUG1;
  
   amcheck can be effective at detecting various types of
   failure modes that 
-  linkend="app-initdb-data-checksums">data page
+  linkend="app-initdb-data-checksums">data
   checksums will fail to catch.  These include:
 
   
@@ -497,7 +497,7 @@ SET client_min_messages = DEBUG1;
   Structural corruption can happen due to faulty storage hardware, or
   relation files being overwritten or modified by unrelated software.
   This kind of corruption can also be detected with
-  app-initdb-data-checksums">data page
+  data page
   checksums.
  
 
index 995d78408e57427ea8a56fc41c8902d01b54d0ad..afd344b4c06414d3f6b3b5239e342449ca6d37e9 100644 (file)
@@ -219,6 +219,7 @@ PostgreSQL documentation
         failures will be reported in the
         
         pg_stat_database view.
+        See  for details.
        
       
      
index f4bc147b10684feb3f44a49867fe0375a0e21bb1..66de1ee2f81cbf57f3607a997bd67a67812c76c1 100644 (file)
       Data pages are not currently checksummed by default, though full page images
       recorded in WAL records will be protected; see 
       linkend="app-initdb-data-checksums">initdb
-      for details about enabling data page checksums.
+      for details about enabling data checksums.
      
     
     
   
  
 
+  Data Checksums
+  
+   checksums
+  
+
+  
+   Data pages are not checksum protected by default, but this can optionally be
+   enabled for a cluster.  When enabled, each data page will be assigned a
+   checksum that is updated when the page is written and verified every time
+   the page is read. Only data pages are protected by checksums, internal data
+   structures and temporary files are not.
+  
+
+  
+   Checksums are normally enabled when the cluster is initialized using 
+   linkend="app-initdb-data-checksums">initdb.
+   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
+   level, and cannot be specified individually for databases or tables.
+  
+
+  
+   The current state of checksums in the cluster can be verified by viewing the
+   value of the read-only configuration variable 
+   linkend="guc-data-checksums" /> by issuing the command SHOW
+   data_checksums.
+  
+
+  
+   When attempting to recover from corrupt data it may be necessary to bypass
+   the checksum protection in order to recover data. To do this, temporarily
+   set the configuration parameter .
+  
+
+  
+   Off-line Enabling of Checksums
+
+   
+    The pg_checksums
+    application can be used to enable or disable data checksums, as well as 
+    verify checksums, on an offline cluster.
+   
+
+  
+
   
    Write-Ahead Logging (<acronym>WAL</acronym>)