PostGres xl ERROR: Snapshot too old - RecentGlobalXmin......

某天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

PostGres xl ERROR: Snapshot too old - RecentGlobalXmin......的相关文章

Postgres XL FAQ

Q. What does XL stand for? XL is short for eXtensible Lattice. It also connotes an extra large version of PostgreSQL, in this case across multiple systems. Q. Is this a "NoSQL" solution? No, Postgres-XL supports traditional SQL, strongly conform

HP P2055d激光打印机PCL XL error的解决

近日,于客户处安装HP P2055d激光打印机(2009年11月份生产的机器),介绍下硬件环境:PC:Dell OptiPlex 360,另有一台富士通DPK 8600E票据打印机,P2055d通过USB数据线与PC相连:软件环境:操作系统Windows XP SP2,使用随机附带的驱动盘,安装完操作系统及驱动后,即安装此HP P2055d打印机,安装完驱动后,打印測试页,OK:然后,安装富士通DPK 8600E,安装完毕后此DPK8600E一切正常,结果P2055d挂了,打印文档总是打印出一张

etcd raft library设计原理和使用

早在2013年11月份,在raft论文还只能在网上下载到草稿版时,我曾经写过一篇blog对其进行简要分析.4年过去了,各种raft协议的讲解铺天盖地,raft也确实得到了广泛的应用.其中最知名的应用莫过于etcd.etcd将raft协议本身实现为一个library,位于https://github.com/coreos/etcd/tree/master/raft,然后本身作为一个应用使用它. 本文不讲解raft协议核心内容,而是站在一个etcd raft library使用者的角度,讲解要用上这

maintenance.go

package clientv3 import (     "io"     pb "github.com/coreos/etcd/etcdserver/etcdserverpb"     "golang.org/x/net/context"     "google.golang.org/grpc" ) type (     DefragmentResponse pb.DefragmentResponse     AlarmR

使用Docker 方式在Centos 7.0 安装配置Sentry

一.简介 sentry是一个强大的分布式报错信息收集平台,图形化程度很高,可以帮助我们直观的发现当前部署的系统存在哪些问题. 二.安装方式介绍 官网链接:https://docs.sentry.io/ 官方提供了两种安装方式:Docker  和  python 注:我这里选择使用Docker 的方式来进行安装配置sentry,原因是官网说了python这种方式已经被Docker安装方式代替了,原话如下: This method of installation is deprecated in f

Flutter 功能型组件:异步UI更新(FutureBuilder\StreamBuilder)

前言 很多时候会依赖一些异步数据来动态更新UI,比如在打开一个页面时我们需要先从互联网上获取数据,在获取数据的过程中我们显示一个加载框,等获取到数据时我们再渲染页面:又比如想展示Stream(比如文件流.互联网数据接收流)的进度.当然,通过StatefulWidget完全可以实现上述这些功能.但由于在实际开发中依赖异步数据更新UI的这种场景非常常见,因此Flutter专门提供了FutureBuilder和StreamBuilder两个组件来快速实现这种功能. 接口描述 FutureBuilder

Android emulator: ERROR: Unable to load VM from snapshot.

Android emulator: ERROR: Unable to load VM from snapshot. The snapshot has been saved for a different. 昨天使用Inteliij IDEA 编译工程,运行的时候,遇到了上面这个问题. 解决办法.点击loris(这里会显示你的工程名),编辑运行配置. 选择 Target Device.选择第一个对话框就可以,重新运行就可以了.

hbase源码系列(七)Snapshot的过程

在看这一章之前,建议大家先去看一下snapshot的使用.可能有人会有疑问为什么要做Snapshot,hdfs不是自带了3个备份吗,这是个很大的误区,要知道hdfs的3个备份是用于防止网络传输中的失败或者别的异常情况导致数据块丢失或者不正确,它不能避免人为的删除数据导致的后果.它就想是给数据库做备份,尤其是做删除动作之前,不管是hbase还是hdfs,请经常做Snapshot,否则哪天手贱了... 直接进入主题吧,上代码. public void takeSnapshot(SnapshotDes

The process could not read file xxx due to OS error 53

  在不同地域的两个SQL Server服务器上配置了复制(Replication)用于同步数据(生产环境配置有Replication,测试环境也配有Replication),两地通过专线连接起来,这些复制(Replication)已经稳定运行了一两年了, 但是前阵子,测试环境的SQL Server的Replication中突然遇到下面错误: Error messages: The process could not read file '\\xxx\xxx\xxx\xxx\xxx\xxx.pr