On Thu, Sep 30, 2010 at 5:02 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > Robert Haas <robertmh...@gmail.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.
I think some documentation is definitely in order, at the least. It's certainly astonishing that the default settings aren't crash-safe. I'd really like to understand how this shakes out on different plaforms. Whether we should try to work around them is a trickier question, but I'm somewhat inclined to say yes. If we're trying to have the system be performant in the default config, turning off synchronous_commit would be saner than failing to make use of a system call which we know absolutely for sure to be necessary to avoid the possibility of database corruption. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise Postgres Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers