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

由于复制槽导致wal大量堆积的处理方案

文章目录

  • 环境
  • 症状
  • 问题原因
  • 解决方案

环境

系统平台:N/A
版本:N/A

症状

数据库中的pg_wal占用大量空间,且不删除。

问题原因

复制槽占用早期的wal日志,导致wal归档后无法正常删除。

1. 排查复制槽情况:

highgo=# select * from pg_replication_slots ;slot_name  | plugin | slot_type | datoid | database | temporary | active        | active_pid | xmin | catalog_xmin | restart_lsn | confirmed_flush_lsn -------------+--------+-----------+--------+----------+-----------+---------------+------------+------+--------------+-------------+---------------------node_c_slot |        | physical  |        |          | f         | t   |            |      |              | 155/8802AD50| node_b_slot |        | physical  |        |          | f         | f   <-- 不活动 |      20314 |      |              | 53/1A005320 | (2 rows)

查询复制槽的lsn对应的wal文件

highgo=# SELECT  pg_walfile_name(pg_lsn('53/1A005320')) AS wal_file_name_offset;wal_file_name_offset   --------------------------00000007000000530000001A(1 row)

2. 查询wal最早的文件:

cd $PGDATA/pg_walls -lth
......-rw------- 1 root root  16M Feb 29 15:50 00000007000000530000001A    <--与前面复制槽占用的文件一致-rw------- 1 root root  258 Feb 15 14:16 00000007.history-rw------- 1 root root  214 Feb 15 13:54 00000006.history

与最早的wal文件相符,说明wal是被复制槽占用,无法正常删除。

解决方案

与客户确认该复制槽node_b_slot未在使用,决定删除该复制槽

highgo=# select pg_drop_replication_slot('node_b_slot');pg_drop_replication_slot --------------------------(1 row)--手动执行checkpoint,触发清理walhighgo=# checkpoint ;CHECKPOINT

wal正常被清理。

http://www.xdnf.cn/news/6398.html

相关文章:

  • LeetCode LCR 015. 找到字符串中所有字母异位词 (Java)
  • 机器学习第十二讲:特征选择 → 选最重要的考试科目做录取判断
  • React 第四十二节 Router 中useLoaderData的用途详解
  • 【常用算法:排序篇】7.算法魔法与面试秘籍:从趣味排序到实战通关
  • 架空防静电地板材质全解析:选对材质,守护精密空间的“安全卫士”
  • 常用的关系性统计方法
  • 【物联网】基于树莓派的物联网开发【4】——WIFI+SSH远程登录树莓派
  • 2505C++,py和go调用雅兰亭库的协程工具
  • 2025年渗透测试面试题总结-阿里云[实习]阿里云安全-安全工程师(题目+回答)
  • 2025认证杯第二阶段数学建模B题:谣言在社交网络上的传播思路+模型+代码
  • 贝叶斯优化Transformer融合支持向量机多变量回归预测,附相关性气泡图、散点密度图,Matlab实现
  • 【Python 正则表达式】
  • PostgreSQL 联合索引生效条件
  • 揭秘LLM:矩阵运算揭秘LLM单词生成机制
  • C++11多线程thread、原子变量
  • Kafka 中过多的 topic 导致整体上性能变慢的原因
  • Spark--RDD中的转换算子
  • Node.js
  • Miniconda介绍介绍和使用
  • Web3.0:互联网的去中心化未来
  • FPGA: UltraScale+ bitslip实现(ISERDESE3)
  • 记一次bug排查(.exe链接mysql失败)-每天学习一点点
  • (5)python开发经验
  • 组合问题(去重)
  • C++23 新增的查找算法详解:ranges::find_last 系列函数
  • uniapp微信小程序-长按按钮百度语音识别回显文字
  • 印度Rummy游戏支付通道申请策略:技巧类游戏的合规与创新
  • 从零开始学习three.js(18):一文详解three.js中的着色器Shader
  • Spring MVC HttpMessageConverter 的作用是什么?
  • 区块链blog1__合作与信任