Re: Why standby restores some WALs many times from archive? - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Why standby restores some WALs many times from archive?
Date
Msg-id 20171230122027.GA7704@paquier.xyz
Whole thread Raw
In response to Re: Why standby restores some WALs many times from archive?  (Sergey Burladyan <eshkinkot@gmail.com>)
Responses Re: Why standby restores some WALs many times from archive?
Re: Why standby restores some WALs many times from archive?
List pgsql-hackers
On Sat, Dec 30, 2017 at 04:30:07AM +0300, Sergey Burladyan wrote:
> We use this scripts:
> https://github.com/avito-tech/dba-utils/tree/master/pg_archive
>
> But I can reproduce problem with simple cp & mv:
> archive_command:
>   test ! -f /var/lib/postgresql/wals/%f && \
>   test ! -f /var/lib/postgresql/wals/%f.tmp && \
>   cp %p /var/lib/postgresql/wals/%f.tmp && \
>   mv /var/lib/postgresql/wals/%f.tmp /var/lib/postgresql/wals/%f

This is unsafe. PostgreSQL expects the WAL segment archived to be
flushed to disk once the archive command has returned its result to the
backend. Don't be surprised if you get corrupted instances or that you
are not able to recover up to a consistent point if you need to roll in
a backup. Note that the documentation of PostgreSQL provides a simple
example of archive command, which is itself bad enough not to use.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Simon Riggs
Date:
Subject: Re: [HACKERS] MERGE SQL Statement for PG11
Next
From: Michael Paquier
Date:
Subject: Re: [HACKERS] Commits don't block for synchronous replication