postgresql 概念 - 逻辑复制 - 物理复制槽 sender
1. 防范失控的复制槽
复制槽(物理复制槽)提供了一种便捷的方法来防止备库与主备不同步,它也是实现逻辑复制的基本组件。
让wal不会被移除掉
2. 复制槽的工作原理:
主库PostgreSQL实例会一直保留预写日志(WAL)文件,直到所有备库所需的插槽都确认已接收到特定段为止。只有完成此操作后,主库实例才会移除相应的WAL文件。
3. 隐患:
有一个复制槽未被感知到与备库失联,因此我的数据库主库一直保留WAL文件。如果不进行干预,我的PostgreSQL实例可能会耗尽磁盘空间并完全崩溃。
PostgreSQL 13隐藏"杀手锏"特性 - 云+社区 - 腾讯云 (tencent.com)
DBMS 正常情况下是可以对 WAL 进行自动 remove/recycle,如果出现 WAL 清理不掉的情况,且参数无可疑之处,
多半是其他原因引起的,需要仔细分析原因,切忌“头痛医头脚痛医脚”。比如此例中是因为废弃的物理复制槽导致,其实废弃的逻辑复制槽亦可导致此问题。
检查sender == 应该有两个,同时检查从库得服务状态
[root@iZ2zeijrvu2s38mfzvzrc3Z ~]# ps aux|grep sender postgres 13381 4.3 1.5 13481144 775172 ? Ss Jan06 221:30 postgres: wal sender process repuser 119.143.122.14(58740) idle postgres 21268 0.8 0.0 13202092 4248 ? Ss 2021 1111:33 postgres: wal sender process repuser 10.0.37.12(48374) streaming 8E0F/FA334630 root 24934 0.0 0.0 112712 988 pts/0 S+ 23:48 0:00 grep --color=auto sender
用一个例子来演示会更加清晰
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2018-08-30 upsteam - server 配置记录 上传文件大小 size client - 优先级高proxy_params