diff options
author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2015-11-12 18:05:23 -0300 |
---|---|---|
committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2015-11-12 18:05:23 -0300 |
commit | 83dec5a712af251af15effbf781ddaedc3bf6b3b (patch) | |
tree | 5d16c6f8dc40bd37a086f1d76deffd4ca80b758d /src/bin/scripts/createlang.c | |
parent | fe702a7b3f9f2bc5bf6d173166d7d55226af82c8 (diff) | |
download | postgresql-83dec5a712af251af15effbf781ddaedc3bf6b3b.tar.gz postgresql-83dec5a712af251af15effbf781ddaedc3bf6b3b.zip |
vacuumdb: don't prompt for passwords over and over
Having the script prompt for passwords over and over was a preexisting
problem when it processed multiple databases or when it processed
multiple analyze stages, but the parallel mode introduced in commit
a179232047 made it worse.
Fix the annoyance by keeping a copy of the password used by the first
connection that requires one. Since users can (currently) only have a
single password, there's no need for more complex arrangements (such as
remembering one password per database).
Per bug #13741 reported by Eric Brown. Patch authored and
cross-reviewed by Haribabu Kommi and Michael Paquier, slightly tweaked
by Álvaro Herrera.
Discussion: http://www.postgresql.org/message-id/20151027193919.931.54948@wrigleys.postgresql.org
Backpatch to 9.5, where parallel vacuumdb was introduced.
Diffstat (limited to 'src/bin/scripts/createlang.c')
-rw-r--r-- | src/bin/scripts/createlang.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/bin/scripts/createlang.c b/src/bin/scripts/createlang.c index 228215c7387..38cc20d9d4f 100644 --- a/src/bin/scripts/createlang.c +++ b/src/bin/scripts/createlang.c @@ -140,8 +140,8 @@ main(int argc, char *argv[]) printQueryOpt popt; static const bool translate_columns[] = {false, true}; - conn = connectDatabase(dbname, host, port, username, prompt_password, - progname, false); + conn = connectDatabase(dbname, host, port, username, NULL, + prompt_password, progname, false); printfPQExpBuffer(&sql, "SELECT lanname as \"%s\", " "(CASE WHEN lanpltrusted THEN '%s' ELSE '%s' END) as \"%s\" " @@ -180,8 +180,8 @@ main(int argc, char *argv[]) if (*p >= 'A' && *p <= 'Z') *p += ('a' - 'A'); - conn = connectDatabase(dbname, host, port, username, prompt_password, - progname, false); + conn = connectDatabase(dbname, host, port, username, NULL, + prompt_password, progname, false); /* * Make sure the language isn't already installed |