我继承了运行postgres 8.4和slony 1.2.21的5节点postgres集群。我们正在将应用程序迁移到所有新代码,并且不希望对集群进行非常少的维护。昨天我们决定从集群中取出两个未使用的节点。对于集群中的两个节点,我们使用slonik脚本DROP NODE
。这似乎工作正常,我们今天关闭节点。但是我今天早上注意到,我们收集写入的master数据库没有将更改复制到其他服务器。我已经尝试了所有我能想到的东西,但它似乎似乎没有任何效果。
当我运行查询以收集状态时,我发现事件自昨天起才被确认。 st_last_received根本没有改变。
st_origin | st_received | st_last_event | st_last_event_ts | st_last_received | st_last_received_ts | st_last_received_event_ts | st_lag_num_events | now
-----------+-------------+---------------+----------------------------+------------------+----------------------------+----------------------------+-------------------+-------------------------------
25 | 24 | 26196903 | 2016-11-29 17:39:06.859051 | 26187885 | 2016-11-29 12:51:45.396619 | 2016-11-28 11:11:48.909855 | 9018 | 2016-11-29 17:39:07.247598-05
25 | 27 | 26196903 | 2016-11-29 17:39:06.859051 | 26187885 | 2016-11-28 11:11:49.203193 | 2016-11-28 11:11:48.909855 | 9018 | 2016-11-29 17:39:07.247598-05
25 | 26 | 26196903 | 2016-11-29 17:39:06.859051 | 26187885 | 2016-11-28 11:11:50.253235 | 2016-11-28 11:11:48.909855 | 9018 | 2016-11-29 17:39:07.247598-05
我首先在所有节点上重新启动了slony守护进程,然后多次执行此操作。我已将调试设置为级别4以进行调试日志记录,并且已经梳理了它们而没有发现任何问题。
我查看了所有 .sl _ 表中的任何可能告诉我它为什么不起作用的内容。
重要复制集的配置如下。
select * from _ads.sl_set;
set_id | set_origin | set_locked | set_comment
--------+------------+------------+-----------------
1 | 25 | | mgt tables
select * from _ads.sl_subscribe ;
sub_set | sub_provider | sub_receiver | sub_forward | sub_active
---------+--------------+--------------+-------------+------------
1 | 25 | 26 | t | t
1 | 25 | 27 | t | t
2 | 25 | 27 | t | t
1 | 25 | 24 | t | t
select * from _ads.sl_listen ;
li_origin | li_provider | li_receiver
-----------+-------------+-------------
24 | 24 | 25
26 | 26 | 25
27 | 27 | 25
27 | 25 | 26
26 | 25 | 27
27 | 25 | 24
24 | 25 | 27
24 | 25 | 26
26 | 25 | 24
26 | 24 | 25
27 | 26 | 25
26 | 27 | 25
24 | 26 | 25
27 | 24 | 25
24 | 27 | 25
25 | 25 | 24
25 | 25 | 26
25 | 25 | 27
任何关于在哪里寻找的建议,帮助或想法都将不胜感激。我现在已经完全处于恐慌模式。