On Wed, Dec 28, 2011 at 7:27 PM, Simon Riggs <simon@2ndquadrant.com> wrote:
> On Thu, Dec 22, 2011 at 6:16 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
>
>> I can see a reason to do this now. I've written patch and will commit
>> on Friday. Nudge me if I don't.
>
> It's hard to write this so it works in all cases and doesn't work in
> the right cases also.
>
> Basically, we can't get in the way of crash recovery, so the only way
> we can currently tell a crash recovery from an archive recovery is the
> presence of restore_command.
>
> If you don't have that and you haven't set a recovery target, it won't
> pause and there's nothing I can do, AFAICS.
>
> Please test this and review before commit.
What if wrong recovery target is specified and an archive recovery reaches
end of WAL files unexpectedly? Even in this case, we want to pause
recovery at the end? Otherwise, we'll lose chance to correct the recovery
target and retry archive recovery.
One idea; starting archive recovery with standby_mode=on meets your needs?
When archive recovery reaches end of WAL files, regardless of whether recovery
target is specified or not, recovery pauses at the end. If hot_standby
is enabled,
you can check the contents and if it's OK you can finish recovery by
pg_ctl promote.
Regards,
--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center