From: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
---|---|
To: | Sergey Burladyan <eshkinkot(at)gmail(dot)com> |
Cc: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com>, Victor Yagofarov <xnasx(at)yandex(dot)ru>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Why standby restores some WALs many times from archive? |
Date: | 2017-12-30 12:20:27 |
Message-ID: | 20171230122027.GA7704@paquier.xyz |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2017-12-30 12:25:56 | Re: [HACKERS] Commits don't block for synchronous replication |
Previous Message | Simon Riggs | 2017-12-30 11:01:31 | Re: [HACKERS] MERGE SQL Statement for PG11 |