On Sat, Jul 30, 2022 at 11:51:56PM -0700, Noah Misch wrote:
> Inviting the administrator to resolve things is more dangerous than just
> returning true. I recommend making this text more opinionated and simpler:
> libraries must return true. Alternately, if some library has found a good
> reason to return false, this paragraph could give the reason. I don't know of
> such a reason, though.
Your suggestion seems reasonable to me. I've attached a small patch.
--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com
diff --git a/doc/src/sgml/backup.sgml b/doc/src/sgml/backup.sgml
index e432bb015a..cba7292f98 100644
--- a/doc/src/sgml/backup.sgml
+++ b/doc/src/sgml/backup.sgml
@@ -691,11 +691,9 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0
system crashes before the server makes a durable record of archival success,
the server will attempt to archive the file again after restarting (provided
archiving is still enabled). When an archive library encounters a
- pre-existing file, it may return <literal>true</literal> if the WAL file has
+ pre-existing file, it should return <literal>true</literal> if the WAL file has
identical contents to the pre-existing archive and the pre-existing archive
- is fully persisted to storage. Alternatively, the archive library may
- return <literal>false</literal> anytime a pre-existing file is encountered,
- but this will require manual action by an administrator to resolve. If a
+ is fully persisted to storage. If a
pre-existing file contains different contents than the WAL file being
archived, the archive library <emphasis>must</emphasis> return
<literal>false</literal>.