一个灾备恢复的测试库出现了一下报错FATAL: the database system is in recovery mode,由于是测试库,所以数据这块无关紧要。数据需要恢复,但是也没见从xlog恢复的动作。为了业务恢复功能性测试,先把数据库拉起来要紧。当然这个库没有备份,所以不用考虑从备份恢复的思路。

postgresql 提供一个pg_resetwal命令,可以解决类似的情况。
此命令可以重置日志,更改控制文件的一些信息。接下来我们看一下解决过程

1.运行pg_controldata,查看Latest checkpoint’s NextXID: 0:5770749
2.关闭数据库
3.执行pg_resetwal -x 5770749
4.启动数据库

注意,9.6版本之前是名字为pg_resetxlog,运行此命令,数据库必须是关闭状态。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐