On Fri, 2009-06-05 at 15:50 -0400, Bruce Momjian wrote:
> Brad Nicholson wrote:
> > I've been kicking the tires on this a bit, and I've found an issue when
> > dealing with contrib/ (specifically dblink, although I haven't looked
> > around anymore).
> >
> > dblink_current_query() is not in the 8.4 version - when I run
> > pg_migrator on an 8.3 cluster that has dblink installed, I get the
> > following:
> >
> > Restoring database schema
> > psql:/home/postgres/pg_migrator_dump_db.sql:271: ERROR: could not find
> > function "dblink_current_query" in file
> > "/opt/dbs/pgsql84-beta2/lib/dblink.so"
> >
> > There were problems executing "/opt/dbs/pgsql84-beta2/bin/psql" --set
> > ON_ERROR_STOP=on --port 5432 -f "/home/postgres/pg_migrator_dump_db.sql"
> > --dbname template1 >> "/dev/null"
>
> Yep, pg_migrator will exit on any restore error. This really relates to
> the problem of how we handle /contrib schema migration from one
> release to the other. Good thing you posted to hackers because that is
> really the group that can address this. pg_migrator is really just
> restoring the schema that pg_dump is producing.
>
> > pg_migrator exits leaving me with a corrupted 8.3 instance.
>
> When you say "corrupted", I assume you mean you have remove the _old
> suffixes to restart your 8.3 instance, right? I hope that is the only
> corruption issue --- please confirm.
Unfortunately no - when I try and start the old version, I get:
pg_ctl -D pgsql83/ start
postgres: could not find the database system
Expected to find it in the directory "/opt/DATA/pgsql83",
but could not open file "/opt/DATA/pgsql83/global/pg_control": No such
file or directory
I am specifying both new and old paths to pg_migrator, as I don't have
my data directories in standard locations.
Test case is pretty straight forward.
Create an 8.3 instance
Add dblink
follow through the pg_migrator upgrade path
try and start your 8.3 instance after the failure
--
Brad Nicholson 416-673-4106
Database Administrator, Afilias Canada Corp.