postgresql - puerto - psql: no se pudo conectar con el servidor: conexión rehusada
Psql no pudo conectarse al servidor: ¿No existe tal archivo o directorio, error 5432? (12)
Estoy tratando de ejecutar
psql
en mi máquina Vagrant, pero
psql
este 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"?
Nota: Vagrant 1.9.2 Box: ubuntu / trusty64, https://atlas.hashicorp.com/ubuntu/boxes/trusty64
Comandos EDITAR que he usado para instalar y ejecutar postgres:
-
sudo apt-get update
-
sudo apt-get install postgresql
-
sudo su postgres
-
psql -d postgres -U postgres
Tuve el mismo problema, pero ninguna de las respuestas aquí ayudó.
Cómo lo arreglé (mac)
-
Intente iniciar postgresql con
pg_ctl -D /usr/local/var/postgres start
-
Busque el
mensaje de error
que dice algo así como
FATAL: could not open directory "pg_tblspc": No such file or directory
. -
Cree el directorio que falta
mkdir /usr/local/var/postgres/pg_tblspc
- Repita desde el paso uno hasta que haya creado todos los directorios que faltan
-
Cuando termine y luego intente iniciar postgresql nuevamente,
podría
decir
FATAL: lock file "postmaster.pid" already exists
-
Eliminar
postmaster.pid
:
rm /usr/local/var/postgres/postmaster.pid
-
Inicie postgres con:
pg_ctl -D /usr/local/var/postgres start
- Hecho ✨
¿El
/etc/postgresql/9.6/main/postgresql.conf
muestra ese puerto asignado?
En mi instalación predeterminada de Xubuntu Linux, la mía mostró port = 5433 por alguna razón, lo mejor que puedo recordar, pero comenté la línea en ese mismo archivo que decía
listen_addresses = ''localhost''
y descomentó la línea
listen_addresses = ''*''
.
Así que tal vez comience y verifique allí.
Espero que ayude.
Abra su administrador de base de datos y ejecute este script
update pg_database set datallowconn = ''true'' where datname = ''your_database_name'';
Dentro de zsh:
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
Esto es lo único que me funcionó después de incontables horas de resolución de problemas.
Esto funciona para mi:
sudo systemctl start [email protected]
He tenido este mismo problema, relacionado con la configuración de mi archivo pg_hba.conf (ubicado en
/etc/postgresql/9.6/main
).
Tenga en cuenta que 9.6 es la versión postgresql que estoy usando.
El error en sí está relacionado con una configuración incorrecta de postgresql, lo que hace que el servidor se bloquee antes de iniciarse.
Sugeriría seguir estas instrucciones:
-
Certifique que el servicio postgresql se está ejecutando, utilizando el
sudo service postgresql start
-
Ejecute
pg_lsclusters
desde su terminal -
Verifique cuál es el clúster que está ejecutando, la salida debería ser algo como:
Versión: directorio de datos del propietario del estado del puerto del clúster
9.6 ------- main - 5432 postgres en línea /var/lib/postgresql/9.6/main
Haga caso omiso de los signos ''---'', ya que se utilizan allí solo para la alineación. La información importante es la versión y el clúster. También puede verificar si el servidor se está ejecutando o no en la columna de estado.
-
Copie la información de la versión y el clúster, y use así:
pg_ctlcluster <version> <cluster> start
, así que en mi caso, usando la versión 9.6 y el clúster ''main'', seríapg_ctlcluster 9.6 main start
-
Si algo está mal, entonces postgresql generará un registro, al que se puede acceder en
/var/log/postgresql/postgresql-<version>-main.log
, por lo que en mi caso, el comando completo seríasudo nano /var/log/postgresql/postgresql-9.6-main.log
. -
La salida debe mostrar cuál es el error.
2017-07-13 16:53:04 BRT [32176-1] LOG: método de autenticación no válido "todos"
2017-07-13 16:53:04 BRT [32176-2] CONTEXTO: línea 90 del archivo de configuración "/etc/postgresql/9.5/main/pg_hba.conf"
2017-07-13 16:53:04 BRT [32176-3] FATAL: no se pudo cargar pg_hba.conf -
Solucione los errores y reinicie el servicio postgresql a través del
sudo service postgresql restart
y debería estar bien.
He buscado mucho para encontrar esto, el crédito va a esta post .
¡La mejor de las suertes!
Me sucedió lo mismo ya que había cambiado algo en el
/etc/hosts
.
Después de volver a cambiarlo a
127.0.0.1 localhost
, funcionó para mí.
Pude resolver el problema ejecutando:
pg_ctl -D /usr/local/var/[email protected] stop;
brew services stop [email protected];
brew services start [email protected];
Solo estoy publicando esto para cualquiera que se sienta perdido y sin esperanza como lo hice cuando encontré esta pregunta. Parece que a veces al editar algunos archivos de configuración relacionados con psotgresql, uno puede cambiar accidentalmente los permisos del archivo:
Observe cómo pg_hba.conf pertenece a la raíz y los usuarios ni siquiera pueden leerlo. Esto hace que postgres no pueda abrir este archivo y, por lo tanto, no pueda iniciar el servidor, arrojando el error visto en la pregunta original.
Mediante la ejecución
sudo chmod +r pg_hba.conf
Pude hacer que este archivo sea nuevamente accesible para el usuario de postgres y luego después de ejecutar
sudo service postgresql start
Pude volver a ejecutar el servidor.
Tuve el mismo error cuando creo el SQL db en una VM.
Había cambiado el valor predeterminado de /etc/postgresql/9.3/main/postgresql.conf
shared_buffers = 200MB
al 75% de mi RAM total.
Bueno, olvidé asignar esa RAM en la VM.
Cuando le di el comando para hacer una nueva base de datos, recibí el mismo error.
Apagado, le dio al bebé su biberón (RAM) y listo, funcionó.
Usar comando:
rm -rf /usr/local/var/postgres && initdb /usr/local/var/postgres -E utf8
simplemente reinstale su pgsql con la versión directa sudo apt-get install postgresql-9.5 (debe eliminar el paquete antes de instalar uno nuevo)