Add documentation chapter about checksums
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.658f3.04ac@mx.google.com
This commit is contained in:
parent
1db0d173a2
commit
cf621d9d84
@ -393,7 +393,7 @@ 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 page
|
||||
linkend="app-initdb-data-checksums"><application>data
|
||||
checksums</application></link> will fail to catch. These include:
|
||||
|
||||
<itemizedlist>
|
||||
@ -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
|
||||
<link linkend="app-initdb-data-checksums"><application>data page
|
||||
<link linkend="checksums"><application>data page
|
||||
checksums</application></link>.
|
||||
</para>
|
||||
|
||||
|
@ -219,6 +219,7 @@ PostgreSQL documentation
|
||||
failures will be reported in the
|
||||
<link linkend="monitoring-pg-stat-database-view">
|
||||
<structname>pg_stat_database</structname></link> view.
|
||||
See <xref linkend="checksums" /> for details.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -196,7 +196,7 @@
|
||||
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 page checksums.
|
||||
for details about enabling data checksums.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
@ -230,6 +230,53 @@
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="checksums">
|
||||
<title>Data Checksums</title>
|
||||
<indexterm>
|
||||
<primary>checksums</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>
|
||||
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.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Checksums are normally 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
|
||||
level, and cannot be specified individually for databases or tables.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The current state of checksums in the cluster can be verified by viewing the
|
||||
value of the read-only configuration variable <xref
|
||||
linkend="guc-data-checksums" /> by issuing the command <command>SHOW
|
||||
data_checksums</command>.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
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 <xref linkend="guc-ignore-checksum-failure" />.
|
||||
</para>
|
||||
|
||||
<sect2 id="checksums-offline-enable-disable">
|
||||
<title>Off-line Enabling of Checksums</title>
|
||||
|
||||
<para>
|
||||
The <link linkend="app-pgchecksums"><application>pg_checksums</application></link>
|
||||
application can be used to enable or disable data checksums, as well as
|
||||
verify checksums, on an offline cluster.
|
||||
</para>
|
||||
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="wal-intro">
|
||||
<title>Write-Ahead Logging (<acronym>WAL</acronym>)</title>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user