Saltar al contenido

¿Cómo accedo a Postgres cuando recibo un error sobre “/var/run/postgresql/.s.PGSQL.5432”?

Estate atento porque en esta sección encontrarás la solución que buscas.

Solución:

Si su servicio de Postgres está funcionando sin ningún error o no hay ningún error al iniciar el servicio de Postgres y aún recibe el error mencionado, siga estos pasos

Paso 1: Correr pg_lsclusters enumerará todos los clústeres de postgres que se ejecutan en su dispositivo

p.ej:

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

lo más probable es que el estado sea inactivo en su caso. Intente reiniciar los clústeres y el servicio de Postgres

Paso 2: reiniciar pg_ctlcluster

#format is pg_ctlcluster   
sudo pg_ctlcluster 9.6 main start

#restart postgresql service
sudo service postgresql restart

Paso 3: el paso 2 falló y arrojó un error

Si este proceso no tiene éxito, arrojará el error. Mi error fue (Puedes ver el registro de error en /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`

Paso 4: verificar la propiedad de postgres

Asegúrate de eso postgres es el dueño de /var/lib/postgresql/version_no/main
p.ej: sudo chown postgres -R /var/lib/postgresql/9.6/main/

Paso 5: verifique que el usuario de Postgres pertenezca al grupo de usuarios ssl-cert

Me pasó y resultó que eliminé por error al usuario de Postgres del grupo “ssl-cert”. Ejecute el siguiente código para solucionar el problema del grupo de usuarios y corregir los permisos

#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

Probablemente tenga varias versiones de PostgreSQL instaladas. Si es así, la otra versión probablemente tenga como valor predeterminado unix_socket_directories = '/tmp/' pero el libpq su psql está vinculado a probablemente por defecto a /var/run/postgresql/.

Tratar

psql -h /tmp

Si eso funciona, lo anterior es el problema. Puedes añadir export PGHOST=/tmp para usted .bashrc para cambiar el valor predeterminado localmente para su usuario.

Si eso no trabajo, asegúrese de que PostgreSQL realmente se está ejecutando

ps aux |grep postgres

y si no, ponerlo en marcha. Cómo depende de cómo lo hayas instalado, pero será a través de la service o systemctl comando(s) si instaló usando paquetes.

psql: no se pudo conectar al servidor: no existe tal archivo o directorio ¿El servidor se ejecuta localmente y acepta conexiones en el socket de dominio Unix “/var/run/postgresql/.s.PGSQL.5432”?

Este error generalmente significa que el servidor no se está ejecutando. Residencia en dpkg -l salida y el hilo de comentarios, se debió a la postgresql-9.5 el paquete principal se desinstaló de alguna manera. Dado que la desinstalación no se ha llamado con el --purge opción a dpkglos datos y los archivos de configuración todavía están allí, por lo que apt-get install postgresql-9.5 puede solucionar el problema.

valoraciones y reseñas

Nos puedes patrocinar nuestro quehacer mostrando un comentario y dejando una puntuación te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *