Re: Proposal: In-Place upgrade concept

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Proposal: In-Place upgrade concept
Date: 2007-07-03 09:45:26
Message-ID: 468A1AB6.2040909@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Zdenek Kotala wrote:
> Project Goals
> -----
> ...
> 3) Do not require an old version of PostgreSQL to be installed.

Why not? Having two versions installed at the same time doesn't seem
like a problem to me. You can remove the old version as soon as the
upgrade is done.

> 4) Allow a fallback to original PostgreSQL version if something would go wrong.
> ...
> compatibility mode (compat) - a new version is running on the old data files. It is possible to read and write data as in a previous version. Features of a new version might not be available. Fallback to the previous version is possible.

That's madness. Why would you want to do that? The complexity it adds is
just mind-boggling.

You still wouldn't be able to downgrade after you switch from
compatibility mode, and it seems likely that any problems, whatever they
might be, would not appear until you switch. That means you'll need to
be prepared to downgrade using a backup anyway, so the compatibility
mode doesn't buy you much.

> upgrade mode - a conversion of data files is running in the background. PostgreSQL have to be able to work with both the new data file format and the old data file format. Features of a new version might not be available. PostgreSQL have to be able to recover and continue in the upgrade mode in case of a power/system failure. Fallback to the previous version is not possible.

That's feasible, though I don't see why new features wouldn't be available.

As before, upgrade can be done, it's just a matter of someone scratching
the itch. pg_migrator can handle the catalog changes. Doing the page
conversion from 8.2 -> 8.3 is possible, and it could be done on-the-fly
inside PostgreSQL the first time a page is read in.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Gregory Stark 2007-07-03 09:59:57 Re: what is difference between LOCAL and GLOBAL TEMP TABLES in PostgreSQL
Previous Message Michael Paesold 2007-07-03 09:31:08 Re: Still recommending daily vacuum...