Re: Is full_page_writes=off safe in conjunction with PITR? - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Is full_page_writes=off safe in conjunction with PITR?
Date
Msg-id 200604172124.k3HLOjP17730@candle.pha.pa.us
Whole thread Raw
In response to Re: Is full_page_writes=off safe in conjunction with PITR?  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
Bruce Momjian wrote:
> Jim C. Nasby wrote:
> > On Mon, Apr 17, 2006 at 03:00:58PM -0400, Tom Lane wrote:
> > > I've applied a patch for this.  On reflection, the CHECKPOINT during
> > > pg_start_backup was actually necessary for torn-page safety even without
> > > full_page_writes off.  The reason is that the torn-page risk occurs when
> > > we write a page from shared memory, not when we modify it in memory.
> > > Without a CHECKPOINT, a page modified just before pg_start_backup could
> > > be dumped during the backup and then be saved in a torn state, even
> > > though no WAL record for it is emitted anytime during the backup
> > > procedure.  So that comment's been wrong all along.
> > 
> > Are you going to back-patch this? If I understand correctly current
> > behavior could mean people using PITR may have invalid backups. In the
> > meantime, perhaps we should send an email to -annouce recommending that
> > folks issue a CHEKCPOINT; after pg_start_backup and before initiating
> > the filesystem copy.
> 
> We are disabling full_page_writes for 8.1.4, so they should be fine.

Just to clarify, 8.1.4 will remove control for turning off
full_page_writes, but 8.2 will allow such control, and allow it can be
used with PITR because we will automatically turn it on during file
system backup.

--  Bruce Momjian   http://candle.pha.pa.us EnterpriseDB    http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Is full_page_writes=off safe in conjunction with PITR?
Next
From: Gevik Babakhani
Date:
Subject: Re: Regrading TODO item alerting pg_hba.conf from SQL