Ravi Krishna <s(dot)ravikrishna(at)aim(dot)com> writes:
> Why is O_DIRECT not used, despite the documentation mentioning otherwise?
You've not shown us all your settings, but this comment in xlog.c might
explain it:
* Optimize writes by bypassing kernel cache with O_DIRECT when using
* O_SYNC/O_FSYNC and O_DSYNC. But only if archiving and streaming are
* disabled, otherwise the archive command or walsender process will read
* the WAL soon after writing it, which is guaranteed to cause a physical
* read if we bypassed the kernel cache. We also skip the
* posix_fadvise(POSIX_FADV_DONTNEED) call in XLogFileClose() for the same
* reason.
regards, tom lane