On Wed, Dec 11, 2013 at 10:26 PM, Robert Haas <robertmh...@gmail.com> wrote:
> On Tue, Dec 10, 2013 at 11:40 PM, Fujii Masao <masao.fu...@gmail.com> wrote:
>> While I was investigaing PQhost() for that approach, I found several
>> problems of PQhost().
>>
>> (1) PQhost() can return Unix-domain socket directory path even in the
>> platform that
>>     doesn't support Unix-domain socket.
>>
>> (2) In the platform that doesn't support Unix-domain socket, when
>> neither host nor hostaddr
>>     are specified, the default host 'localhost' is used to connect to
>> the server and
>>     PQhost() must return that, but it doesn't.
>
> I think changing PQhost() so that it returns DefaultHost rather than
> conn->pgunixsocket when we don't HAVE_UNIX_SOCKETS is a back-patchable
> bug fix, and I'd say go for it.

Agreed.

>> (3) PQhost() cannot return the hostaddr.
>
> However, I'm much less sure whether this is something that we want to
> do at all.  It seems like this might be a definition of what the
> function does, and I'm not sure whether the new definition is what
> everyone will want.  On the other hand, I'm also not sure that it
> isn't.

If we don't change PQhost() in that way, we cannot fix the following problem
of wrong output of \conninfo, for example.

$ psql -d "hostaddr=127.0.0.1"
=# \conninfo
You are connected to database "postgres" as user "postgres" via socket
in "/tmp" at port "5432".

Regards.

-- 
Fujii Masao


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to