Re: Files overwritten when installing v9.6 in machine with v8.4 previously running

Ekaterina Amez <[email protected]> Tue, 1 Oct 2019 16:01:22 +0200
Newsgroups gmane.comp.db.postgresql.admin
Message-ID <[email protected]>
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 <[email protected]> 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