From 209772350b69f816e291b14b072f6e3862a0b4e0 Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Sat, 1 Dec 2012 09:57:55 -0500
Subject: [PATCH] Remove pg_restore's --single-transaction option, as it throws
 errors in certain cases.

---
 contrib/pg_upgrade/pg_upgrade.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/contrib/pg_upgrade/pg_upgrade.c b/contrib/pg_upgrade/pg_upgrade.c
index c12f15b875b..3f222821589 100644
--- a/contrib/pg_upgrade/pg_upgrade.c
+++ b/contrib/pg_upgrade/pg_upgrade.c
@@ -309,11 +309,12 @@ create_new_objects(void)
 
 		/*
 		 *	Using pg_restore --single-transaction is faster than other
-		 *	methods, like --jobs.  pg_dump only produces its output at the
+		 *	methods, like --jobs.  However, --single-transaction throws
+		 *	an error.  pg_dump only produces its output at the
 		 *	end, so there is little parallelism using the pipe.
 		 */
 		exec_prog(RESTORE_LOG_FILE, NULL, true,
-				  "\"%s/pg_restore\" %s --exit-on-error --single-transaction --verbose --dbname \"%s\" \"%s\"",
+				  "\"%s/pg_restore\" %s --exit-on-error --verbose --dbname \"%s\" \"%s\"",
 				  new_cluster.bindir, cluster_conn_opts(&new_cluster),
 				  old_db->db_name, file_name);
 	}
-- 
GitLab