Tom Lane wrote:
> I wrote:
>> Hmm ... this doesn't really feel cleaner to me, although I'm not sure
>> why not.
>
> Oh, I thought of a more concrete point: InRecovery is inherently a
> system-wide state, but XLogInsertAllowed is *not*. While we write
> the EOR checkpoint, we really want only the bgwriter to be authorized
> to write WAL, but the scheme you propose would effectively authorize
> all processes during that window.
I was thinking of doing the same hack we have now, and set
LocalXLogState to "normal processing" in bgwriter, but leave
SharedXLogState still in "recovery".
It's getting late again, and I'm afraid I have to stop for today :-(.
I'll probably check my emails tomorrow, but probably won't be doing much
else until Monday.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com