From: | Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> |
---|---|
To: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
Cc: | Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: pg_standby -l might destory the archived file |
Date: | 2009-06-02 16:43:08 |
Message-ID: | 4A25569C.8070906@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Simon Riggs wrote:
> On Mon, 2009-06-01 at 14:47 +0900, Fujii Masao wrote:
>
>> pg_standby can use ln command to restore an archived file,
>> which might destroy the archived file as follows.
>>
>> 1) pg_standby creates the symlink to the archived file '102'
>> 2) '102' is applied
>> 3) the next file '103' doesn't exist and the trigger file is created
>> 4) '102' is re-fetched
>> 5) at the end of recovery, the symlink to '102' is rename to '202',
>> but it still points '102'
>> 6) after recovery, '202' is recycled (rename to '208', which still
>> points '102')
>> 7) '208' is written new xlog records over
>> --> the archived file '102' comes down!
>>
>> One simple solution to fix this problem...
>
> err...I don't see *any* problem at all, since pg_standby does not do
> step (1) in the way you say and therefore never does step (5). Any links
> created are explicitly deleted in all cases at the end of recovery.
I don't know how you came to that conclusion, but Fujii-sans description
seems accurate to me, and I can reproduce the behavior on my laptop.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Mark Mielke | 2009-06-02 16:43:52 | Re: Managing multiple branches in git |
Previous Message | Andres Freund | 2009-06-02 16:42:02 | Re: Managing multiple branches in git |