WAL文件回收

简介: WAL文件回收

         checkpoint执行大致分为四步:1)刷写脏页,即将整个share buffer的所有脏页都刷盘;2)生成checkpoint wal记录,并插入WAL BUFFER;3)将checkpoint前的所有wal全部刷盘;4)回收WAL文件。这里主要介绍回收文件时需要注意的一点。尤其是磁盘空间比较紧张的场景下。

     本文介绍WAL文件回收时,需要注意的一个点。回收由函数RemoveOldXlogFiles函数完成。这个函数进行回收的时候,跳过时间线进行比较。如果_logSegNo日志号,即当前日志号减去变量控制需要保留的文件数后,得到的日志文件号。比这个日志文件号小的文件都会被删除,即RemoveXlogFile函数的工作。

      首先需要判断是否done文件,done文件下才会进入删除。删除前先保存下来删除的文件到共享内存即XLogCtl->lastRemovedSegNo = segno。

      如果一直进行promote的话,即使有很多WAL文件,也可能因为日志号在保留的范围内,从而导致不能被删除。这种情况对于不太稳定的环境尤其需要注意。即使及时执行checkpoint,也可能会因为这些WAL文件而撑爆磁盘空间。

     

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
14天前
|
弹性计算 运维 Shell
清理日志文件
【4月更文挑战第29天】
16 1
|
8月前
简单的清理缓冲区
简单的清理缓冲区
|
10月前
|
存储 关系型数据库
PG检查点刷写脏页CheckPointGuts
PG检查点刷写脏页CheckPointGuts
88 0
如何清理磁盘
我们的电脑在使用的过程当中会出现很多的垃圾占用内存,我们每天使用电脑之后清理一下比较好
如何清理磁盘
|
分布式数据库 Hbase 存储
|
监控 关系型数据库 数据库
pg_resetxlog清理的pg_xlog下的WAL日志
PostgreSQL的pg_xlog下有大量日志,空间不足,如何删除? Darren1:postgres:/usr/local/pgsql/data/pg_xlog:>ls 000000010000000000000008.
1320 0

热门文章

最新文章