Thanks Bruce and Tom. That pretty much explains it. -----Original Message----- From: Bruce Momjian <bruce@xxxxxxxxxx> To: Ravi Krishna <s.ravikrishna@xxxxxxx> Cc: tgl <tgl@xxxxxxxxxxxxx>; pgsql-admin <pgsql-admin@xxxxxxxxxxxxxx> Sent: Thu, May 14, 2015 12:26 pm Subject: Re: WAL and O_DIRECT On Thu, May 14, 2015 at 12:07:04PM -0400, Ravi Krishna wrote:> >> However ourDB2 folks are raising a concern that PG WAL writes may not be crash safe, unlesswe are using> >> write back technology in SAN or SSD , which we are using.>> > What's your point exactly? If the underlying hardware does not providedurable writes, there's> > nothing PG (or DB2) can do to fix that.> > >Am I right in concluding that PG WAL writes without underlying h/w caching isnot crash proof.> Fortunately these days caching is ubiquitous in all SSD/SANtechnology. Both Oracle and DB2 always open WAL> logs in O_DIRECT. Is thisthinking outdated with modern technology which caches writes. Wonder whyOracle/DB2> are not making O_DIRECT optional. I am sure it will increase thewrite performance.Basically, O_DIRECT writes through the OS catch directlyto the storage.Postgres writes to the OS cache, then uses fsync() or anotherOS call toflush that OS write to the storage --- we just do it in twoparts.We turn off O_DIRECT for WAL writes because we know another processisgoing to read it soon, so in that case, we fall back the two-partsolutionof OS write and fsync-like OS call.-- Bruce Momjian <bruce@xxxxxxxxxx> http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. + -- Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-admin