diff options
author | Peter Eisentraut | 2009-02-26 16:02:39 +0000 |
---|---|---|
committer | Peter Eisentraut | 2009-02-26 16:02:39 +0000 |
commit | 9de59fd191dc86e7a49a5d7726ef09041549fc88 (patch) | |
tree | 9edc44560aa7beca92b7bc6c8e889c78655172c0 /src/bin/scripts/dropuser.c | |
parent | eea49769d415b00ea36e2ee64774cb4d1313d991 (diff) |
Add a -w/--no-password option that prevents all password prompts to all
programs that have a -W/--password option.
In passing, remove the ancient PSQL_ALWAYS_GET_PASSWORDS compile option.
Diffstat (limited to 'src/bin/scripts/dropuser.c')
-rw-r--r-- | src/bin/scripts/dropuser.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/bin/scripts/dropuser.c b/src/bin/scripts/dropuser.c index a5087afcf05..be2e2ceda6a 100644 --- a/src/bin/scripts/dropuser.c +++ b/src/bin/scripts/dropuser.c @@ -5,7 +5,7 @@ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/bin/scripts/dropuser.c,v 1.26 2009/02/25 13:03:07 petere Exp $ + * $PostgreSQL: pgsql/src/bin/scripts/dropuser.c,v 1.27 2009/02/26 16:02:39 petere Exp $ * *------------------------------------------------------------------------- */ @@ -25,6 +25,7 @@ main(int argc, char *argv[]) {"host", required_argument, NULL, 'h'}, {"port", required_argument, NULL, 'p'}, {"username", required_argument, NULL, 'U'}, + {"no-password", no_argument, NULL, 'w'}, {"password", no_argument, NULL, 'W'}, {"echo", no_argument, NULL, 'e'}, {"quiet", no_argument, NULL, 'q'}, @@ -40,7 +41,7 @@ main(int argc, char *argv[]) char *host = NULL; char *port = NULL; char *username = NULL; - bool password = false; + enum trivalue prompt_password = TRI_DEFAULT; bool echo = false; bool interactive = false; @@ -54,7 +55,7 @@ main(int argc, char *argv[]) handle_help_version_opts(argc, argv, "dropuser", help); - while ((c = getopt_long(argc, argv, "h:p:U:Weqi", long_options, &optindex)) != -1) + while ((c = getopt_long(argc, argv, "h:p:U:wWeqi", long_options, &optindex)) != -1) { switch (c) { @@ -67,8 +68,11 @@ main(int argc, char *argv[]) case 'U': username = optarg; break; + case 'w': + prompt_password = TRI_NO; + break; case 'W': - password = true; + prompt_password = TRI_YES; break; case 'e': echo = true; @@ -112,7 +116,7 @@ main(int argc, char *argv[]) initPQExpBuffer(&sql); appendPQExpBuffer(&sql, "DROP ROLE %s;\n", fmtId(dropuser)); - conn = connectDatabase("postgres", host, port, username, password, progname); + conn = connectDatabase("postgres", host, port, username, prompt_password, progname); if (echo) printf("%s", sql.data); @@ -147,6 +151,7 @@ help(const char *progname) printf(_(" -h, --host=HOSTNAME database server host or socket directory\n")); printf(_(" -p, --port=PORT database server port\n")); printf(_(" -U, --username=USERNAME user name to connect as (not the one to drop)\n")); + printf(_(" -w, --no-password never prompt for password\n")); printf(_(" -W, --password force password prompt\n")); printf(_("\nReport bugs to <[email protected]>.\n")); } |