aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-09-08 10:48:03 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2016-09-08 10:48:03 -0400
commite97e9c57bd22b2dfbfaf41f7d5c69789f7fad554 (patch)
treee9924284cdc5e58c37a54d4dc21717973b1e44a7 /src
parent67c6bd1ca3ce75778138bf4713444a5a6b46032e (diff)
downloadpostgresql-e97e9c57bd22b2dfbfaf41f7d5c69789f7fad554.tar.gz
postgresql-e97e9c57bd22b2dfbfaf41f7d5c69789f7fad554.zip
Don't print database's tablespace in pg_dump -C --no-tablespaces output.
If the database has a non-default tablespace, we emitted a TABLESPACE clause in the CREATE DATABASE command emitted by -C, even if --no-tablespaces was also specified. This seems wrong, and it's inconsistent with what pg_dumpall does, so change it. Per bug #14315 from Danylo Hlynskyi. Back-patch to 9.5. The bug is much older, but it'd be a more invasive change before 9.5 because dumpDatabase() hasn't got an easy way to get to the outputNoTablespaces flag. Doesn't seem worth the work given the lack of previous complaints. Report: <20160908081953.1402.75347@wrigleys.postgresql.org>
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_dump/pg_dump.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index a5c2d09e294..165200f0fc4 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -2552,7 +2552,8 @@ dumpDatabase(Archive *fout)
appendPQExpBufferStr(creaQry, " LC_CTYPE = ");
appendStringLiteralAH(creaQry, ctype, fout);
}
- if (strlen(tablespace) > 0 && strcmp(tablespace, "pg_default") != 0)
+ if (strlen(tablespace) > 0 && strcmp(tablespace, "pg_default") != 0 &&
+ !dopt->outputNoTablespaces)
appendPQExpBuffer(creaQry, " TABLESPACE = %s",
fmtId(tablespace));
appendPQExpBufferStr(creaQry, ";\n");