On Thu, Feb 21, 2013 at 11:09 PM, Heikki Linnakangas < hlinnakan...@vmware.com> wrote:
> On 15.02.2013 15:49, Heikki Linnakangas wrote: > >> Attached is a patch for git master. The basic idea is to split >> InArchiveRecovery into two variables, InArchiveRecovery and >> ArchiveRecoveryRequested. ArchiveRecoveryRequested is set when >> recovery.conf exists. But if we don't know how far we need to recover, >> we first perform crash recovery with InArchiveRecovery=false. When we >> reach the end of WAL in pg_xlog, InArchiveRecovery is set, and we >> continue with normal archive recovery. >> > > New version of this attached, with a few bugs fixed. > > I'm thinking that this should be back-patched to 9.2, but not to earlier > branches. Before 9.2, we don't PANIC at a reference to a non-existent page > until end of recovery, even if we've already reached consistency. The same > basic issue still exists in earlier versions, though: if you have > hot_standby=on, the system will open for read-only queries too early, > before the database is consistent. But this patch is invasive enough that > I'm weary of back-patching it further, when the worst that can happen is > that there's a small window right after startup when you can see an > inconsistent database in hot standby mode. Maybe after we get some more > testing of this in 9.2 and master. Opinions on that? > People have not yet complained about this problem with versions prior to 9.1. Is it worth backpatching in this case? -- Michael