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