Re: Page-level version upgrade (was: Block-level CRC checks) - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Page-level version upgrade (was: Block-level CRC checks)
Date
Msg-id 200912020445.nB24jI603695@momjian.us
Whole thread Raw
In response to Re: Page-level version upgrade (was: Block-level CRC checks)  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: Page-level version upgrade (was: Block-level CRC checks)  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
Robert Haas wrote:
> >> The key issue, as I think Heikki identified at the time, is to figure
> >> out how you're eventually going to get rid of the old pages. ?He
> >> proposed running a pre-upgrade utility on each page to reserve the
> >> right amount of free space.
> >>
> >> http://archives.postgresql.org/pgsql-hackers/2008-11/msg00208.php
> >
> > Right. ?There were two basic approaches to handling a patch that would
> > expand when upgraded to the new version --- either allow the system to
> > write the old format, or have a pre-upgrade script that moved tuples so
> > there was guaranteed enough free space in every page for the new format.
> > I think we agreed that the later was better than the former, and it was
> > easy because we don't have any need for that at this time. ?Plus the
> > script would not rewrite every page, just certain pages that required
> > it.
> 
> While I'm always willing to be proven wrong, I think it's a complete
> dead-end to believe that it's going to be easier to reserve space for
> page expansion using the upgrade-from version rather than the
> upgrade-to version.  I am firmly of the belief that the NEW pg version
> must be able to operate on an unmodified heap migrated from the OLD pg
> version.  After this set of patches was rejected, Zdenek actually

Does it need to write the old version, and if it does, it has to carry
around the old format structures all over the backend?  That was the
unclear part.

> proposed an alternate patch that would have allowed space reservation,
> and it was rejected precisely because there was no clear certainty
> that it would solve any hypothetical future problem.

True.  It was solving a problem we didn't have, yet.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


pgsql-hackers by date:

Previous
From: Aidan Van Dyk
Date:
Subject: Re: Block-level CRC checks
Next
From: David Fetter
Date:
Subject: Re: Page-level version upgrade (was: Block-level CRC checks)