磐维数据库(PanWeiDB)是由中国移动基于中国本土开源数据库openGauss打造的自研数据库产品,主要面向ICT基础设施。它具有高性能、高可靠性、高安全性和高兼容性的特点,能够支持集中式、分布式、云原生、一体机等多种应用场景。
目前,磐维数据库已在中国移动的多个省(区、市)公司及专业公司部署应用。未来,磐维数据库计划在云原生、Serverless、智能运维、生态兼容等方面持续做强深度自主研发,进一步打造面向全行业的数据管理解决方案。
在介绍删除xlog之前,先了解下Xlog和checkpoint检查点:
一、Xlog事务日志
"xlog"是事务日志(WAL,Write-Ahead Logging)的简称。是数据库用来保证事务的持久性和恢复能力的日志记录机制。每当数据库进行写操作时,相关的日志信息首先会被写入到xlog中,然后再进行实际的数据修改。这样做可以确保在系统崩溃或故障时,数据库可以从日志中恢复到一致的状态。
在通常情况下,Xlog是会设置自动清理,本篇文章主要介绍自动清理失败的情况下,如何通过命令手工清除xlog日志。
二、检查点checkpoint
检查点(checkpoint)是一个重要的数据库事件,主要用于保证数据的一致性和完整性。
检查点作用如下:
1)定期保存修改过的数据块:检查点会将共享缓冲区中的脏块写入磁盘,防止主机断电等故障导致数据丢失。
2)作为实例恢复的起点:当实例发生崩溃后,数据库会以最近一次的检查点作为恢复的起点。
3)作为介质恢复的起点:每次物理备份时都会生成一个检查点,用于判断将来恢复时的起点
在panweidb中,xlog记录即事务记录,而检查点记录也是一次事务记录。在删除xlog的时候,需先获取检查点的位置,以免误删日志,导致集群启动异常,控制文件中记录了检查点的相关信息,可以通过pg_controldata命令查看。
三、xlog的手工清理操作
在omm用户下执行:pw_controldata /database/panweidb/data/获取检查点信息:
获取其中的NextXID和NextOID的值,通过pg_resetxlog回收
pw_resetxlog -o 1347359 -x 531118473 -f /database/panweidb/data/




