On 03.08.22 09:16, Noah Misch wrote:
On Mon, Aug 01, 2022 at 10:02:19PM -0700, Nathan Bossart wrote:
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.
--- 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>.
Works for me. Thanks.
This documentation change only covers archive_library. How are users of
archive_command supposed to handle this?