On 2018-04-17 17:29:17 -0400, Bruce Momjian wrote: > Also, if we are relying on WAL, we have to make sure WAL is actually > safe with fsync, and I am betting only the O_DIRECT methods actually > are safe: > > #wal_sync_method = fsync # the default is the first > option > # supported by the operating > system: > # open_datasync > --> # fdatasync (default on Linux) > --> # fsync > --> # fsync_writethrough > # open_sync > > I am betting the marked wal_sync_method methods are not safe since there > is time between the write and fsync.
Hm? That's not really the issue though? One issue is that retries are not necessarily safe in buffered IO, the other that fsync might not report an error if the fd was closed and opened. O_DIRECT is only used if wal archiving or streaming isn't used, which makes it pretty useless anyway. Greetings, Andres Freund