Re: [9.4] Make full_page_writes only settable on server start? - Mailing list pgsql-hackers

From Jeff Davis
Subject Re: [9.4] Make full_page_writes only settable on server start?
Date
Msg-id 1378309777.23979.39.camel@jdavis
Whole thread Raw
In response to Re: [9.4] Make full_page_writes only settable on server start?  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
On Wed, 2013-09-04 at 17:00 +0200, Andres Freund wrote:
> On 2013-09-04 07:57:15 -0700, Jeff Davis wrote:
> > XLogSaveBufferForHint() calls XLogCheckBuffer() but doesn't also look at
> > the full page writes setting (like in XLogInsert()). That means, if
> > checksums are enabled and full_page_writes is off, we'll still write
> > some full page images for checksums. I'd like to remedy that.
> 
> I don't think that's really as easy as it sounds without removing the
> ability to do base backups with full_page_writes = off. The interlocking
> that would require makes things complex...

I didn't dig into that part yet. I was mostly distracted by the code to
support changing full_page_writes with SIGHUP.

One option would be to have XLogInsert return early if full_page_writes
is off, it's an XLOG_FPI record, and forcePageWrites is off.

> Personally I'd rather forbid enabling checkpoints in the combination
> with full_page_writes = off. That doesn't seem like a good idea to me
> and I am far from convinced it's actually going to work in all corner cases.

Hmm. It's good to be cautious when deploying on a less-common
configuration. However, I don't think it's a good idea to reject
seemingly valid combinations that are supposed to work due to a lack of
confidence in the review/testing process.

Might be an area warranting some further review and testing; I'll take a
look, but feel free to tell me if you can think of specific problem
areas.

Regards,Jeff Davis





pgsql-hackers by date:

Previous
From: Kohei KaiGai
Date:
Subject: Re: [v9.4] row level security
Next
From: Kohei KaiGai
Date:
Subject: Re: [v9.4] row level security