Remove the long-deprecated -u option from psql, since it does nothing very
useful and confuses people who think it is the same as -U. (Eventually we might want to re-introduce it as being an alias for -U, but that should not happen until the switch has actually not been there for a few releases.) Likewise in pg_dump and pg_restore. Per gripe from Robert Treat and subsequent discussion.
This commit is contained in:
parent
3a7211aaf7
commit
1161f1ae14
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.196 2007/10/29 17:29:59 momjian Exp $
|
||||
$PostgreSQL: pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.197 2007/12/11 19:01:06 tgl Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -362,24 +362,6 @@ PostgreSQL documentation
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-u</></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Forces <application>psql</application> to prompt for the user name and
|
||||
password before connecting to the database.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
This option is deprecated, as it is conceptually flawed.
|
||||
(Prompting for a non-default user name and prompting for a
|
||||
password because the server requires it are really two different
|
||||
things.) You are encouraged to look at the <option>-U</option> and
|
||||
<option>-W</option> options instead.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><option>-U <replaceable class="parameter">username</replaceable></></term>
|
||||
<term><option>--username <replaceable class="parameter">username</replaceable></></term>
|
||||
|
@ -12,7 +12,7 @@
|
||||
* by PostgreSQL
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.479 2007/11/19 23:48:33 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.480 2007/12/11 19:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -302,7 +302,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
while ((c = getopt_long(argc, argv, "abcCdDE:f:F:h:in:N:oOp:RsS:t:T:uU:vWxX:Z:",
|
||||
while ((c = getopt_long(argc, argv, "abcCdDE:f:F:h:in:N:oOp:RsS:t:T:U:vWxX:Z:",
|
||||
long_options, &optindex)) != -1)
|
||||
{
|
||||
switch (c)
|
||||
@ -395,11 +395,6 @@ main(int argc, char **argv)
|
||||
simple_string_list_append(&table_exclude_patterns, optarg);
|
||||
break;
|
||||
|
||||
case 'u':
|
||||
force_password = true;
|
||||
username = simple_prompt("User name: ", 100, true);
|
||||
break;
|
||||
|
||||
case 'U':
|
||||
username = optarg;
|
||||
break;
|
||||
|
@ -34,7 +34,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_restore.c,v 1.84 2006/10/14 23:07:22 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_restore.c,v 1.85 2007/12/11 19:01:06 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -137,7 +137,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
while ((c = getopt_long(argc, argv, "acCd:ef:F:h:iI:lL:n:Op:P:RsS:t:T:uU:vWxX:1",
|
||||
while ((c = getopt_long(argc, argv, "acCd:ef:F:h:iI:lL:n:Op:P:RsS:t:T:U:vWxX:1",
|
||||
cmdopts, NULL)) != -1)
|
||||
{
|
||||
switch (c)
|
||||
@ -223,11 +223,6 @@ main(int argc, char **argv)
|
||||
opts->tableNames = strdup(optarg);
|
||||
break;
|
||||
|
||||
case 'u':
|
||||
opts->requirePassword = true;
|
||||
opts->username = simple_prompt("User name: ", 100, true);
|
||||
break;
|
||||
|
||||
case 'U':
|
||||
opts->username = optarg;
|
||||
break;
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2007, PostgreSQL Global Development Group
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.184 2007/12/09 19:01:40 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.185 2007/12/11 19:01:06 tgl Exp $
|
||||
*/
|
||||
#include "postgres_fe.h"
|
||||
#include "command.h"
|
||||
@ -1081,8 +1081,9 @@ prompt_for_password(const char *username)
|
||||
{
|
||||
char *prompt_text;
|
||||
|
||||
prompt_text = malloc(strlen(username) + 32);
|
||||
sprintf(prompt_text, "Password for user \"%s\": ", username);
|
||||
prompt_text = malloc(strlen(username) + 100);
|
||||
snprintf(prompt_text, strlen(username) + 100,
|
||||
_("Password for user %s: "), username);
|
||||
result = simple_prompt(prompt_text, 100, false);
|
||||
free(prompt_text);
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
*
|
||||
* Copyright (c) 2000-2007, PostgreSQL Global Development Group
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.143 2007/12/09 19:04:47 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.144 2007/12/11 19:01:06 tgl Exp $
|
||||
*/
|
||||
#include "postgres_fe.h"
|
||||
|
||||
@ -104,8 +104,6 @@ main(int argc, char *argv[])
|
||||
{
|
||||
struct adhoc_opts options;
|
||||
int successResult;
|
||||
|
||||
char *username = NULL;
|
||||
char *password = NULL;
|
||||
char *password_prompt = NULL;
|
||||
bool new_pass;
|
||||
@ -176,26 +174,14 @@ main(int argc, char *argv[])
|
||||
if (!pset.popt.topt.recordSep)
|
||||
pset.popt.topt.recordSep = pg_strdup(DEFAULT_RECORD_SEP);
|
||||
|
||||
if (options.username)
|
||||
{
|
||||
/*
|
||||
* The \001 is a hack to support the deprecated -u option which issues
|
||||
* a username prompt. The recommended option is -U followed by the
|
||||
* name on the command line.
|
||||
*/
|
||||
if (strcmp(options.username, "\001") == 0)
|
||||
username = simple_prompt("User name: ", 100, true);
|
||||
else
|
||||
username = pg_strdup(options.username);
|
||||
}
|
||||
|
||||
if (options.username == NULL)
|
||||
password_prompt = pg_strdup(_("Password: "));
|
||||
else
|
||||
{
|
||||
password_prompt = malloc(strlen(_("Password for user %s: ")) - 2 +
|
||||
strlen(username) + 1);
|
||||
sprintf(password_prompt, _("Password for user %s: "), username);
|
||||
strlen(options.username) + 1);
|
||||
sprintf(password_prompt, _("Password for user %s: "),
|
||||
options.username);
|
||||
}
|
||||
|
||||
if (pset.getPassword)
|
||||
@ -208,7 +194,7 @@ main(int argc, char *argv[])
|
||||
pset.db = PQsetdbLogin(options.host, options.port, NULL, NULL,
|
||||
options.action == ACT_LIST_DB && options.dbname == NULL ?
|
||||
"postgres" : options.dbname,
|
||||
username, password);
|
||||
options.username, password);
|
||||
|
||||
if (PQstatus(pset.db) == CONNECTION_BAD &&
|
||||
PQconnectionNeedsPassword(pset.db) &&
|
||||
@ -221,7 +207,6 @@ main(int argc, char *argv[])
|
||||
}
|
||||
} while (new_pass);
|
||||
|
||||
free(username);
|
||||
free(password);
|
||||
free(password_prompt);
|
||||
|
||||
@ -446,11 +431,10 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
|
||||
extern char *optarg;
|
||||
extern int optind;
|
||||
int c;
|
||||
bool used_old_u_option = false;
|
||||
|
||||
memset(options, 0, sizeof *options);
|
||||
|
||||
while ((c = getopt_long(argc, argv, "aAc:d:eEf:F:h:HlL:no:p:P:qR:sStT:uU:v:VWxX?1",
|
||||
while ((c = getopt_long(argc, argv, "aAc:d:eEf:F:h:HlL:no:p:P:qR:sStT:U:v:VWxX?1",
|
||||
long_options, &optindex)) != -1)
|
||||
{
|
||||
switch (c)
|
||||
@ -551,13 +535,6 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
|
||||
case 'T':
|
||||
pset.popt.topt.tableAttr = pg_strdup(optarg);
|
||||
break;
|
||||
case 'u':
|
||||
pset.getPassword = true;
|
||||
options->username = "\001"; /* hopefully nobody has that
|
||||
* username */
|
||||
/* this option is out */
|
||||
used_old_u_option = true;
|
||||
break;
|
||||
case 'U':
|
||||
options->username = optarg;
|
||||
break;
|
||||
@ -644,10 +621,6 @@ parse_psql_options(int argc, char *argv[], struct adhoc_opts * options)
|
||||
|
||||
optind++;
|
||||
}
|
||||
|
||||
if (used_old_u_option && !pset.quiet)
|
||||
fprintf(stderr, _("%s: Warning: The -u option is deprecated. Use -U.\n"), pset.progname);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user