]> granicus.if.org Git - postgresql/commitdiff
Add a VACUUM command in hopes of making pg_upgrade usable again
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 2 Aug 1999 22:34:53 +0000 (22:34 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 2 Aug 1999 22:34:53 +0000 (22:34 +0000)
in MVCC environment.  I do not trust this until Vadim says it's OK...

src/bin/pg_dump/pg_upgrade

index ef88b0eb185d6804f9ff556419a93662370d70f2..c58b2b0ad87fd73dd4630ba4fb8d9f18e554d05e 100755 (executable)
@@ -3,6 +3,8 @@
 # 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.11 1999/08/02 22:34:53 tgl Exp $
+#
 # NOTE: we must be sure to update the version-checking code a few dozen lines
 # below for each new PostgreSQL release.
 
@@ -109,8 +111,15 @@ cat $INPUT | awk ' {
                                                ;
                                else    print $0;
                        }' >/tmp/$$
-#create empty tables/indexes
+
+# Add a VACUUM command to the end of the pg_dump script.  With MVCC,
+# this is necessary to ensure that all the rows in the new database's
+# system tables will still be considered committed after we overwrite
+# pg_log with the old database's commit log...
+
+echo "VACUUM;" >>/tmp/$$
+
+# Create and vacuum empty tables/indexes
 
 psql "template1" <"/tmp/$$"