diff options
Diffstat (limited to 'src/bin')
-rw-r--r-- | src/bin/pg_dump/pg_backup_archiver.c | 1 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_dump.c | 1 | ||||
-rw-r--r-- | src/bin/pg_dump/pg_dumpall.c | 1 | ||||
-rw-r--r-- | src/bin/psql/command.c | 3 | ||||
-rw-r--r-- | src/bin/scripts/common.c | 5 | ||||
-rw-r--r-- | src/bin/scripts/createdb.c | 2 | ||||
-rw-r--r-- | src/bin/scripts/createuser.c | 2 | ||||
-rw-r--r-- | src/bin/scripts/dropdb.c | 13 | ||||
-rw-r--r-- | src/bin/scripts/dropuser.c | 3 | ||||
-rw-r--r-- | src/bin/scripts/reindexdb.c | 11 | ||||
-rw-r--r-- | src/bin/scripts/vacuumdb.c | 5 |
11 files changed, 31 insertions, 16 deletions
diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c index bef37dd2b70..6d4a610d191 100644 --- a/src/bin/pg_dump/pg_backup_archiver.c +++ b/src/bin/pg_dump/pg_backup_archiver.c @@ -2716,6 +2716,7 @@ processEncodingEntry(ArchiveHandle *AH, TocEntry *te) fatal("unrecognized encoding \"%s\"", ptr1); AH->public.encoding = encoding; + setFmtEncoding(encoding); } else fatal("invalid ENCODING item: %s", diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 5a45819e67a..7d83dda2124 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -1126,6 +1126,7 @@ setup_connection(Archive *AH, const char *dumpencoding, * we know how to escape strings. */ AH->encoding = PQclientEncoding(conn); + setFmtEncoding(AH->encoding); std_strings = PQparameterStatus(conn, "standard_conforming_strings"); AH->std_strings = (std_strings && strcmp(std_strings, "on") == 0); diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index cc96caa0309..9ab05f74cc2 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -512,6 +512,7 @@ main(int argc, char *argv[]) * we know how to escape strings. */ encoding = PQclientEncoding(conn); + setFmtEncoding(encoding); std_strings = PQparameterStatus(conn, "standard_conforming_strings"); if (!std_strings) std_strings = "off"; diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index d403e2a283d..1a25ed7e083 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -1280,6 +1280,7 @@ exec_command_encoding(PsqlScanState scan_state, bool active_branch) /* save encoding info into psql internal data */ pset.encoding = PQclientEncoding(pset.db); pset.popt.topt.encoding = pset.encoding; + setFmtEncoding(pset.encoding); SetVariable(pset.vars, "ENCODING", pg_encoding_to_char(pset.encoding)); } @@ -3669,6 +3670,8 @@ SyncVariables(void) pset.popt.topt.encoding = pset.encoding; pset.sversion = PQserverVersion(pset.db); + setFmtEncoding(pset.encoding); + SetVariable(pset.vars, "DBNAME", PQdb(pset.db)); SetVariable(pset.vars, "USER", PQuser(pset.db)); SetVariable(pset.vars, "HOST", PQhost(pset.db)); diff --git a/src/bin/scripts/common.c b/src/bin/scripts/common.c index 79cdc6cf330..0ec822f7e5c 100644 --- a/src/bin/scripts/common.c +++ b/src/bin/scripts/common.c @@ -112,8 +112,9 @@ appendQualifiedRelation(PQExpBuffer buf, const char *spec, exit(1); } appendPQExpBufferStr(buf, - fmtQualifiedId(PQgetvalue(res, 0, 1), - PQgetvalue(res, 0, 0))); + fmtQualifiedIdEnc(PQgetvalue(res, 0, 1), + PQgetvalue(res, 0, 0), + PQclientEncoding(conn))); appendPQExpBufferStr(buf, columns); PQclear(res); termPQExpBuffer(&sql); diff --git a/src/bin/scripts/createdb.c b/src/bin/scripts/createdb.c index 041454f075f..56cad2c9281 100644 --- a/src/bin/scripts/createdb.c +++ b/src/bin/scripts/createdb.c @@ -191,6 +191,8 @@ main(int argc, char *argv[]) conn = connectMaintenanceDatabase(&cparams, progname, echo); + setFmtEncoding(PQclientEncoding(conn)); + initPQExpBuffer(&sql); appendPQExpBuffer(&sql, "CREATE DATABASE %s", diff --git a/src/bin/scripts/createuser.c b/src/bin/scripts/createuser.c index ef7e0e549fb..33a378ab7d6 100644 --- a/src/bin/scripts/createuser.c +++ b/src/bin/scripts/createuser.c @@ -263,6 +263,8 @@ main(int argc, char *argv[]) conn = connectMaintenanceDatabase(&cparams, progname, echo); + setFmtEncoding(PQclientEncoding(conn)); + initPQExpBuffer(&sql); printfPQExpBuffer(&sql, "CREATE ROLE %s", fmtId(newuser)); diff --git a/src/bin/scripts/dropdb.c b/src/bin/scripts/dropdb.c index b154ed1bb6d..1d1756ab9bb 100644 --- a/src/bin/scripts/dropdb.c +++ b/src/bin/scripts/dropdb.c @@ -128,13 +128,6 @@ main(int argc, char *argv[]) exit(0); } - initPQExpBuffer(&sql); - - appendPQExpBuffer(&sql, "DROP DATABASE %s%s%s;", - (if_exists ? "IF EXISTS " : ""), - fmtId(dbname), - force ? " WITH (FORCE)" : ""); - /* Avoid trying to drop postgres db while we are connected to it. */ if (maintenance_db == NULL && strcmp(dbname, "postgres") == 0) maintenance_db = "template1"; @@ -148,6 +141,12 @@ main(int argc, char *argv[]) conn = connectMaintenanceDatabase(&cparams, progname, echo); + initPQExpBuffer(&sql); + appendPQExpBuffer(&sql, "DROP DATABASE %s%s%s;", + (if_exists ? "IF EXISTS " : ""), + fmtIdEnc(dbname, PQclientEncoding(conn)), + force ? " WITH (FORCE)" : ""); + if (echo) printf("%s\n", sql.data); result = PQexec(conn, sql.data); diff --git a/src/bin/scripts/dropuser.c b/src/bin/scripts/dropuser.c index 61b8557bc7e..bc13bf3028d 100644 --- a/src/bin/scripts/dropuser.c +++ b/src/bin/scripts/dropuser.c @@ -142,7 +142,8 @@ main(int argc, char *argv[]) initPQExpBuffer(&sql); appendPQExpBuffer(&sql, "DROP ROLE %s%s;", - (if_exists ? "IF EXISTS " : ""), fmtId(dropuser)); + (if_exists ? "IF EXISTS " : ""), + fmtIdEnc(dropuser, PQclientEncoding(conn))); if (echo) printf("%s\n", sql.data); diff --git a/src/bin/scripts/reindexdb.c b/src/bin/scripts/reindexdb.c index db1d7f07fc0..3a3461af084 100644 --- a/src/bin/scripts/reindexdb.c +++ b/src/bin/scripts/reindexdb.c @@ -533,7 +533,8 @@ run_reindex_command(PGconn *conn, ReindexType type, const char *name, if (tablespace) { - appendPQExpBuffer(&sql, "%sTABLESPACE %s", sep, fmtId(tablespace)); + appendPQExpBuffer(&sql, "%sTABLESPACE %s", sep, + fmtIdEnc(tablespace, PQclientEncoding(conn))); sep = comma; } @@ -573,7 +574,8 @@ run_reindex_command(PGconn *conn, ReindexType type, const char *name, { case REINDEX_DATABASE: case REINDEX_SYSTEM: - appendPQExpBufferStr(&sql, fmtId(name)); + appendPQExpBufferStr(&sql, + fmtIdEnc(name, PQclientEncoding(conn))); break; case REINDEX_INDEX: case REINDEX_TABLE: @@ -743,8 +745,9 @@ get_parallel_object_list(PGconn *conn, ReindexType type, for (i = 0; i < ntups; i++) { appendPQExpBufferStr(&buf, - fmtQualifiedId(PQgetvalue(res, i, 1), - PQgetvalue(res, i, 0))); + fmtQualifiedIdEnc(PQgetvalue(res, i, 1), + PQgetvalue(res, i, 0), + PQclientEncoding(conn))); simple_string_list_append(tables, buf.data); resetPQExpBuffer(&buf); diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c index d6f36bbed26..bf86fe9dbc9 100644 --- a/src/bin/scripts/vacuumdb.c +++ b/src/bin/scripts/vacuumdb.c @@ -701,8 +701,9 @@ vacuum_one_database(ConnParams *cparams, for (i = 0; i < ntups; i++) { appendPQExpBufferStr(&buf, - fmtQualifiedId(PQgetvalue(res, i, 1), - PQgetvalue(res, i, 0))); + fmtQualifiedIdEnc(PQgetvalue(res, i, 1), + PQgetvalue(res, i, 0), + PQclientEncoding(conn))); if (tables_listed && !PQgetisnull(res, i, 2)) appendPQExpBufferStr(&buf, PQgetvalue(res, i, 2)); |