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

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Stephen Frost <sfrost(at)snowman(dot)net>, "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Remove fsync ON/OFF as a visible option?
Date: 2015-03-21 17:25:10
Message-ID: CAMkU=1yoK5traX2LMJRrxWQd_ga5EWzYbHsUhpQnduLF9UYTPw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Mar 21, 2015 at 8:54 AM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Stephen Frost <sfrost(at)snowman(dot)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.

Cheers,

Jeff

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dmitry Dolgov 2015-03-21 17:49:06 Re: GSoC 2015: Extra Jsonb functionality
Previous Message David G. Johnston 2015-03-21 16:42:01 Re: Remove fsync ON/OFF as a visible option?