Re: remove more archiving overhead

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Noah Misch <noah@leadboat.com>, Nathan Bossart <nathandbossart@gmail.com>
Cc: 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-17T09:46:39Z
Lists: pgsql-hackers
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 &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?




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.