postgresql - PostgreSQL 逻辑复制堆栈错误“无法从 WAL 流接收数据:服务器意外关闭连接”
问题描述
我在 AWS rd 上的 2 个 PostgreSQL 服务器(x86_64-pc-linux-gnu 上的 PostgreSQL 10.6,由 gcc (GCC) 4.8.3 20140911(Red Hat 4.8.3-9),64 位编译)之间建立了逻辑复制
在向主服务器添加一些数据后,副本端数据无法更新,复制延迟增长到几 Gb 大小。
试图将 wal_sender_timeout 的值增加到 300000
检查复制槽滞后的脚本
SELECT pg_replication_slots.slot_name,
pg_wal_lsn_diff(pg_current_wal_lsn(), pg_replication_slots.restart_lsn) AS replicationslotlag,
pg_replication_slots.active,
pg_replication_slots.database,
pg_replication_slots.active_pid
FROM pg_replication_slots
删除并重新创建订阅有所帮助,但正在寻找成本更低的解决方案
解决方案
推荐阅读
- mysql - FIND_IN_SET 或 SELECT * FROM
- c - 将两个字符从字符串移动到另一个字符串出错
- python - 有没有像 Python 的微型 ORM 这样的 Dapper?
- java - 错误:MainActivity 不是抽象的,并且不会覆盖 FABProgressListener 中的抽象方法 onFABProgressAnimationEnd()
- sql - 尝试在 Excel 中运行 SQL 时,关键字“用户”附近的语法不正确
- react-native - react-native 不使用 startInLoadingState={true} 在 WebView 中呈现远程 PDF
- javascript - 从 Cloud Firebase 获取价值并显示元素取决于 if/else 语句
- dns - google.com 的 DNS 请求在不同的时间返回不同的 a_record,即使名称服务器每次都相同
- python-3.x - 如何在函数中使用 calendar.leapdays() 来返回给定列表中有多少闰年?
- linux - 如何启动将启动另一个 bash 文件的 bash 脚本?