Re: Sample archive_command is still problematic

Поиск
Список
Период
Сортировка
От Josh Berkus
Тема Re: Sample archive_command is still problematic
Дата
Msg-id 53E90488.9040103@agliodbs.com
обсуждение исходный текст
Ответ на Sample archive_command is still problematic  (Josh Berkus <josh@agliodbs.com>)
Ответы Re: Sample archive_command is still problematic  (Kevin Grittner <kgrittn@ymail.com>)
Список pgsql-docs
On 08/11/2014 10:21 AM, Kevin Grittner wrote:
>> Is there some good reason why "test ! -f" was added to the
>> sample?
>
> In an environment with more than one cluster archiving, it is
> otherwise way too easy to copy a config file and have the WAL files
> of the two systems overwriting one another.  I consider a check for
> an already existing file on the target to be very good practice.
> The errors in the log are a clue that something went wrong, and
> gives you a chance to fix things without data loss.

It depends on what you're guarding against.  In the case I was dealing
with, the master crashed in the middle of an archive write.  As a
result, the file existed, but was incomplete, and *needed* to be
overwritten.  But because of 'test -f' archiving just kept failing.

> The problem with the recommended command is that cp is not atomic.
> The file can be read before the contents are materialized, causing
> early end to recovery.  I have seen it happen.  The right way to do
> this is to copy to a different name or directory and mv the file
> into place once it is complete -- or use software which does that
> automatically, like rsync does.

Yeah, realistically, I think we need to start supplying a script or two
in /contrib and referencing that.  I'm not sure how to make it work for
the Windows users though.

--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com


В списке pgsql-docs по дате отправления:

Предыдущее
От: Kevin Grittner
Дата:
Сообщение: Re: Sample archive_command is still problematic
Следующее
От: Kevin Grittner
Дата:
Сообщение: Re: Sample archive_command is still problematic