Re: Remove fsync ON/OFF as a visible option?

Поиск
Список
Период
Сортировка
От Jim Nasby
Тема Re: Remove fsync ON/OFF as a visible option?
Дата
Msg-id 55131066.4020904@BlueTreble.com
обсуждение исходный текст
Ответ на Re: Remove fsync ON/OFF as a visible option?  (Jeff Janes <jeff.janes@gmail.com>)
Ответы Re: Remove fsync ON/OFF as a visible option?  (Jeff Janes <jeff.janes@gmail.com>)
Re: Remove fsync ON/OFF as a visible option?  (Robert Haas <robertmhaas@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: Anastasia Lubennikova
Дата:
Сообщение: Re: GSoC 2015 proposal. Bitmap Index-only Count
Следующее
От: Kevin Grittner
Дата:
Сообщение: Re: Reduce pinning in btree indexes