diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-12-21 22:45:09 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-12-21 22:45:09 +0000 |
commit | b222867534ab1d200d7268f877fdebade452bbb6 (patch) | |
tree | 4007c3834e3e9530f29ee30a1dd62568528c52a6 /src | |
parent | f1f597860351ade0ccab9620c422e37a5bb70458 (diff) | |
download | postgresql-b222867534ab1d200d7268f877fdebade452bbb6.tar.gz postgresql-b222867534ab1d200d7268f877fdebade452bbb6.zip |
pg_dump should consider information_schema to be a system schema.
Also, tweak -C option (emit CREATE DATABASE command) to emit encoding
name rather than encoding number, for consistency with pg_dumpall
and better cross-version portability.
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/pg_dump/pg_dump.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index e91ab42561c..e5570fa6d1d 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -12,7 +12,7 @@ * by PostgreSQL * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.311 2002/12/12 21:03:24 tgl Exp $ + * $Header: /cvsroot/pgsql/src/bin/pg_dump/pg_dump.c,v 1.312 2002/12/21 22:45:09 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -762,7 +762,8 @@ selectDumpableNamespace(NamespaceInfo *nsinfo) */ if (selectTablename != NULL) nsinfo->dump = false; - else if (strncmp(nsinfo->nspname, "pg_", 3) == 0) + else if (strncmp(nsinfo->nspname, "pg_", 3) == 0 || + strcmp(nsinfo->nspname, "information_schema") == 0) nsinfo->dump = false; else nsinfo->dump = true; @@ -1219,7 +1220,8 @@ dumpDatabase(Archive *AH) /* Get the database owner and parameters from pg_database */ appendPQExpBuffer(dbQry, "select (select usename from pg_user where usesysid = datdba) as dba," - " encoding, datpath from pg_database" + " pg_encoding_to_char(encoding) as encoding," + " datpath from pg_database" " where datname = "); appendStringLiteral(dbQry, datname, true); @@ -1258,10 +1260,16 @@ dumpDatabase(Archive *AH) appendPQExpBuffer(creaQry, "CREATE DATABASE %s WITH TEMPLATE = template0", fmtId(datname)); - if (strlen(encoding) > 0) - appendPQExpBuffer(creaQry, " ENCODING = %s", encoding); if (strlen(datpath) > 0) - appendPQExpBuffer(creaQry, " LOCATION = '%s'", datpath); + { + appendPQExpBuffer(creaQry, " LOCATION = "); + appendStringLiteral(creaQry, datpath, true); + } + if (strlen(encoding) > 0) + { + appendPQExpBuffer(creaQry, " ENCODING = "); + appendStringLiteral(creaQry, encoding, true); + } appendPQExpBuffer(creaQry, ";\n"); appendPQExpBuffer(delQry, "DROP DATABASE %s;\n", |