Aha that pretty much explains it. Yes we are using streaming replication.
However our DB2 folks are raising a concern that PG WAL writes may not be crash safe, unless we are using write back technology in SAN or SSD , which we are using.
-----Original Message----- From: Tom Lane <tgl@sss.pgh.pa.us> To: Ravi Krishna <s.ravikrishna@aim.com> Cc: pgsql-admin <pgsql-admin@postgresql.org> Sent: Thu, May 14, 2015 11:11 am Subject: Re: [ADMIN] WAL and O_DIRECT
Ravi Krishna <s.ravikrishna@aim.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