Re: WAL and O_DIRECT - Mailing list pgsql-admin

From Bruce Momjian
Subject Re: WAL and O_DIRECT
Date
Msg-id 20150514162610.GB23739@momjian.us
Whole thread Raw
In response to Re: WAL and O_DIRECT  (Ravi Krishna <s.ravikrishna@aim.com>)
Responses Re: WAL and O_DIRECT
List pgsql-admin
On Thu, May 14, 2015 at 12:07:04PM -0400, Ravi Krishna wrote:
> >> 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.
>
> > What's your point exactly?  If the underlying hardware does not provide durable 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 is not crash proof.
> Fortunately these days caching is  ubiquitous in all SSD/SAN technology. Both Oracle and DB2 always open WAL
> logs in O_DIRECT. Is this thinking outdated with modern technology which caches writes. Wonder why Oracle/DB2
> are not making O_DIRECT optional. I am sure it will increase the write performance.

Basically, O_DIRECT writes through the OS catch directly to the storage.
Postgres writes to the OS cache, then uses fsync() or another OS call to
flush that OS write to the storage --- we just do it in two parts.

We turn off O_DIRECT for WAL writes because we know another process is
going to read it soon, so in that case, we fall back the two-part
solution of OS write and fsync-like OS call.

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + Everyone has their own god. +


pgsql-admin by date:

Previous
From: Tom Lane
Date:
Subject: Re: WAL and O_DIRECT
Next
From: Ravi Krishna
Date:
Subject: Re: WAL and O_DIRECT