How do I access Postgres when I get an error about "/var/run/postgresql/.s.PGSQL.5432"?
Step1: Running pg_lsclusters
will list all the postgres clusters running on your device
eg:
Ver Cluster Port Status Owner Data directory Log file
9.6 main 5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
most probably the status will be down in your case . Try restarting Postgres clusters and service
Step 2: Restart the pg_ctlcluster
#format is pg_ctlcluster <version> <cluster> <action>
sudo pg_ctlcluster 9.6 main start
#restart postgresql service
sudo service postgresql restart
Step 3: Step 2 failed and threw an error
If this process is not successfull it will throw the error. My error was(You can see the error log on /var/log/postgresql/postgresql-9.6-main.log
)
FATAL: could not access private key file "/etc/ssl/private/ssl-cert-snakeoil.key": Permission denied
Try adding `postgres` user to the group `ssl-cert`
Step 4: check ownership of postgres
Make sure that postgres
is the owner of /var/lib/postgresql/version_no/main
eg: sudo chown postgres -R /var/lib/postgresql/9.6/main/
Step 5: Check Postgres user belongs to ssl-cert user group
It happened to me and it turned out that I removed erroneously the Postgres user from "ssl-cert" group. Run the below code to fix the user group issue and fixing the permissions
#set user to group back with
sudo gpasswd -a postgres ssl-cert
# Fixed ownership and mode
sudo chown root:ssl-cert /etc/ssl/private/ssl-cert-snakeoil.key
sudo chmod 740 /etc/ssl/private/ssl-cert-snakeoil.key
sudo service postgresql restart
========================SOLUCION FUNCIONAL=====
I was getting same error on ubuntu 20.04 for connecting through libpq.
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
I edited the config file of postgres
sudo nano /etc/postgresql/12/main/postgresql.conf
and changed
unix_socket_directories = '/var/run/postgresql/'
to
unix_socket_directories = '/tmp/'
then did a restart using
sudo service postgresql restart
and it started working
Comentarios
Publicar un comentario
Dime si la información de este blog te sirvio.