Fix lỗi “PANIC : replication checkpoint has wrong magic” trên PostgreSQL


Hôm nay server mất điện đột ngột. Và sau khi có điện thì mình lại không thể khởi động lại được dịch vụ PostgreSQL. Check log thì gặp lỗi “PANIC : replication checkpoint has wrong magic“.

Nguyên nhân

Lỗi này là do server hoạt động không ổn định có thể là do dừng đột ngột bởi các sự cố mất điện, kill process,…, PostgreSQL sau khi khởi động lại, thì kiểm tra một bản ghi checkpoint trong log của transaction không còn tồn tại hoặc bị hư hại thì nó sẽ không khởi động thành công và báo lỗi ở file log.

Postgres is looking for a checkpoint record in the transaction log that probably doesn’t exist or is corrupted.

Khắc phục

Để fix lỗi này và  khởi động lại dịch vụ PostgreSQL, chúng ta cần thực hiện các bước sau.

Bước 1: Tìm đến thư mục pg_logical của PostgreSQL đổi tên file replorigin_checkpoint  sang 1 tên khác ví dụ: replorigin_checkpoint_corrupted

Trên Ubuntu đường dẫn thư mục pg_logical  là: /var/lib/postgresql/<postgresql_version>/main/pg_logical/

Bước 2: Sau đó restart lại service để PostgreSQL tạo lại file replorigin_checkpoint

sudo systemclt restart postgresql

Kết quả là PostgreSQL sẽ khởi động lại thành công.

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web