diff options
Diffstat (limited to 'src/bin/scripts/vacuumdb.c')
-rw-r--r-- | src/bin/scripts/vacuumdb.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c index a6bb135e259..c10b58bf0fc 100644 --- a/src/bin/scripts/vacuumdb.c +++ b/src/bin/scripts/vacuumdb.c @@ -540,6 +540,7 @@ vacuum_all_databases(vacuumingOptions *vacopts, { PGconn *conn; PGresult *result; + PQExpBufferData connstr; int stage; int i; @@ -550,6 +551,7 @@ vacuum_all_databases(vacuumingOptions *vacopts, progname, echo); PQfinish(conn); + initPQExpBuffer(&connstr); if (analyze_in_stages) { /* @@ -564,10 +566,11 @@ vacuum_all_databases(vacuumingOptions *vacopts, { for (i = 0; i < PQntuples(result); i++) { - const char *dbname; + resetPQExpBuffer(&connstr); + appendPQExpBuffer(&connstr, "dbname="); + appendConnStrVal(&connstr, PQgetvalue(result, i, 0)); - dbname = PQgetvalue(result, i, 0); - vacuum_one_database(dbname, vacopts, + vacuum_one_database(connstr.data, vacopts, stage, NULL, host, port, username, prompt_password, @@ -580,10 +583,11 @@ vacuum_all_databases(vacuumingOptions *vacopts, { for (i = 0; i < PQntuples(result); i++) { - const char *dbname; + resetPQExpBuffer(&connstr); + appendPQExpBuffer(&connstr, "dbname="); + appendConnStrVal(&connstr, PQgetvalue(result, i, 0)); - dbname = PQgetvalue(result, i, 0); - vacuum_one_database(dbname, vacopts, + vacuum_one_database(connstr.data, vacopts, ANALYZE_NO_STAGE, NULL, host, port, username, prompt_password, @@ -591,6 +595,7 @@ vacuum_all_databases(vacuumingOptions *vacopts, progname, echo, quiet); } } + termPQExpBuffer(&connstr); PQclear(result); } |