Tom Lane wrote:
> Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
>> I was going to say that since we flush the WAL every 16MB anyway (at
>> every XLOG file switch), you shouldn't see any benefit with larger ring
>> buffers, since to fill 16MB of data you're not going to write more than
>> 16MB WAL.
>
> I'm not convinced that WAL segment boundaries are particularly relevant
> to this. The unit of flushing is an 8K page, not a segment.
We fsync() the old WAL segment every time we switch to a new WAL
segment. That's what I meant by "flush".
If the walwriter is keeping up, it will fsync() the WAL more often, but
16MB is the maximum distance between fsync()s.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com