On 2021-02-22 5:43 p.m., Tom Lane wrote:
> Michael Brown <michael.br...@discourse.org> writes:
>> * is there a knob missing we can configure?
> 
> No.  The trouble with sync() is that per POSIX, it only schedules the
> writes; there's no way to tell when the work has been done.  I see
> that Linux offers stronger promises in this department, but I don't
> think that's very portableTrue, but as mentioned below we're looking for a 
> "this makes sense for
our environment" switch.

> Moreover, even on Linux there's no way to detect whether any of the writes 
> failed.
Ugh. Presumably those would be noticed when the WAL replays? (I'll admit
I'd have to look at the sequence of events and think about it, I don't
know offhand.)

Oh, syncfs() exists but is Linux-specific, again, darn.

> Barring some solution to those problems, we would be unlikely to take
> a patch that uses sync() instead of fsync().
I wouldn't dare to propose outright switching to sync() for everyone,
but a knob we can turn on to say "use sync (or syncfd()) instead" is
what we need, discounting a better solution.

-- 
Michael Brown
Civilized Discourse Construction Kit, Inc.
https://www.discourse.org/


Reply via email to