diff --git a/doc/src/sgml/ref/pg_upgrade.sgml b/doc/src/sgml/ref/pg_upgrade.sgml index b90412ec5de33a79137f4cfa68f17a7b42e7d710..1b9c37aa39e6503366a5a4de09eb6c509f92bb79 100644 --- a/doc/src/sgml/ref/pg_upgrade.sgml +++ b/doc/src/sgml/ref/pg_upgrade.sgml @@ -1,5 +1,5 @@ <!-- -$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pg_upgrade.sgml,v 1.16 2002/01/11 04:39:19 momjian Exp $ +$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pg_upgrade.sgml,v 1.17 2002/01/11 06:08:02 momjian Exp $ PostgreSQL documentation --> @@ -54,13 +54,6 @@ pg_upgrade -s <replaceable class="parameter">filename</replaceable> <replaceable </para> </step> - <step performance="required"> - <para> - <command>VACUUM</command> your entire database using - <command>vacuumdb -a</command.> - </para> - </step> - <step performance="required"> <para> Then do: @@ -71,6 +64,13 @@ $ pg_dumpall -s > schema.out </para> </step> + <step performance="required"> + <para> + <command>VACUUM</command> your entire database using + <command>vacuumdb -a</command.> + </para> + </step> + <step performance="required"> <para> Stop the old postmaster and all backends. diff --git a/src/bin/pg_dump/pg_upgrade b/src/bin/pg_dump/pg_upgrade index 6506c963a58671a28620b5807caba6af6c1f991c..0dbb489f8ff28e11328d11b215bbff275ee92160 100755 --- a/src/bin/pg_dump/pg_upgrade +++ b/src/bin/pg_dump/pg_upgrade @@ -3,7 +3,7 @@ # pg_upgrade: update a database without needing a full dump/reload cycle. # CAUTION: Read the manual page before trying to use this! -# $Header: /cvsroot/pgsql/src/bin/pg_dump/Attic/pg_upgrade,v 1.25 2002/01/11 05:54:59 momjian Exp $ +# $Header: /cvsroot/pgsql/src/bin/pg_dump/Attic/pg_upgrade,v 1.26 2002/01/11 06:08:02 momjian Exp $ # # NOTE: we must be sure to update the version-checking code a few dozen lines # below for each new PostgreSQL release. @@ -99,6 +99,7 @@ case "$SRC_VERSION" in esac pg_resetxlog 2>/dev/null +# file not found status is normally 127, not 1 if [ "$?" -ne 1 ] then echo "Unable to find pg_resetxlog in path. Install it from pgsql/contrib/pg_resetxlog and continue.; exiting" 1>&2 @@ -241,13 +242,15 @@ done # Set this so the next VACUUM sets the old row XID's as "frozen" +# Commit status already updated by vacuum above + pg_resetxlog -x "$XID" data if [ "$?" -ne 0 ] then echo "Unable to set new XID.; exiting" 1>&2 exit 1 fi -# set last checkpoint location from old database +# Set last checkpoint location from old database CHKPOINT=`pg_resetxlog -n "$OLDDIR" | grep "checkpoint location:" | awk -F' *' '{print $4}'` @@ -256,6 +259,8 @@ then echo "Unable to get old checkpoint location.; exiting" 1>&2 exit 1 fi +# Set checkpoint location of new database + pg_resetxlog -l `echo "$CHKPOINT | tr '/' ' '` data if [ "$?" -ne 0 ] then echo "Unable to set new checkpoint location.; exiting" 1>&2 @@ -271,6 +276,7 @@ then echo "Unable to restart database server.; exiting" 1>&2 fi # Set sequence values for 7.1-version sequences, which were int4. + if [ "$SRC_VERSION" = "7.1" ] else echo "Set int8 sequence values from 7.1..."