On Mon, May 26, 2014 at 1:22 PM, Heikki Linnakangas
<hlinnakangas@vmware.com> wrote:
>>I don't think we know that. The server might have crashed before that
>>second record got generated. (This appears to be an unfixable flaw in
>>this proposal.)
>
> The second record is generated before the checkpoint is finished and the checkpoint record is written. So it will be
there.
>
> (if you crash before the checkpoint is finished, the in-progress checkpoint is no good for recovery anyway, and won't
beused)
Hmm, I see.
It's not great to have to generate WAL at buffer-eviction time,
though. Normally, when we go to evict a buffer, the WAL is already
written. We might have to wait for it to be flushed, but if the WAL
writer is doing its job, hopefully not. But here we'll definitely
have to wait for the WAL flush.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company