diff --git a/contrib/pg_upgrade/pg_upgrade.c b/contrib/pg_upgrade/pg_upgrade.c
new file mode 100644
index e329dc3..abd3d5f
*** a/contrib/pg_upgrade/pg_upgrade.c
--- b/contrib/pg_upgrade/pg_upgrade.c
*************** prepare_new_cluster(void)
*** 193,200 ****
  	prep_status("Analyzing all rows in the new cluster");
  	exec_prog(true,
  			  SYSTEMQUOTE "\"%s/vacuumdb\" --port %d --username \"%s\" "
! 			  "--all --analyze >> %s 2>&1" SYSTEMQUOTE,
! 	  new_cluster.bindir, new_cluster.port, os_info.user, log_opts.filename);
  	check_ok();
  
  	/*
--- 193,206 ----
  	prep_status("Analyzing all rows in the new cluster");
  	exec_prog(true,
  			  SYSTEMQUOTE "\"%s/vacuumdb\" --port %d --username \"%s\" "
! 			  "--all --analyze >> \"%s\" 2>&1" SYSTEMQUOTE,
! 	  new_cluster.bindir, new_cluster.port, os_info.user,
! #ifndef WIN32
! 	  log_opts.filename
! #else
! 	  DEVNULL
! #endif
! 	  );
  	check_ok();
  
  	/*
*************** prepare_new_cluster(void)
*** 206,213 ****
  	prep_status("Freezing all rows on the new cluster");
  	exec_prog(true,
  			  SYSTEMQUOTE "\"%s/vacuumdb\" --port %d --username \"%s\" "
! 			  "--all --freeze >> %s 2>&1" SYSTEMQUOTE,
! 	  new_cluster.bindir, new_cluster.port, os_info.user, log_opts.filename);
  	check_ok();
  
  	get_pg_database_relfilenode(&new_cluster);
--- 212,225 ----
  	prep_status("Freezing all rows on the new cluster");
  	exec_prog(true,
  			  SYSTEMQUOTE "\"%s/vacuumdb\" --port %d --username \"%s\" "
! 			  "--all --freeze >> \"%s\" 2>&1" SYSTEMQUOTE,
! 	  new_cluster.bindir, new_cluster.port, os_info.user,
! #ifndef WIN32
! 	  log_opts.filename
! #else
! 	  DEVNULL
! #endif
! 	  );
  	check_ok();
  
  	get_pg_database_relfilenode(&new_cluster);
*************** prepare_new_databases(void)
*** 245,251 ****
  			  "--no-psqlrc --port %d --username \"%s\" "
  			  "-f \"%s/%s\" --dbname template1 >> \"%s\"" SYSTEMQUOTE,
  			  new_cluster.bindir, new_cluster.port, os_info.user, os_info.cwd,
! 			  GLOBALS_DUMP_FILE, log_opts.filename);
  	check_ok();
  
  	/* we load this to get a current list of databases */
--- 257,269 ----
  			  "--no-psqlrc --port %d --username \"%s\" "
  			  "-f \"%s/%s\" --dbname template1 >> \"%s\"" SYSTEMQUOTE,
  			  new_cluster.bindir, new_cluster.port, os_info.user, os_info.cwd,
! 			  GLOBALS_DUMP_FILE,
! #ifndef WIN32
! 			  log_opts.filename
! #else
! 			  DEVNULL
! #endif
! 			  );
  	check_ok();
  
  	/* we load this to get a current list of databases */
*************** create_new_objects(void)
*** 276,282 ****
  			  "--no-psqlrc --port %d --username \"%s\" "
  			  "-f \"%s/%s\" --dbname template1 >> \"%s\"" SYSTEMQUOTE,
  			  new_cluster.bindir, new_cluster.port, os_info.user, os_info.cwd,
! 			  DB_DUMP_FILE, log_opts.filename);
  	check_ok();
  
  	/* regenerate now that we have objects in the databases */
--- 294,306 ----
  			  "--no-psqlrc --port %d --username \"%s\" "
  			  "-f \"%s/%s\" --dbname template1 >> \"%s\"" SYSTEMQUOTE,
  			  new_cluster.bindir, new_cluster.port, os_info.user, os_info.cwd,
! 			  DB_DUMP_FILE,
! #ifndef WIN32
! 			  log_opts.filename
! #else
! 			  DEVNULL
! #endif
! 			  );
  	check_ok();
  
  	/* regenerate now that we have objects in the databases */
*************** copy_clog_xlog_xid(void)
*** 324,330 ****
  	exec_prog(true, SYSTEMQUOTE "\"%s/pg_resetxlog\" -l %u,%u,%u \"%s\" >> \"%s\" 2>&1" SYSTEMQUOTE,
  			  new_cluster.bindir, old_cluster.controldata.chkpnt_tli,
  			old_cluster.controldata.logid, old_cluster.controldata.nxtlogseg,
! 			  new_cluster.pgdata, log_opts.filename);
  	check_ok();
  }
  
--- 348,360 ----
  	exec_prog(true, SYSTEMQUOTE "\"%s/pg_resetxlog\" -l %u,%u,%u \"%s\" >> \"%s\" 2>&1" SYSTEMQUOTE,
  			  new_cluster.bindir, old_cluster.controldata.chkpnt_tli,
  			old_cluster.controldata.logid, old_cluster.controldata.nxtlogseg,
! 			  new_cluster.pgdata,
! #ifndef WIN32
! 			  log_opts.filename
! #else
! 			  DEVNULL
! #endif
! 			  );
  	check_ok();
  }
  
diff --git a/contrib/pg_upgrade/server.c b/contrib/pg_upgrade/server.c
new file mode 100644
index 58c1234..e86540b
*** a/contrib/pg_upgrade/server.c
--- b/contrib/pg_upgrade/server.c
*************** start_postmaster(ClusterInfo *cluster)
*** 184,190 ****
  			 (cluster->controldata.cat_ver >=
  			  BINARY_UPGRADE_SERVER_FLAG_CAT_VER) ? "-b" :
  			 "-c autovacuum=off -c autovacuum_freeze_max_age=2000000000",
! 			 log_opts.filename);
  
  	/*
  	 * Don't throw an error right away, let connecting throw the error because
--- 184,190 ----
  			 (cluster->controldata.cat_ver >=
  			  BINARY_UPGRADE_SERVER_FLAG_CAT_VER) ? "-b" :
  			 "-c autovacuum=off -c autovacuum_freeze_max_age=2000000000",
! 			 output_filename);
  
  	/*
  	 * Don't throw an error right away, let connecting throw the error because
