From: Bruce Momjian Date: Sun, 13 Jan 2002 04:55:44 +0000 (+0000) Subject: Now tested on 7.2->7.2 migration; still disabled. Need 7.1 testing now. X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=936004024ce642be4886021cdec6e335fdb28069;p=users%2Fbernd%2Fpostgres.git Now tested on 7.2->7.2 migration; still disabled. Need 7.1 testing now. --- diff --git a/src/bin/pg_dump/pg_upgrade b/src/bin/pg_dump/pg_upgrade index b73f9dc72b..8cb15cf908 100755 --- a/src/bin/pg_dump/pg_upgrade +++ b/src/bin/pg_dump/pg_upgrade @@ -13,6 +13,16 @@ # Set this to "Y" to enable this program ENABLE="N" +if [ "$ENABLE" != "Y" ] +then + echo "Sorry, $0 cannot upgrade database +version $SRC_VERSION to $DST_VERSION." 1>&2 + echo "The on-disk structure of tables has changed." 1>&2 + echo "You will need to dump and restore using pg_dumpall." 1>&2 + exit 1 +fi + + # UPGRADE_VERSION is the expected old database version UPGRADE_VERSION="7.1" CUR_VERSION="7.2" @@ -52,7 +62,7 @@ OLDDIR="$INFODIR/data" make_dbobjoidmap() { psql -d template1 -At -c "SELECT datname FROM pg_database" | - grep -v '^template0$' | # template1 OK + grep -v '^template0$' | while read DB do QUERY="`echo \" SELECT relname, oid @@ -78,7 +88,8 @@ make_dbobjoidmap() make_dboidmap() { psql -d template1 -At -F' ' -c \ - 'SELECT datname, oid FROM pg_database;' + 'SELECT datname, oid FROM pg_database;' | + grep -v '^template0$' } @@ -149,24 +160,10 @@ $0 aborted." 1>&2 echo "However, your database is version $SRC_VERSION; $0 aborted." 1>&2 - exit 1 - fi - - # Check that input database is of a compatible version (anything with the same - # physical layout of user tables and indexes should be OK). I did not write - # something like "$SRC_VERSION -ge $UPGRADE_VERSION" because test(1) isn't bright - # enough to compare dotted version strings properly. Using a case statement - # looks uglier but is more flexible. - if [ "$ENABLE" != "Y" ] - then - echo "Sorry, $0 cannot upgrade database -version $SRC_VERSION to $DST_VERSION." 1>&2 - echo "The on-disk structure of tables has changed." 1>&2 echo "You will need to dump and restore using pg_dumpall." 1>&2 exit 1 fi - # Start server, if needed, so we can do some work. if ! pg_ctl status | head -1 | grep -q "is running" then pg_ctl -w start @@ -220,17 +217,18 @@ $0 aborted." 1>&2 if [ "$SRC_VERSION" = "7.1" ] then psql -d template1 -At -c "SELECT datname FROM pg_database" | - grep -v '^template0$' | # template1 OK + grep -v '^template0$' | while read DB - do - echo "\\connect $DB" + do + # We use awk as a portable way to output a backslash + awk 'BEGIN {print "\\connect '"$DB"'"}' psql -d "$DB" -At -c " SELECT relname FROM pg_class WHERE relkind = 'S';" | while read SEQUENCE do - VALUE=`psql -d template1 -At -c "SELECT last_value + VALUE=`psql -d "$DB" -At -c "SELECT last_value FROM \"$SEQUENCE\";"` echo "SELECT setval ('$SEQUENCE', $VALUE, true);" done @@ -263,7 +261,8 @@ $0 aborted." 1>&2 $0 aborted." 1>&2 exit 1 fi - echo "Plase 1 completed. Continue with the steps outlined in the $0 manual page." + echo "Plase 1 completed. +Continue with the steps outlined in the $0 manual page." exit 0 fi @@ -520,6 +519,8 @@ $0 aborted." 1>&2 fi fi +echo +echo echo "You may remove the old database files with 'rm -r pg_upgrade'." exit 0