]> granicus.if.org Git - postgresql/commitdiff
Document issues with non-default tablespaces and pg_dumpall restores.
authorBruce Momjian <bruce@momjian.us>
Fri, 16 Jun 2006 22:01:17 +0000 (22:01 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 16 Jun 2006 22:01:17 +0000 (22:01 +0000)
Backpatch documentation addition to 8.1.X.

doc/src/sgml/ref/pg_dumpall.sgml
src/bin/pg_dump/pg_dumpall.c

index 6cf1c0d538c8665b281f05cf1aaf7c7e48e3cf9d..e6de1ea64e5f80d3ad6031d793f3b0c9834db1a5 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.55 2005/11/01 21:09:50 tgl Exp $
+$PostgreSQL: pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.56 2006/06/16 22:01:17 momjian Exp $
 PostgreSQL documentation
 -->
 
@@ -377,6 +377,13 @@ PostgreSQL documentation
    databases.
   </para>
 
+  <para>
+   <application>pg_dumpall</application> requires all needed
+   tablespace directories to exist before the restore or
+   database creation will fail for databases in non-default
+   locations.
+  </para>
+
  </refsect1>
 
 
index ecbd15f28c447b036d09c7d175608289f9b56526..b49766507e2238d4f9d13d5f21c8df4c3367ac9c 100644 (file)
@@ -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.79 2006/06/07 22:24:45 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.80 2006/06/16 22:01:17 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -888,7 +888,15 @@ dumpCreateDB(PGconn *conn)
                        appendPQExpBuffer(buf, " ENCODING = ");
                        appendStringLiteralConn(buf, dbencoding, conn);
 
-                       /* Output tablespace if it isn't default */
+                       /*
+                        *      Output tablespace if it isn't the default.  For default, it
+                        *      uses the default from the template database.  If tablespace
+                        *      is specified and tablespace creation failed earlier,
+                        *      (e.g. no such directory), the database creation will fail
+                        *      too.  One solution would be to use 'SET default_tablespace'
+                        *      like we do in pg_dump for setting non-default database
+                        *      locations.
+                        */
                        if (strcmp(dbtablespace, "pg_default") != 0)
                                appendPQExpBuffer(buf, " TABLESPACE = %s",
                                                                  fmtId(dbtablespace));