Re: O_DSYNC broken on MacOS X?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Dave Page <dpage(at)pgadmin(dot)org>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: O_DSYNC broken on MacOS X?
Date: 2010-09-30 21:02:14
Message-ID: 12984.1285880534@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> Oh, I missed that. Actually, I wasn't really so concerned with
> whether his benchmark is correct. I *am* concerned about being broken
> out of the box on MacOS X.

Actually, the problem with OSX is that OSX is broken out of the box,
at least by that standard. The system's normal configuration is that
fsync() does nothing, so it's hardly surprising that O_DSYNC is no
better. You have to use wal_sync_method = fsync_writethrough to get
actual bits-to-the-platter behavior.

I'm not sure whether we should select fsync_writethrough as the default
on OSX. We don't make an equivalent attempt to prevent OS or storage
malfeasance on other Unixoid platforms --- in fact, I'd say OSX is a bit
ahead of the game in that you *can* force writethrough without resorting
to arcane hacks with hdparm or some such.

We could definitely stand to be a bit more verbose about documenting
the platform-specific issues in this area.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message A.M. 2010-09-30 21:22:21 Re: O_DSYNC broken on MacOS X?
Previous Message Robert Haas 2010-09-30 20:49:47 Re: Postgres vs. intel ccNUMA on Linux