pgsql: Uniformly identify the target host in libpq connection failure r

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Uniformly identify the target host in libpq connection failure r
Дата
Msg-id E1kz2cL-0006Vf-TS@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Uniformly identify the target host in libpq connection failure reports.

Prefix "could not connect to host-or-socket-path:" to all connection
failure cases that occur after the socket() call, and remove the
ad-hoc server identity data that was appended to a few of these
messages.  This should produce much more intelligible error reports
in multiple-target-host situations, especially for error cases that
are off the beaten track to any degree (because none of those provided
any server identity info).

As an example of the change, formerly a connection attempt with a bad
port number such as "psql -p 12345 -h localhost,/tmp" might produce

psql: error: could not connect to server: Connection refused
        Is the server running on host "localhost" (::1) and accepting
        TCP/IP connections on port 12345?
could not connect to server: Connection refused
        Is the server running on host "localhost" (127.0.0.1) and accepting
        TCP/IP connections on port 12345?
could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.12345"?

Now it looks like

psql: error: could not connect to host "localhost" (::1), port 12345: Connection refused
        Is the server running on that host and accepting TCP/IP connections?
could not connect to host "localhost" (127.0.0.1), port 12345: Connection refused
        Is the server running on that host and accepting TCP/IP connections?
could not connect to socket "/tmp/.s.PGSQL.12345": No such file or directory
        Is the server running locally and accepting connections on that socket?

This requires adjusting a couple of regression tests to allow for
variation in the contents of a connection failure message.

Discussion: https://postgr.es/m/BN6PR05MB3492948E4FD76C156E747E8BC9160@BN6PR05MB3492.namprd05.prod.outlook.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/52a10224e3cc1d706ba9800695f97cb163b747d5

Modified Files
--------------
src/bin/pg_dump/t/002_pg_dump.pl                   |   2 +-
.../ecpg/test/expected/connect-test5.stderr        |   4 +-
src/interfaces/libpq/fe-connect.c                  | 121 ++++++++++-----------
3 files changed, 62 insertions(+), 65 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: In libpq, always append new error messages to conn->errorMessage
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Rethink SQLSTATE code for ERRCODE_IDLE_SESSION_TIMEOUT.