Bruce Momjian <bruce(at)momjian(dot)us> writes:
>>> I asked on IRC and was told it is true, and looking at the C code it
>>> looks true. ?What synchronous_commit = false does is to delay writing
>>> the wal buffers to disk and fsyncing them, not just fsync, which is
>>> where the commit loss due to db process crash comes from.
>> Ah, I see. Thanks.
> I am personally surprised it was designed that way; I thought we would
> just delay fsync.
That would require writing and syncing to be separable actions. If
you're using O_SYNC or similar, they aren't.
regards, tom lane