On 8/8/12 5:29 PM, Alvaro Herrera wrote:
I think those 14 is a bit of a made-up number.  Several of those steps
are about building pg_upgrade, not actually using it.  And there are
some that are optional anyway.

Compare the pg_upgrade instructions

http://www.postgresql.org/docs/9.2/static/pgupgrade.html

to the old pg_dump-based upgrade instructions that we used to give people:

http://www.postgresql.org/docs/8.4/static/install-upgrading.html

They are about the same in complexity (the pg_dump approach didn't talk about updating statistics or removing the old cluster, so it has less steps).

So I don't think the number of steps is a problem at all. They could be simplified a little bit more, of course.

What's more of a problem in my mind is the "unknown unknowns" in pg_upgrade's approach. In the pg_dump/restore approach, you knew that if the dump succeeded and the restore succeeded, your new database was very likely good. The only problem could be that pg_dump forgot to dump something altogether, or that there is a general problem in executing SQL commands, both of which would be obvious problems. With pg_upgrade, however, you never know whether your new instance is good. You could notice problems months later. That's a really tough proposition.

Another thing worth considering is to have pg_upgrade init, stop and
start clusters as necessary instead of requesting the user to do it.
I think this is two less steps.

Then you'd need to expose the entire pg_ctl shutdown mode logic through pg_upgrade, which might not make things simpler.

I wonder if things would be facilitated by having a config file for
pg_upgrade to specify binary and PGDATA paths instead of having awkward
command line switches.

If you want to do that, why not write a shell script? That's what they are for.


-
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to