Re: 9.6 and fsync=off - Mailing list pgsql-hackers

From Robert Haas
Subject Re: 9.6 and fsync=off
Date
Msg-id CA+TgmobDk9pg3mvZLSwrnR3x022QmJyGPh4PsERx23iG9RcdVg@mail.gmail.com
Whole thread Raw
In response to Re: 9.6 and fsync=off  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: 9.6 and fsync=off  (Craig Ringer <craig@2ndquadrant.com>)
Re: 9.6 and fsync=off  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On Fri, Apr 29, 2016 at 9:49 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Abhijit Menon-Sen <ams@2ndQuadrant.com> writes:
>> Do you want a patch along those lines now, or is it too late?
>
> We're certainly not going to consider fooling with this in 9.6.
> The situation for manual fsync-twiddling is no worse than it was in
> any prior release, and we are long past feature freeze.
>
> If you want to put it on your to-do queue for 9.7, feel free.

Agreed.

I also think that it would be a swell idea to detect whether a system
has ever crashed with fsync=off, and do something about that, like
maybe bleat on every subsequent startup for the lifetime of the
cluster.  I think Andres may have even proposed a patch for this sort
of thing before, although I don't remember for sure and I think he and
I disagreed on the details.  Sketch:

- Keep a copy of the fsync status in pg_control.
- If we ever enter recovery while it's turned off, say:
WARNING: Entering recovery with fsync=off; this cluster may be
irretrievably corrupted.
...and also set a separate flag indicating that we've done at least
one recovery with fsync=off.
- If that flag is set on a subsequent startup, say:
WARNING: Recovery was previously performed with fsync=off; this
cluster may be irretrievably corrupted.

While I'm kvetching, it might also be a good idea to have a timestamp
in pg_control indicating the date and time at which pg_resetxlog was
last run (and maybe the cluster creation time, too).  I run across way
too many clusters where the customer can't convincingly vouch for the
proposition that nothing evil has been done, and having some forensic
evidence available would make it easier to figure out where the blame
lies.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: Add jsonb_compact(...) for whitespace-free jsonb to text
Next
From: Robert Haas
Date:
Subject: Re: Refactor pg_dump as a library?