From: Nathan Bossart Date: Thu, 7 Jul 2022 10:43:30 -0700 Subject: [PATCH v1 1/1] add note about re-archiving in docs --- doc/src/sgml/backup.sgml | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/backup.sgml b/doc/src/sgml/backup.sgml index 73a774d3d7..dd1c360455 100644 --- a/doc/src/sgml/backup.sgml +++ b/doc/src/sgml/backup.sgml @@ -685,10 +685,24 @@ test ! -f /mnt/server/archivedir/00000001000000A900000065 && cp pg_wal/0 - It is advisable to test your proposed archive library to ensure that it - indeed does not overwrite an existing file, and that it returns - false in this case. - The example command above for Unix ensures this by including a separate + In rare cases, PostgreSQL may attempt to + re-archive a WAL file that was previously archived. For example, if the + 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). It is advisable to test your proposed archive + library to ensure that it indeed does not overwrite an existing file. When + a pre-existing file is encountered, the archive library may return + true if the WAL file has identical contents to the + pre-existing archive. Alternatively, the archive library can return + false anytime a pre-existing file is encountered, but + this will require manual action by an administrator to resolve. If a + pre-existing file contains different contents than the WAL file being + archived, the archive library must return false. + + + + The example command above for Unix avoids overwriting a pre-existing archive + by including a separate test step. On some Unix platforms, cp has switches such as that can be used to do the same thing less verbosely, but you should not rely on these without verifying that -- 2.25.1 --SLDf9lqlvOQaIe6s--