On Sat, Sep 17, 2022 at 02:54:27PM -0700, Nathan Bossart wrote:
> On Sat, Sep 17, 2022 at 11:46:39AM +0200, Peter Eisentraut wrote:
> >> > --- 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?
>
> I believe users of archive_command need to do something similar to what is
> described here. However, it might be more reasonable to expect
> archive_command users to simply return false when there is a pre-existing
> file, as the deleted text notes. IIRC that is why I added that sentence
> originally.
What makes the answer for archive_command diverge from the answer for
archive_library?