Hace poco necesitaba iniciar postgresql para una aplicación en java, pero al intentar arrancar el servicio de postgresql me mostraba el error siguiente:
Job for postgresql-9.4.service failed. See "systemctl status posgresql-9.4.service" and "journalctl -xe" for details.
Al ejecutar dicho comandos que me indicaba, mostraba una pila de errores que no comprendí para nada.
Me dediqué a buscar una solución en la red, pero desafortunadamente no encontré nada útil al instante.
En el link http://www.if-not-true-then-false.com/2012/install-postgresql-on-fedora-centos-red-hat-rhel/ se indica cómo instalarlo, así que lo desinstalé y lo instalé de nuevo, pero nada funcionó.
Me percaté que en uno de los pasos de la instalación es necesario crear los datos del cluster de postgresql, es decir, inicializar las carpetas o archivos en los que se almacenará la información que se cree en las bases de datos.
Pues bien, la línea de comandos para crear el cluster de nuevo, es la siguiente, ojo, es necesario logearse como root:
su - postgres -c /usr/pgsql-9.4/bin/initdb
Así que, abrí una terminal e introduje el comando, y no funcionó, sin embargo, me mostró un error en el que decía:
Si quiere crear un nuevo cluster de base de datos, elimine o vacíe el directorio "/var/lib/pgsql/9.4/data"
Obviamente, al realizar una eliminación de dicho directorio, los datos que haya dentro de la base de datos se eliminarán para siempre, y ese fue un riesgo que tuve que aceptar.
Así que, para eliminar los datos del cluster, utilicé el comando:
rm -rf /var/lib/pgsql/9.4/data
Y listo, con eso eliminé la carpeta, ahora, nuevamente ejecuté el comando:
su - postgres -c /usr/pgsql-9.4/bin/initdb
Al ejecutar este comando, mostrará las siguientes salidas:
Para finalizar, inicié el servicio de manera habitual:
sudo systemctl start postgresql-9.4.service
Pues por arte de magia, el servicio de postgresql volvió a funcionar. Perdí todos los datos anteriores que tenía en mi BD, pero el problema lo solucioné, además era necesario levantar el sistema lo más pronto posible, ya que mi trabajo del semestre dependía de eso.
Esta es una solución factible, siempre y cuando se esté consiente de que los datos previos se perderán.
Si alguien sabe alguna solución sin eliminar datos previos, favor de pasarme el link, para tener conocimiento de otros métodos para solucionar este error.