Tôi đang sử dụng Fedora 15
với PostgreSQL 9.1.4
. Fedora đã sụp đổ gần đây sau đó:
Một nỗ lực để khởi động máy chủ PostgreSQL:
service postgresql-9.1 start
cho
Starting postgresql-9.1 (via systemctl): Job failed. See system logs and 'systemctl status' for details.
[FAILED]
Mặc dù, máy chủ khởi động bình thường khi tôi khởi động máy chủ lần đầu tiên sau khi khởi động lại hệ thống .
Nhưng, một nỗ lực sử dụng psql
cho lỗi này:
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.5432
tập tin không có mặt ở bất cứ đâu trên hệ thống. Một locate .s.PGSQL.5432
đầu ra không có gì.
Nhật ký hệ thống có cái này:
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.
Một
systemctl status postgresql-9.1.service
cho
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
Tôi đã không thay đổi cài đặt mặc định của fsync vì vậy tôi đoán, nó đã được đặt thành on
. Tôi đang ở trên một ổ cứng. Ổ cứng bị hỏng.
Sự cố ổ cứng
Sự cố ổ cứng đã dẫn đến việc chạy một hướng dẫn fsck
trên một dấu nhắc và không dựa trên gui. Với nó, nó đang sửa chữa các nút gazillion, v.v. Sau đó, tôi khởi động lại hệ thống với dấu Ctrl+ Alt+ Delete.
Nhật ký của PostgreSQL có điều này:
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
Cập nhật
Cố gắng khởi động máy chủ sau khi lấy một bản sao cấp độ hệ thống tệp của /var/lib/pgsql
thư mục và chạy ./pg_resetxlog -f /var/lib/pgsql/9.1/data/
với kết quả xlog -f /var/lib/pgsql/9.1/data/
vẫn mang lại:
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_resetxlog
không làm gì tốt, vì vậy bạn vào lãnh thổ vui vẻ. Bạn có sao lưu cơ sở dữ liệu này từ trước khi sự cố không?
pg_multixact/offsets/0000
rằng PG sẽ chấp nhận ...