postgresql 断电后无法重启问题

问题描述

LOG: database system was interrupted; last known up at 2024-07-04 05:03:31 UTC
FATAL: the databasesystem is starting up

image

解决办法

PostgreSQL 9.6 及以下版本 使用 pg_resetxlog,高于9.6 使用pg_resetwal
ps:这边数据版本为12.3

步骤:

  1. 先把数据库发布订阅停止

  2. 把数据库拷贝一份做为备份,操作失误可以进行还原
    cp -ar db-pro db-pro-bak-20240826 #把db-pro 拷贝一份到 db-pro-bak-20240826

  3. 执行命令pg_resetwal
    pg_resetwal -f /var/lib/postgresql/data
    如果使用不了可以尝试使用下面的命令
    gosu postgres /usr/lib/postgresql/12/bin/pg_resetwal -f /var/lib/postgresql/data
    /usr/lib/postgresql/12/bin/pg_resetwal:命令的路径,其中12 代表数据库版本
    /var/lib/postgresql/data:数据存储路径,低版本可能不一样

  4. 执行pg_ctl start,启动数据库
    gosu postgres /usr/lib/postgresql/12/bin/pg_ctl start

至此,数据库修复完成。

posted @ 2024-08-27 22:23  排骨锅包肉  阅读(364)  评论(0)    收藏  举报