Re: 16-bit page checksums for 9.2 - Mailing list pgsql-hackers

From Robert Haas
Subject Re: 16-bit page checksums for 9.2
Date
Msg-id CA+TgmoacyRtrN=q6oxdw=c9Z_PtZCv1e4XUsB9Ecst97Ed0uzg@mail.gmail.com
Whole thread Raw
In response to Re: 16-bit page checksums for 9.2  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: 16-bit page checksums for 9.2  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Wed, Feb 29, 2012 at 4:34 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Wed, Feb 29, 2012 at 2:33 PM, Heikki Linnakangas
>> <heikki.linnakangas@enterprisedb.com> wrote:
>>> The utility would run in the old cluster before upgrading, so the the flag
>>> would have to be present in the old version. pg_upgrade would check that the
>>> flag is set, refusing to upgrade if it isn't, with an error like "please run
>>> pre-upgrade utility first".
>
>> I find that a pretty unappealing design; it seems to me it'd be much
>> easier to make the new cluster cope with everything.
>
> Easier for who?  I don't care for the idea of code that has to cope with
> two page formats, or before long N page formats, because if we don't
> have some mechanism like this then we will never be able to decide that
> an old data format is safely dead.

Huh?  You can drop support for a new page format any time you like.
You just decree that version X+1 no longer supports it, and you can't
pg_upgrade to it until all traces of the old page format are gone.

If you're going to require an offline rewrite of the whole old cluster
before doing the upgrade, how much better is it than just breaking the
page format and telling pg_upgrade users they're out of luck?

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


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: 16-bit page checksums for 9.2
Next
From: Michael Tautschnig
Date:
Subject: Weak-memory specific problem in ResetLatch/WaitLatch (follow-up analysis)