某天postgres xl集群执行pgxc_ctl stop all命令关闭集群,并重启集群,连接某节点,发觉读取某张表出现了以下错误
postgres=# select count(*) from t4;
ERROR: Snapshot too old - RecentGlobalXmin (260760) has already advanced past the snapshot xmin (210218)
postgres=#
查看第一个节点的txid,如下
postgres=# select txid_current();
txid_current
--------------
210218
查看第二个节点txid,如下
postgres=# select txid_current();
txid_current
--------------
260762
(1 row)
这个问题是因为节点之间txid不一致问题引起,
解决方法,执行以下命令关闭集群并重新启动,txid节点就会一致
pgxc_ctl "stop -m immediate all"
时间: 2024-10-25 23:58:42