Tom, you've pointed me the right way: setting unix_socket_directory was
the answer. Having a look at v9.6 config, this parameter is set as:
unix_socket_directories = '/var/run/postgresql, /tmp'
I've finally pg_upgrade my test server from v8.4 to v9.6.
Thank you all for your suggestions.
El 30/9/19 a las 16:47, Tom Lane escribió:
> Ekaterina Amez <ekaterina.amez@zunibal.com> writes:
>> I first thought they were going to be installed in their own
>> directories, but I'm starting to think that I'm missing something during
>> instalation process or maybe I'm missing something at deeper level
>> (probably lack of knowledge about linux and postgres). The thing is
>> after installing v9.6, having both versions running, I can't connect to
>> the older one and I'm having the message: "no such file or directory.
>> Is the server running locally and accepting connections on Unix domain
>> socket "/var/run/postgresql/.s.PGSQL.5432"?".
> This is probably a case of confusion about where the Unix socket file is.
> There are competing standards about that: as we ship it, that file will
> be in /tmp, but some Linux vendors make it be /var/run/postgresql because
> of filesystem layout rules. You are evidently using a libpq that was
> built to default to /var/run/postgresql --- and since we can see that
> you have a postmaster running on port 5432, it must have put its socket
> file somewhere else, which I'm going to jump to the conclusion is /tmp.
>
> You can override the client's default socket directory via something
> like
>
> psql -h /tmp ...
>
> A better long-term fix might be to change the postmaster's
> unix_socket_directory(ies) setting to agree with what the
> updated client library expects.
>
> regards, tom lane