电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

PG数据库如何通过pg_resetwal处理wal日志的误删除

来源:金蝶云社区作者:金蝶2024-09-2325

PG数据库如何通过pg_resetwal处理wal日志的误删除

一 问题

一个开发环境数据库无法访问,发现存储数据库的挂载点存储使用率达到了100%,导致数据库宕机且无法再启动。追踪发现是pg_wal日志把存储撑爆了,然后就直接rm掉了,直接导致了数据库的启动报错。

二 解决方案

使用pg_resetwal重置wal日志

查看控制文件是否正常

pg_controldata -D $PGDATA



如果控制文件没问题,可以进行重置。

pg_resetwal -D $PGDATA

启动数据库

systemctl start postgresql

检查数据库状态

systemctl status postgresql

注意:这种方式会丢失未做checkpoint的wal数据,丢失数据的多少受checkpoint_timeout参数的影响。

使用pg_resetwal注意项

在命令行中指定数据目录PGDATA

这个命令不能在服务器正在运行时被使用,如果在数据目录中发现一个服务器锁文件,pg_resetwal将拒绝启动。

如果服务器崩溃那么一个锁文件可能会被残留,需先移除锁文件且确认没有服务器进程存活,然后再运行pg_resetwal。

使用pg_resetwal后

PG数据库如何通过pg_resetwal处理wal日志的误删除

一 问题一个开发环境数据库无法访问,发现存储数据库的挂载点存储使用率达到了100%,导致数据库宕机且无法再启动。追踪发现是pg_wal日志把...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信