Solución:
Tuve 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 de postgresql que estoy usando.
El error en sí está relacionado con una mala configuración 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
sudo service postgresql start
- Correr
pg_lsclusters
desde tu terminal -
Verifique cuál es el clúster que está ejecutando, el resultado 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
Ignore los signos ‘—‘, ya que se utilizan allí solo para la alineación. La información importante son la versión y el clúster. También puede comprobar 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
, entonces en mi caso, usando la versión 9.6 y el clúster ‘principal’, 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
, entonces 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] INICIAR SESIÓN: 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 - Corrija los errores y reinicie el servicio postgresql a través de
sudo service postgresql restart
y debería estar bien.
He buscado mucho para encontrar esto, el crédito es para esta publicación.
¡La mejor de las suertes!
Tuve el mismo problema, pero ninguna de las respuestas aquí ayudó.
Cómo lo arreglé (mac)
- Intenta iniciar postgresql con
pg_ctl -D /usr/local/var/postgres start
- Busca el Mensaje de error que dice algo como
FATAL: could not open directory "pg_tblspc": No such file or directory
. - Crea ese directorio faltante
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
- Borrar postmaster.pid:
rm /usr/local/var/postgres/postmaster.pid
- Inicie postgres con:
pg_ctl -D /usr/local/var/postgres start
- Hecho ✨
Estos dos pasos me solucionaron en Mac:
rm /usr/local/var/postgres/postmaster.pid
brew services restart postgresql
EDITAR:
En caso de que se enfrente a este problema (informado por @ luckyguy73): psql: FATAL: database "postgresql" does not exist
Tu puedes correr
brew postgresql-upgrade-database
arreglarlo.