问题描述
在我们的设置中,show pool_nodes 显示了非常高的 replication_delay 并且它不断增加,因为任何新查询都不会在从属设备中复制
以下是 show pool_nodes 命令的输出,有没有办法重置它,如果没问题,数据会丢失,因为这不是实时/生产系统。 >
[root@DB2 ~]# psql -h DB-HA-Hostname -U postgres -p 5432 -c 'show pool_nodes'
node_id | hostname | port | status | lb_weight | role | select_cnt | load_balance_node | replication_delay | last_status_change
---------+--------------------------------------+------+--------+-----------+---------+------------+-------------------+-------------------+---------------------
0 | DB1-hostname | 5432 | up | 0.500000 | primary | 0 | true | 0 | 2021-01-11 19:32:00
1 | DB2-hostname | 5432 | up | 0.500000 | standby | 0 | false | 54986528 | 2021-01-11 19:32:00
(2 rows)
我尝试过,重新启动节点、重新启动 pgpool、重新启动 postgresql 、删除数据库等……但没有运气。一旦从属设备连接,replication_delay 再次高..
解决方法
检查复制是否正在运行如果它没有运行重新配置备用然后附加节点
select * from pg_stat_replication;
在进行 basebackup 后启动 postgresql 服务器,然后在 pgpool 上启动 pcp-attach-node