harbor断电重启postgres报错PANIC: could not locate a valid checkpoint record
docker部署的Harbor 内置的数据库为postgres,服务器断电重启后,报错信息如下:
PANIC: could not locate a valid checkpoint record
LOG: startup process (PID 7) was terminated by signal 6: Aborted
LOG: aborting startup due to startup process
failure
LOG: database system is shut down
LOG: database system shutdown was interrupted; last known up at 2024-08-27 14:25:36 UTC
LOG: invalid primary checkpoint
record
LOG: invalid secondary checkpoint record
PANIC: could not locate a valid checkpoint record
LOG: startup process (PID 8) was terminated by signal 6: Aborted
LOG: aborting startup due to startup process failure
解决办法:
1.首先进入到postgres的存储目录中
查看持久化目录
cat docker-compose.yml
查看harbor-db对应的内容找到对应的数据目录,例如:/data/database
示例:
postgresql:
xxxx
volumes:
- /data/database:/var/lib/postgresql/data:z
2.下载对应版本的docker镜像
docker pull postgresql:xxx
3.使用数据目录启动容器
docker run -it -v /data/database:/var/lib/postgresql/data postgres:9.6 /bin/bash
4.执行修复命令(注意:执行时需切换到postgres用户且使用命令的绝对路径执行)
10之前的版本执行:
/xxx/xxx/xxx/pg_resetxlog /var/lib/postgresql/data -f
10之后的版本执行:
/xxx/xxx/xxx/pg_resetwal /var/lib/postgresql/data -f
5.执行结果示例:

http://www.yueminghai.top

浙公网安备 33010602011771号