> >>1. Open WAL files with O_SYNC|O_DIRECT or O_SYNC(Not sure if > > Without grouping WAL writes that does not fly. Iff however such grouping > > is implemented that should deliver optimal performance. I don't think flushing > > WAL to the OS early (before a tx commits) is necessary, since writing 8k or 256k > > to disk with one call takes nearly the same time. The WAL write would need to be > > done as soon as eighter 256k fill or a txn commits. > > That means no special treatment to WAL files? If it works, great. There would be > single class of files to take care w.r.t sync. issue. Even more simpler.
No, WAL needs special handling. Eighter leave it as is with write + f[data]sync, or implement O_SYNC|O_DIRECT with grouping of writes (the current O_SYNC implementation is only good for small (<8kb) transactions). Andreas ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend