<!--
-$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
-->
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>
* 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 $
*
*-------------------------------------------------------------------------
*/
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));