Re: remove more archiving overhead

Noah Misch <noah@leadboat.com>

From: Noah Misch <noah@leadboat.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Peter Eisentraut <peter.eisentraut@enterprisedb.com>, David Steele <david@pgmasters.net>, Kyotaro Horiguchi <horikyota.ntt@gmail.com>, robertmhaas@gmail.com, masao.fujii@oss.nttdata.com, pgsql-hackers@postgresql.org
Date: 2022-09-18T07:13:12Z
Lists: pgsql-hackers
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 &amp;&amp; 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?



Commits

  1. Be more prescriptive in new doc about re-archiving of same WAL file.

  2. doc: Add note about re-archiving of same WAL files in docs.

  3. Reduce overhead of renaming archive status files.