From: | Victor Wagner <vitus(at)wagner(dot)pp(dot)ru> |
---|---|
To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Cc: | Thom Brown <thom(at)linux(dot)com> |
Subject: | Re: Patch: Implement failover on libpq connect level. |
Date: | 2016-01-24 19:53:51 |
Message-ID: | 20160124225351.5dd2837f@wagner.wagner.home |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-jdbc |
On Sun, 24 Jan 2016 15:58:10 +0000
Thom Brown <thom(at)linux(dot)com> wrote:
>
> Output of \set variables without patch:
>
> HOST = '127.0.0.1'
> PORT =
> '5530,127.0.0.1:5531,127.0.0.1:5532,127.0.0.1:5533,127.0.0.1:5534,127.0.0.1:5535'
>
> And with patch:
>
> HOST =
> '127.0.0.1:5530,127.0.0.1:5531,127.0.0.1:5532,127.0.0.1:5533,127.0.0.1:5534,127.0.0.1:5535'
> PORT = '5488'
>
> They're both wrong, but I'm hoping we can just show the right
> information here.
I think we should show right information here, but it is not so simple.
Problem is that I never keep symbolic representation of individual
host/port pair. And when we connect successfully, we have only struct
sockaddr representation of the it, which contain right IP
address, but doesn't contain symbolic host name.
Moreover, one hostname from connect string can produce more than one
addrinfo structures. For example, on the machines with IPv6 support,
'localhost' hostname is resolved into both 127.0.0.1 IPv4 address and
[::1] IPv6, and produces two records.
So would do any name, which have both A and AAAA records in DNS. And
nothing prevent domain administrator to put more than one A record for
same hostname into DNS zone.
So, it is just same information which can be retrieved from the backend
via
select inet_client_addr();
select inet_client_port();
What is really interesting for HOST and PORT variable - it is the name
of host and port number used to make actual connection, as they were
specified in the connect string or service file.
>
> Thom
--
Victor Wagner <vitus(at)wagner(dot)pp(dot)ru>
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2016-01-24 20:09:09 | Re: proposal: function parse_ident |
Previous Message | Victor Wagner | 2016-01-24 19:46:32 | Re: Patch: Implement failover on libpq connect level. |
From | Date | Subject | |
---|---|---|---|
Next Message | Thom Brown | 2016-01-24 20:11:02 | Re: Patch: Implement failover on libpq connect level. |
Previous Message | Victor Wagner | 2016-01-24 19:46:32 | Re: Patch: Implement failover on libpq connect level. |