当前位置: 首页 > news >正文

Docker运行postgreSQL,由于异常启动或者退出后,提示could not locate a valid checkpoint record

pg_resetwal 是 PostgreSQL 的“急救工具”,用于在极端情况下修复因 WAL 或控制文件损坏导致的启动问题。

但需注意:

  • 风险极高,可能导致数据不一致。
  • 必须立即转储并恢复,避免直接在修复后的数据库中执行写操作。
  • 仅在备份后使用,并优先尝试其他故障排除步骤(如检查磁盘、修复权限)。

问题解决方案:

1、新建一个docker容器挂载持久化数据目录,进入容器执行以下命令

# 新起一个容器挂载之前的持久化数据目录
docker run -it -v /opt/dev/docker/volumes/db/data:/var/lib/postgresql/data postgres:15-alpine /bin/bash

# 切换到postgres账户
su postgres

# 使用下面的命令重置wal日志
pg_resetwal -f /var/lib/postgres/data

执行完毕后,看到类似 "Write-ahead log reset" 这种提示就重置成功了

2、备份原有的持久化数据目录,再重启之前的pg容器

# 备份旧数据
tar -czf pgdata-20250318.tar.gz pgdata/

# 重启容器观察启动日志和状态
docker restart xxxxxx

相关文章:

  • JS—事件委托:3分钟掌握事件委托
  • vlan初学的总结
  • NLP高频面试题(四)——BN和LN的区别与联系,为什么attention要用LN
  • Visual Studio2022 中的键盘注释快捷方式
  • 多线程(四)----线程安全
  • 力扣刷题994. 腐烂的橘子
  • 比特币牛市还在不在
  • 「Wi-Fi学习」节能模式
  • Java常用类
  • Android第四次面试总结(基础算法篇)
  • LeetCode-274.H 指数
  • C#进阶(多线程相关)
  • SMT贴片机销售实战技巧解析
  • Python高级:GIL、C扩展与分布式系统深度解析
  • 汽车机械钥匙升级一键启动的优点
  • CentOS下安装ElasticSearch(日志分析)
  • 项目实战:基于瑞萨RA6M5构建多节点OTA升级-创建系统最小框架<三>
  • 【SpringMVC】深入解析基于Spring MVC与AJAX的用户登录全流程——参数校验、Session管理、前后端交互与安全实践
  • CXSMILES介绍
  • 【Linux】浅谈环境变量和进程地址空间
  • 中山大学人类学系原系主任冯家骏逝世,享年95岁
  • 巴基斯坦称对印度发起军事行动
  • 习近平会见委内瑞拉总统马杜罗
  • 春秋航空:如果供应链持续改善、油价回落到合理水平,公司补充运力的需求将会增长
  • 匈牙利外长称匈方已驱逐两名乌克兰外交官
  • 秦洪看盘|交易型资金收缩,释放短线压力