diff --git a/src/bin/pg_dump/pg_upgrade b/src/bin/pg_dump/pg_upgrade
index 06cf8e3411b7a9d298bb887fa8bcc9762ec18f69..f9f062520a60b8c74f1a099efa8ca3644fd85071 100755
--- a/src/bin/pg_dump/pg_upgrade
+++ b/src/bin/pg_dump/pg_upgrade
@@ -2,7 +2,7 @@
 trap "rm -f /tmp/$$" 0 1 2 3 15
 
 if [ "$#" -eq 0 ]
-then	echo "Usage:  $0 [-f inputfile] old_data_dir database" 1>&2
+then	echo "Usage:  $0 [-f inputfile] old_data_dir" 1>&2
 	exit 1
 fi
 
@@ -16,13 +16,12 @@ then	INPUT="$2"
 else	INPUT=""
 fi
 
-if [ "$#" -ne 2 ]
-then	echo "Usage:  $0 [-f input_file] old_data_dir database" 1>&2
+if [ "$#" -ne 1 ]
+then	echo "Usage:  $0 [-f inputfile] old_data_dir" 1>&2
 	exit 1
 fi
 
 OLDDIR="$1"
-DATABASE="$2"
 
 # check things
 
@@ -36,8 +35,8 @@ then	echo "You must rename your old /data directory to /$OLDDIR and run initdb."
 	exit 1
 fi
 
-if [ ! -d "./$OLDDIR/data/base/$DATABASE" ]
-then	echo "There is not database $DATABASE in ./$OLDDIR/data/base." 1>&2
+if [ ! -d "./$OLDDIR/base/template1" ]
+then	echo "There is not database template1 in ./$OLDDIR/base." 1>&2
 	exit 1
 fi
 
@@ -53,17 +52,12 @@ fi
 
 # do I need to create a database?
 
-if [ "$DATABASE" != "template1" ]
-then	echo "Dropping and recreating database $DATABASE." 1>&2
-	destroydb "$DATABASE" >/dev/null 2>&1
-	createdb "$DATABASE"
-fi
-
-# remove any COPY statements, preserve pgdump_oid setting from pg_dumpall
+# remove any COPY statements
+# we don't even need pgdump_oid because we are moving pg_variable
+# then shouldn't be in there anyway
 
 cat $INPUT | awk '	{
-				if (toupper($0) ~ /^COPY / &&
-				    toupper($0) !~ /^COPY[ 	]*PGDUMP_OID/ )
+				if (toupper($0) ~ /^COPY /)
 					while (getline $0 > 0 && $0 != "\\.")
 						;
 				else	print $0;
@@ -71,16 +65,14 @@ cat $INPUT | awk '	{
  
 #create empty tables/indexes
 
-psql "$DATABASE" <"/tmp/$$"
-set -x
+psql "template1" <"/tmp/$$"
 
 for DIR in data/base/*
 do
 	BASEDIR="`basename $DIR`"
 	if [ -d "$DIR" -a \
-	     -d "$OLDDIR/$DIR" -a \
-		\( "$DATABASE" = "$BASEDIR" -o "$DATABASE" = "template1" \) ]
-	then	for FILE in $OLDDIR/$DIR/*
+	     -d "$OLDDIR/base/$BASEDIR" -a \( "$BASEDIR" != "template1" \) ]
+	then	for FILE in $OLDDIR/base/$BASEDIR/*
 		do
 			BASEFILE="`basename $FILE`"
 			if [ `expr "$BASEFILE" : "pg_"` -ne 3 -a \
@@ -91,4 +83,7 @@ do
 	fi
 done
 
+mv $OLDDIR/pg_log data
+mv $OLDDIR/pg_variable data
+
 echo "You may removed the $OLDDIR directory with 'rm -r $OLDDIR'."
diff --git a/src/man/pg_upgrade.1 b/src/man/pg_upgrade.1
index e249e11747459cc51671caaf87584d6643c2e190..75c48d096defb8cb4253e69415a31b3e433040db 100644
--- a/src/man/pg_upgrade.1
+++ b/src/man/pg_upgrade.1
@@ -1,12 +1,12 @@
 .\" This is -*-nroff-*-
 .\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/pg_upgrade.1,v 1.3 1998/08/30 13:14:00 momjian Exp $
+.\" $Header: /cvsroot/pgsql/src/man/Attic/pg_upgrade.1,v 1.4 1998/08/31 04:32:18 momjian Exp $
 .TH pg_upgrade UNIX 1/20/96 PostgreSQL PostgreSQL
 .SH NAME
 pg_upgrade - allows upgrade from a previous release without reloading data
 .SH SYNOPSIS
 .BR pg_upgrade 
-[-f input_file] old_data_dir database
+[-f input_file] old_data_dir
 .SH DESCRIPTION
 .IR "pg_upgrade"
 is a utility for upgrading from a previous PostgreSQL release
@@ -15,27 +15,28 @@ First, to be safe, back up your data directory.
 Then, use:
 .nf
 
-	pg_dumpall -s -o >db.out
+	pg_dumpall -s >db.out
 
 .fi
-to dump out your old database definitions without data,
-while perserving the max system oid.
+to dump out your old database definitions without any data.
+Stop the postmaster and all backends.
 .PP
 Then rename (using
 .IR mv )
 your old pgsql /data directory to /data.old and do a
 .IR "make install"
 to install the new binaries.
-Then run
+Run
 .IR initdb
 to create a new
 .IR template1
 database containing the system tables for the new release.
+Start the new postmaster,
 .IR cd
 to the pgsql main directory, and type:
 .nf
 
-	pg_upgrade -f db.out data.old template1
+	pg_upgrade -f db.out data.old
 
 .fi
 The system will do some checking to make sure everything is properly
@@ -45,13 +46,9 @@ script to create all the databases and tables you had, but with no data.
 It will then move the data files from /data.old into the proper
 .IR /data
 directory.
-You can then start the
-.IR postmaster
-and check out the data.
+You can then check out the data.
 You can delete the
 .IR /data.old
 directory when you are finished.
-.PP
-It can also be used for individual databases. 
 .SH "SEE ALSO"
 pg_dumpall(1).