我正在尝试寻找导致复制插槽无效的原因。可能看起来像是一个补救问题,但我注意到在我的主数据库服务器上,我有许多非活动复制插槽占用了磁盘上的一些空间。我知道我可以使用pg_drop_replication_slot(slot_name name)命令删除非活动插槽。
但我也希望能够回顾一下我们如何处理我们的工作/代码,看看我们是否做错了什么。
如果子服务器脱机...从我读过的内容(以及从一些基本测试中我可以看到就是这种情况),它应该在它恢复时重新连接到同一个插槽。所以不太确定导致插槽无效的原因。
这是我正在运行的查询,看看是什么:
widgets=# SELECT slot_name, database, active, pg_xlog_location_diff(pg_current_xlog_insert_location(), restart_lsn) AS retained_bytes
widgets-# FROM pg_replication_slots
widgets-# WHERE plugin = 'bdr';
slot_name | database | active | retained_bytes
--------------------------+--=-------+--------+------------------------
bdr_16385_12345_1_1111__ | widgets | f | 2431628304
bdr_16385_11111_1_1638__ | widgets | f | 2432065824
bdr_16385_22222_1_1638__ | widgets | t | 56
bdr_16385_33333_1_2222__ | widgets | t | 56
bdr_16385_44441_1_1111__ | widgets | f | 2432185336
bdr_16385_55551_1_1111__ | widgets | f | 1133538200
bdr_16385_66661_1_1111__ | widgets | f | 2431950952
bdr_16385_77771_1_1111__ | widgets | f | 2432057320
bdr_16385_88881_1_1111__ | widgets | f | 2331233432
(9 rows)
widgets=#
任何意见都将不胜感激。