On 03/17/2017 09:49 AM, Adrian Klaver wrote:
On 03/17/2017 06:42 AM, Steve Clark wrote:
Hi List,
I am running postgresql 8.4.20 on CentOS 6. Things have been running fine for a long time
then I rebooted. Postgres came up but when I tried to connect with psql on the local machine
I got
psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
The socket is actually being created (and always has been) in /tmp
So you built Postgres from source?
No - it is installed using yum.
It looks like the problem is someone loaded postgresql-9.5 and psql was using:
psql 14971 postgres mem REG 8,4 193296 950807 /usr/pgsql-9.5/lib/libpq.so.5.8
the libpq from 9.5.
By removing the ln and using
# rm /var/run/postgresql/.s.PGSQL.5432
rm: remove symbolic link `/var/run/postgresql/.s.PGSQL.5432'? y
$ psql
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
$ LD_LIBRARY_PATH=/usr/lib64 psql
psql (8.4.20)
Type "help" for help.
postgres=#
It works OK again.
So now I know what caused the problem.
Thanks,
Steve
I worked around the problem temporarily by
ln -s /tmp/.s.PGSQL.5432 /var/run/postgresql/.s.PGSQL.5432
What controls where psql looks for the socket?
https://www.postgresql.org/message-id/23876.1488949292%40sss.pgh.pa.us
"With the default configure options you used, the postmaster would have
put its Unix socket file into /tmp, not /var/run. I wonder whether your
problem is that you're trying to connect to it with distro-supplied
psql+libpq that expects to find the Unix socket in /var/run."
Thanks,
Steve