From ba6b87f33010bf8adb46d9bc33df9abd237e51d7 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Mon, 21 Jun 2004 13:36:42 +0000
Subject: [PATCH] Fix pg_dump and pg_dumpall for new names of built-in
 tablespaces, per Chris K-L.

---
 src/bin/pg_dump/pg_dump.c    |  4 ++--
 src/bin/pg_dump/pg_dumpall.c | 16 ++++++++--------
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index c5320177fa3..694a42e3b4a 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -12,7 +12,7 @@
  *	by PostgreSQL
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.375 2004/06/18 06:14:00 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.376 2004/06/21 13:36:41 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -1252,7 +1252,7 @@ dumpDatabase(Archive *AH)
 		appendPQExpBuffer(creaQry, " ENCODING = ");
 		appendStringLiteral(creaQry, encoding, true);
 	}
-	if (strlen(tablespace) > 0 && strcmp(tablespace, "default") != 0)
+	if (strlen(tablespace) > 0 && strcmp(tablespace, "pg_default") != 0)
 	{
 		appendPQExpBuffer(creaQry, " TABLESPACE = %s", fmtId(tablespace));
 	}
diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c
index 3006505172d..4f1270f0843 100644
--- a/src/bin/pg_dump/pg_dumpall.c
+++ b/src/bin/pg_dump/pg_dumpall.c
@@ -6,7 +6,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  *
- * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.42 2004/06/18 06:14:00 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.43 2004/06/21 13:36:42 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -426,14 +426,14 @@ dumpTablespaces(PGconn *conn)
 	printf("--\n-- Tablespaces\n--\n\n");
 
 	/*
-	 * Get all tablespaces except for the system default and global
-	 * tablespaces
+	 * Get all tablespaces except built-in ones (which we assume are named
+	 * pg_xxx)
 	 */
 	res = executeQuery(conn, "SELECT spcname, "
 					   "pg_catalog.pg_get_userbyid(spcowner) AS spcowner, "
 					   "spclocation, spcacl "
 					   "FROM pg_catalog.pg_tablespace "
-					   "WHERE spcname NOT IN ('default', 'global')");
+					   "WHERE spcname NOT LIKE 'pg\\_%'");
 
 	for (i = 0; i < PQntuples(res); i++)
 	{
@@ -511,7 +511,7 @@ dumpCreateDB(PGconn *conn)
 						   "coalesce(usename, (select usename from pg_shadow where usesysid=(select datdba from pg_database where datname='template0'))), "
 						   "pg_encoding_to_char(d.encoding), "
 						   "datistemplate, datacl, "
-						   "'default' AS dattablespace "
+						   "'pg_default' AS dattablespace "
 		"FROM pg_database d LEFT JOIN pg_shadow u ON (datdba = usesysid) "
 						   "WHERE datallowconn ORDER BY 1");
 	else if (server_version >= 70100)
@@ -522,7 +522,7 @@ dumpCreateDB(PGconn *conn)
 						   "(select usename from pg_shadow where usesysid=(select datdba from pg_database where datname='template0'))), "
 						   "pg_encoding_to_char(d.encoding), "
 						   "datistemplate, '' as datacl, "
-						   "'default' AS dattablespace "
+						   "'pg_default' AS dattablespace "
 						   "FROM pg_database d "
 						   "WHERE datallowconn ORDER BY 1");
 	else
@@ -537,7 +537,7 @@ dumpCreateDB(PGconn *conn)
 						   "pg_encoding_to_char(d.encoding), "
 						   "'f' as datistemplate, "
 						   "'' as datacl, "
-						   "'default' AS dattablespace "
+						   "'pg_default' AS dattablespace "
 						   "FROM pg_database d "
 						   "ORDER BY 1");
 	}
@@ -576,7 +576,7 @@ dumpCreateDB(PGconn *conn)
 		appendStringLiteral(buf, dbencoding, true);
 
 		/* Output tablespace if it isn't default */
-		if (strcmp(dbtablespace, "default") != 0)
+		if (strcmp(dbtablespace, "pg_default") != 0)
 			appendPQExpBuffer(buf, " TABLESPACE = %s",
 							  fmtId(dbtablespace));
 
-- 
GitLab