mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Fix recently-introduced breakage in psql's \connect command.
Through my misreading of what the existing code actually did, commits85c54287a
et al. broke psql's behavior for the case where "\c connstring" provides a password in the connstring. We should use that password in such a case, but as of85c54287a
we ignored it (and instead, prompted for a password). Commit94929f1cf
fixed that in HEAD, but since I thought it was cleaning up a longstanding misbehavior and not one I'd just created, I didn't back-patch it. Hence, back-patch the portions of94929f1cf
having to do with password management. In addition to fixing the introduced bug, this means that "\c -reuse-previous=on connstring" will allow re-use of an existing connection's password if the connstring doesn't change user/host/port. That didn't happen before, but it seems like a bug fix, and anyway I'm loath to have significant differences in this code across versions. Also fix an error with the same root cause about whether or not to override a connstring's setting of client_encoding. As of85c54287a
we always did so; restore the previous behavior of overriding only when stdin/stdout are a terminal and there's no environment setting of PGCLIENTENCODING. (I find that definition a bit surprising, but right now doesn't seem like the time to revisit it.) Per bug #16746 from Krzysztof Gradek. As with the previous patch, back-patch to all supported branches. Discussion: https://postgr.es/m/16746-44b30e2edf4335d4@postgresql.org
This commit is contained in:
@ -870,6 +870,8 @@ testdb=>
|
||||
is changed from its previous value using the positional syntax,
|
||||
any <replaceable>hostaddr</replaceable> setting present in the
|
||||
existing connection's parameters is dropped.
|
||||
Also, any password used for the existing connection will be re-used
|
||||
only if the user, host, and port settings are not changed.
|
||||
When the command neither specifies nor reuses a particular parameter,
|
||||
the <application>libpq</application> default is used.
|
||||
</para>
|
||||
|
Reference in New Issue
Block a user