Re: Hot Standby on git

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: Hot Standby on git
Дата
Msg-id 4AC5AF36.3020900@enterprisedb.com
обсуждение исходный текст
Ответ на Re: Hot Standby on git  (Simon Riggs <simon@2ndQuadrant.com>)
Ответы Re: Hot Standby on git  (Simon Riggs <simon@2ndQuadrant.com>)
Список pgsql-hackers
Simon Riggs wrote:
> On Fri, 2009-10-02 at 10:04 +0300, Heikki Linnakangas wrote:
>> Simon Riggs wrote:
>>> @@ -7061,6 +7061,15 @@ ShutdownXLOG(int code, Datum arg)
>>>     else
>>>     {
>>>         /*
>>> +        * Take a snapshot of running transactions and write this to WAL.
>>> +        * This allows us to reconstruct the state of running transactions
>>> +        * during archive recovery, if required. We do this even if we are
>>> +        * not archiving, to allow a cold physical backup of the server to
>>> +        * be useful as a read only standby.
>>> +        */
>>> +       GetRunningTransactionData();
>>> +
>>> +       /*
>>>          * If archiving is enabled, rotate the last XLOG file so that all the
>>>          * remaining records are archived (postmaster wakes up the archiver
>>>          * process one more time at the end of shutdown). The checkpoint
>>>
>> I don't think this will do any good where it's placed. The checkpoint
>> that follows will have its redo-pointer beyond the running-xacts record,
>> so WAL replay will never see it.
> 
> Perhaps we need two entries then to cover multiple use cases?
> 
> The placement of this was specifically chosen so that it is the last
> entry before the log switch, so that the runningxact record would be
> archived. 
> 
> Yes, we also need one after the shutdown checkpoint to cover the case
> where the whole data directory is copied after shutdown. The comments
> matched the latter case but the position addressed the first case, so it
> looks like I was confused as to which case I was addressing.
> 
> Have updated code to do both. See what you think. Thanks.

It seems dangerous to write a WAL record after the shutdown checkpoint.
It will be overwritten by subsequent startup, which is a recipe for trouble.

--  Heikki Linnakangas EnterpriseDB   http://www.enterprisedb.com


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

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: Hot Standby on git
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Hot Standby on git