Re: Remove fsync ON/OFF as a visible option? - Mailing list pgsql-hackers
From | Jim Nasby |
---|---|
Subject | Re: Remove fsync ON/OFF as a visible option? |
Date | |
Msg-id | 55131066.4020904@BlueTreble.com Whole thread Raw |
In response to | Re: Remove fsync ON/OFF as a visible option? (Jeff Janes <jeff.janes@gmail.com>) |
Responses |
Re: Remove fsync ON/OFF as a visible option?
Re: Remove fsync ON/OFF as a visible option? |
List | pgsql-hackers |
On 3/21/15 12:25 PM, Jeff Janes wrote: > On Sat, Mar 21, 2015 at 8:54 AM, Tom Lane <tgl@sss.pgh.pa.us > <mailto:tgl@sss.pgh.pa.us>> wrote: > > Stephen Frost <sfrost@snowman.net <mailto:sfrost@snowman.net>> writes: > > At the moment, one could look at our default postgresql.conf and the > > "turns forced synchronization on or off" and think it's something akin > > or somehow related to synchronous_commit (which is completely different, > > but the options are right next to each other..). > > > How about a big warning around fsync and make it more indepenent from > > the options around it? > > Yeah, the main SGML docs are reasonably clear about the risks of fsync, > but postgresql.conf doesn't give you any hint that it's dangerous. Now > I'm not entirely sure that people who frob postgresql.conf without > having > read the docs can be saved from themselves, but we could do something > like this: > > # - Settings - > > #wal_level = minimal # minimal, archive, > hot_standby, or logical > # (change requires restart) > #fsync = on # turns forced > synchronization on or off > + # (fsync=off is dangerous, > read the > + # (manual before using it) > #synchronous_commit = on # synchronization level; > # off, local, remote_write, > or on > #wal_sync_method = fsync # the default is the first > option > # supported by the > operating system: > > Also, I think the short description "turns forced synchronization on or > off" could stand improvement; it really conveys zero information. Maybe > something like "force data to disk when committing"? > > > I agree the current description is lacking, but that proposed wording > would be a better description of synchronous_commit. It is > checkpointing and flush-WAL-before-data where fsync=off does its damage. > "Force data to disk when needed for integrity"? > > Or just don't describe what it is at all, and refer to the documentation > only. I see 3 settings that allow people to accidentally shoot themselves in the foot; fsync, wal_sync_method and full_page_writes. How about just grouping those 3 together with a bulk disclaimer along the lines of "The following 3 settings are dangerous. Use at your own risk, and read the docs first."? That would also allow us to just remove the comments about what the settings do; if you don't already know you certainly shouldn't be touching them! :) -- Jim Nasby, Data Architect, Blue Treble Consulting Data in Trouble? Get it in Treble! http://BlueTreble.com
pgsql-hackers by date: