aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2024-04-25 14:58:59 -0400
committerRobert Haas <rhaas@postgresql.org>2024-04-25 14:58:59 -0400
commit205db0114e03496f1d6febf276374900b6314e67 (patch)
tree3134b6354ec1e3d4884d8a04c6f028b5e4f28e8d /doc/src
parent6d4bc96eb77bca6277880f218cd7a2f9e44bddc0 (diff)
downloadpostgresql-205db0114e03496f1d6febf276374900b6314e67.tar.gz
postgresql-205db0114e03496f1d6febf276374900b6314e67.zip
pg_combinebackup: Detect checksum mismatches and document limitation.
If not all backups have the same checksum status, but the final backup has checksums enabled, then the output directory may include pages with invalid checksums. Document this limitation and explain how to work around it. In a future release, we may want to teach pg_combinebackup to recompute page checksums when required, but as feature freeze has come and gone, it seems a bit too late to do that for this release. Patch by me, reviewed by Daniel Gustafsson Discussion: http://postgr.es/m/CA+TgmoZugzOSmgkx97u3pc0M7U8LycWvugqoyWBv6j15a4hE5g@mail.gmail.com
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/backup.sgml6
-rw-r--r--doc/src/sgml/ref/pg_combinebackup.sgml20
2 files changed, 25 insertions, 1 deletions
diff --git a/doc/src/sgml/backup.sgml b/doc/src/sgml/backup.sgml
index b3468eea3cb..91da3c26ba0 100644
--- a/doc/src/sgml/backup.sgml
+++ b/doc/src/sgml/backup.sgml
@@ -892,7 +892,11 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 &amp;&amp; cp pg_wal/0
only the incremental backup itself but also all earlier backups that
are required to supply the blocks omitted from the incremental backup.
See <xref linkend="app-pgcombinebackup"/> for further information about
- this requirement.
+ this requirement. Note that there are restrictions on the use of
+ <literal>pg_combinebackup</literal> when the checksum status of the
+ cluster has been changed; see
+ <link linkend="app-pgcombinebackup-limitations">pg_combinebackup
+ limitations</link>.
</para>
<para>
diff --git a/doc/src/sgml/ref/pg_combinebackup.sgml b/doc/src/sgml/ref/pg_combinebackup.sgml
index 96df3d81f15..d1f70ba2358 100644
--- a/doc/src/sgml/ref/pg_combinebackup.sgml
+++ b/doc/src/sgml/ref/pg_combinebackup.sgml
@@ -261,6 +261,26 @@ PostgreSQL documentation
</refsect1>
+ <refsect1 id="app-pgcombinebackup-limitations">
+ <title>Limitations</title>
+
+ <para>
+ <literal>pg_combinebackup</literal> does not recompute page checksums when
+ writing the output directory. Therefore, if any of the backups used for
+ reconstruction were taken with checksums disabled, but the final backup was
+ taken with checksums enabled, the resulting directory may contain pages
+ with invalid checksums.
+ </para>
+
+ <para>
+ To avoid this problem, taking a new full backup after changing the checksum
+ state of the cluster using <xref linkend="app-pgchecksums "/> is
+ recommended. Otherwise, you can disable and then optionally reenable
+ checksums on the directory produced by <literal>pg_combinebackup</literal>
+ in order to correct the problem.
+ </para>
+ </refsect1>
+
<refsect1>
<title>Environment</title>