On 8/31/21, 10:21 AM, "Andres Freund" <and...@anarazel.de> wrote:
> What would trigger the flushing? We don't write out partially filled pages
> unless
> a) we're explicitly flushing an LSN on the partial page (e.g. because a
>    synchronous commit record resides on it)
> b) there's an async commit (i.e. commit with synchronous_commit=off) on the
>    page

Ah, so your point is that an open transaction that has written a
partial page on the next segment wouldn't trigger a flush.  What
appears to happen in this case is that bgwriter eventually creates a
xl_running_xacts record and nudges walwriter to flush it to disk, at
which point the .ready file(s) will be created.  That's admittedly a
bit fragile.

Nathan

Reply via email to