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@xxxxxxxxxxxxx>
To: Ravi Krishna <s.ravikrishna@xxxxxxx>
Cc: pgsql-admin <pgsql-admin@xxxxxxxxxxxxxx>
Sent: Thu, May 14, 2015 11:11 am
Subject: Re: WAL and O_DIRECT
From: Tom Lane <tgl@xxxxxxxxxxxxx>
To: Ravi Krishna <s.ravikrishna@xxxxxxx>
Cc: pgsql-admin <pgsql-admin@xxxxxxxxxxxxxx>
Sent: Thu, May 14, 2015 11:11 am
Subject: Re: WAL and O_DIRECT
Ravi Krishna <s.ravikrishna@xxxxxxx> 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