Re: In-place upgrade: catalog side

From: Greg Smith <gsmith(at)gregsmith(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: In-place upgrade: catalog side
Date: 2008-12-05 03:52:22
Message-ID: Pine.GSO.4.64.0812042156260.22750@westnet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 3 Dec 2008, Bruce Momjian wrote:

> As the author of the original shell script, which was in
> /contrib/pg_upgrade, I think the code has grown to the point where it
> should be reimplemented in something like Perl.

Ah, there's the common ancestor I couldn't find. Sheesh, you learn Perl
last month, and already you're a zealot. That was fast.

As I see it the priorities for this part are:

1) Finish the shell-based pg_upgrade. The latest one we just got from
Zdenek looks almost there, just have to sort out the dropped column bits.
Start testing that in parallel with the below to figure out if there's
anything that was missed.

2) Re-evaluate what's in there vs. what's already implemented in the
C-based pg_migrator to determine the effort needed to upgrade that to
fully functional.

3) Figure out who is available to do the expected work on schedule.

4) Determine what language they're going to do it in and whether the task
is:
a) Re-implementing the script in a more portable and powerful scripting
language like Perl or Python
b) Adding the additional features needed to complete pg_migrator
c) Writing an implementation into core via some bootstrap process

You suggested (a), I was the latest in a series of people to suggest (b),
and Zdenek suggested (c). They all have different trade-offs in terms of
development time and expected quality of the resulting tool. At this
point we'll be lucky to get anything done, and I think we may have to
settle for whichever of the above options seems most likely to finish
based on the skills of the person(s) doing the job.

I think (c) may be out just because there will be increasing pressure for
a final code freeze on anything in core, so that beta testing can begin on
Jan 1. Whereas something that's going to end up in contrib like either
the final pg_upgrade or an improved pg_migrator might get cut a bit more
slack for starting beta less polished than the core code. (Insert retort
from Tom about how that's not the way it's done here)

Additionally, it may be the case that putting the appropriate hooks in to
support 8.4->8.5 upgrades that have been suggested (dedicated free space
management, catalog support, etc.) is the only thing that ships on time,
and that the 8.4 announcement just mentions "a community tool for in-place
upgrades from 8.3->8.4 is in currently in beta and can be downloaded from
pgforge". That retreat position goes away if you've commited to putting
the whole thing in core.

--
* Greg Smith gsmith(at)gregsmith(dot)com http://www.gregsmith.com Baltimore, MD

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2008-12-05 05:05:34 Re: default statistics target testing (was: Simple postgresql.conf wizard)
Previous Message KaiGai Kohei 2008-12-05 03:50:58 Re: Updates of SE-PostgreSQL 8.4devel patches (r1268)