Document issues with non-default tablespaces and pg_dumpall restores.

Backpatch documentation addition to 8.1.X.
This commit is contained in:
Bruce Momjian 2006-06-16 22:01:17 +00:00
parent b055f00ebb
commit 4fff9d7290
2 changed files with 18 additions and 3 deletions

View 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>

View 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));