Estoy usando Fedora 15con PostgreSQL 9.1.4. Fedora se estrelló recientemente después de lo cual:
Un intento de iniciar el servidor PostgreSQL:
service postgresql-9.1 start
da
Starting postgresql-9.1 (via systemctl): Job failed. See system logs and 'systemctl status' for details.
[FAILED]
Aunque, el servidor se inicia normalmente cuando lo inicio por primera vez después de reiniciar el sistema .
Pero, un intento de usar psqlda 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 "/tmp/.s.PGSQL.5432"?
.s.PGSQL.5432El archivo no está presente en ninguna parte del sistema. A locate .s.PGSQL.5432no produce nada.
El registro del sistema tiene esto:
Aug 14 17:31:58 localhost systemd[1]: postgresql-9.1.service: control process exited, code=exited status=1
Aug 14 17:31:58 localhost systemd[1]: Unit postgresql-9.1.service entered failed state.
UNA
systemctl status postgresql-9.1.service
da
postgresql-9.1.service - SYSV: PostgreSQL database server.
Loaded: loaded (/etc/rc.d/init.d/postgresql-9.1)
Active: failed since Tue, 14 Aug 2012 17:31:58 +0530; 58s ago
Process: 2811 ExecStop=/etc/rc.d/init.d/postgresql-9.1 stop (code=exited, status=1/FAILURE)
Process: 12423 ExecStart=/etc/rc.d/init.d/postgresql-9.1 start (code=exited, status=1/FAILURE)
Main PID: 2551 (code=exited, status=1/FAILURE)
CGroup: name=systemd:/system/postgresql-9.1.service
No había cambiado la configuración predeterminada de fsync, así que supongo que se configuró en on. Estoy en un disco duro. El HDD se estrelló.
HDD crash
El bloqueo del HDD resultó en la ejecución de un manual fscken un indicador y no en una interfaz gráfica de usuario. Con él reparando millones de inodes, etc. Después de lo cual reinicié el sistema con un Ctrl+ Alt+ Delete.
El registro de PostgreSQL tiene esto:
LOG: database system was interrupted; last known up at 2012-08-14 17:31:57 IST
LOG: database system was not properly shut down; automatic recovery in progress
LOG: record with zero length at 0/41A4E58
LOG: redo is not required
FATAL: could not access status of transaction 1
DETAIL: Could not open file "pg_multixact/offsets/0000": No such file or directory.
LOG: startup process (PID 13016) exited with exit code 1
LOG: aborting startup due to startup process failure
Actualizar
Intentar iniciar el servidor después de tomar una copia del /var/lib/pgsqldirectorio a nivel del sistema de archivos , y ejecutarlo ./pg_resetxlog -f /var/lib/pgsql/9.1/data/con el resultado xlog -f /var/lib/pgsql/9.1/data/aún produce:
LOG: database system was interrupted; last known up at 2012-08-14 18:46:36 IST
LOG: database system was not properly shut down; automatic recovery in progress
LOG: record with zero length at 0/6000078
LOG: redo is not required
FATAL: could not access status of transaction 1
DETAIL: Could not open file "pg_multixact/offsets/0000": No such file or directory.
LOG: startup process (PID 13766) exited with exit code 1
LOG: aborting startup due to startup process failure
pg_resetxlogno sirvió de nada, así que estás en territorio divertido. ¿Tiene una copia de seguridad de esta base de datos antes del bloqueo?
pg_multixact/offsets/0000que Pg acepte ...