适用范围
PostgreSQl 9.4.4 版本
问题概述
dsmart监控软件推送PG数据库服务器文件系统超过90%告警,进行排查;联系应用系统负责人说进行了大批量的数据清理操作
问题分析
1.检查占用空间大的目录
因为应用人员说清理了大量数据,所以先检查了xlog 日志的大小
主库 xlog 日志空间占用了 80G,并且xlog的日志最早时2023年产生的
$ du -sh /pgdata/data/pg_xlog
80G /pgdata/data/pg_xlog
查看清理时间段产生的日志达到40G,说明日志突增
$ ls -l /pgdata/data/pg_xlog/|grep 00000001|grep 'Jul 19 09'|awk '{i=$5;sum+=i}END{print sum}'
40G
备库 xlog 日志空间占用了 1.7G
$ du -sh /pgdata/data/pg_xlog
1.7G /pgdata/data/pg_xlog
2.检查流复制
异步流复制,同步基本没延迟

3.检查事务槽
检查没有配置事务槽

4.检查主库运行日志存在
分析日志发现归档无法成功,不能创建文件

检查pg_xlog/archive_status 目录
存在大量的 .ready 文件,说明大量的xlog日志未归档成功
5.检查归档命令及路径

竟然没有创建归档路径,不知道之前谁搞的
$ cd /pgdata/pg_archive
-bash: cd: /pgdata/pg_archive: No such file or directory
解决方案
$ mkdir -p /pgdata/pg_archive

创建归档路径后,日志归档成功,pg_xlog 目录最终降低到了1.7G,并编写了归档日志定时清理脚本
总结
- archive_mode设置为on时,archive_commnd 命令路径不存在或者archive_command 命令为空白会导致归档失败,pg_xlog 占用空间持续增长不释放
- 如果不想进行归档占用空间,可以设置archive_command=’/bin/true’ ,在需要归档时在进行设置具体的归档路径
参考文档
最后修改时间:2024-07-23 17:15:58
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




