Hi, I'm trying to understand some issues that I'm having with the unix_socket settings and pgsql. I have 2 machines with pg v9.2.5 with the same next settings : #listen_addresses = 'localhost' #unix_socket_directory = ''
in both of the machines I run netstat to check on what socket the postgres listens for connections and I got the same output : machine 1 netstat -nlp | grep postgres tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 2049/postgres unix 2 [ ACC ] STREAM LISTENING 12086 2049/postgres /tmp/.s.PGSQL.5432 machine 2 tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 3729/postgres unix 2 [ ACC ] STREAM LISTENING 51587140 3729/postgres /tmp/.s.PGSQL.5432 In both of the machines I tried to check if there are some PG environment variables but nothing was set : env | grep PG The pg_hba in both cases is the default pg_hba. Now, In machine 1 when I run psql I get the prompt password but in machine 2 I keep getting the next error : 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"? One important thing that I didnt mention, is that I installed in machine 2 package postgresql-libs.x86_64 0:8.4.20-8.el6_9 from the postgres repository (in order to upgrade it to 9.6). I solved it in machine 2 by setting the unix_socket_directory to /var/run/postgresql/.s.PGSQL.5432 and restarting the database. My questions are : 1)Why in machine 1, where I dont have a soft link /var/run/postgresql/.s.PGSQL.5432 that directs to the temp dir I can connect succesfully ? (env|grep PG didnt show anything). 2)What might explain the issue on machine 2? Or maybe machine2 works normally but machine1 has an issue ?