一、问题现象

在测试openGauss/MogDB的时候,发现主库查询snapshot.tables_snap_timestamp这个表的时候,一select *,数据库就宕机,而备库是正常的。因为是测试环境不存在数据量太多的情况。所以最开始初步怀疑有数据页损坏了。

在分析的时候,因为是测试环境使用了vacuum full去测试(正常使用vacuun freeze应该就可以)。

报错为ERROR: uncommitted xmin 21506 from before xid cutoff 51237 needs to be frozen

通过返回结果猜测数据库在已经不允许执行事务的情况下被回滚的, 所以显示为uncommitted xid
根据vacuum full提示,它跳过了pg_type表,并且建议我们用maintenance模式去vavuum full处理它。
此外我们根据提示的xmin可以找到对应的是pg_type以及两个索引。

二、问题解决

maintenance模式类似于PostgreSQL的单用户模式。但是比较好的一点是,MogDB/openGauss的maintenance模式不需要PostgreSQL那样需要停掉PostgreSQL数据库再去使用。关于PostgreSQL的单用户模式可以参考我这一篇 PostgreSQL的单用户模式 - 墨天轮

1.使用maintenance模式连接数据库

以下两种方法均可。

方式一

gsql -d postgres -p 26000-r -m

方式二

gsql -d postgres -p 26000 -r
连接成功后,执行如下命令:
set xc_maintenance_mode=on;

2.使用vacuum freeze/vacuum full处理该系统表

正常使用vacuun freeze应该就可以。

再使用正常方式登录,去查询这个表。问题得以解决。

【openGauss/MogDB的uncommitted xmin问题解决】相关推荐

  1. 【参赛作品42】openGauss/MogDB数据库完美适配Grafana及Prometheus

    作者:彭冲 Grafana是一个跨平台.开源的度量分析和可视化工具,可以通过对接各种数据源并作可视化展示. Prometheus是著名开源监控项目,其监控任务由具体的exporter实现,export ...

  2. openGauss/MogDB WDR报告详解

    摘要 WDR(Workload Diagnosis Report)负载诊断报告,是openGauss的工作负载诊断报告,常用于判断openGauss长期性能问题.WDR报告基于两次不同时间点系统的性能 ...

  3. openGauss/MogDB脚本源码浅析(2)—— gs_install_plugin/gs_install_plugin_local

    摘要 MogDB提供了gs_install_plugin/gs_install_plugin_local工具用于安装插件,目前支持安装的插件包括pg_repack.pg_trgm.dblink.wal ...

  4. 【参赛作品61】openGauss/MogDB大对象LargeObject存取测试

    作者:彭冲 penGauss/MogDB数据库里bytea二进制类型受segment size编译参数限制,默认不能超过1GB,如果字段存储数据超过1GB可以使用lo(Large Object)扩展类 ...

  5. 【参赛作品37】openGauss/MogDB数据库函数创建的两种风格

    作者:彭冲 PostgreSQL风格 create or replace function months_between() returns number as $function$ beginret ...

  6. 【参赛作品38】openGauss/MogDB数据库触发器分两步拆解创建

    作者:彭冲 Oracle触发器参考例子 CREATE OR REPLACE TRIGGER ora_trigger AFTER UPDATE OR INSERT OR DELETE ON tab_x ...

  7. MogDB大对象LargeObject存取测试

    openGauss/MogDB数据库里bytea二进制类型受segment size编译参数限制,默认不能超过1GB,如果字段存储数据超过1GB可以使用lo(Large Object)扩展类型. 01 ...

  8. MogDB存储过程事务控制与异常块

    点击蓝字 关注我们 本文将分别在openGauss/MogDB和PostgreSQL数据库中测试存储过程commit与exception的使用. 实验一 1.PostgreSQL 先创建测试表: cr ...

  9. MogDB数据库如何完美适配Grafana及Prometheus?

    点击蓝字 关注我们 Grafana是一个跨平台.开源的度量分析和可视化工具,可以通过对接各种数据源并作可视化展示. Prometheus是著名开源监控项目,其监控任务由具体的exporter实现,ex ...

最新文章

  1. CentOS7使用systemctl添加自定义服务
  2. 1356. 回文质数【难度: 中 / 数学】
  3. 悲观锁代码java_悲观锁的代码实现如何编写?
  4. 计算机系统基础:计算机可靠性知识笔记
  5. 重学TCP协议(9) 半连接队列、全连接队列
  6. 软件测试实践报告文档,软件测试实践报告.doc
  7. 【Kubernetes】mac 安装minikube
  8. C++STL-priority_queue
  9. JAVA MIDP_Java MIDP2.1和JAVA MIDP2.0的本质区别是什么啊?
  10. 图形的认识(curve,surface,hypersurface)
  11. HTML5详细介绍及使用
  12. php微信抽奖系统源码,微信互动游戏营销活动抽奖系统 v1.1
  13. 开发者拒绝写技术博客的常见理由
  14. 推荐10 个短小却超实用的 JavaScript 代码段
  15. 使用TimerOne库
  16. Unity 年度总结:一款游戏的从0到1
  17. 二元置信椭圆r语言_R语言 第4章 初级绘图(6)
  18. HTML5+CSS大作业——汽车自驾游(10页) 自驾游主题HTM5网页设计作业成品
  19. 信息系统开发与管理【八】之 运行管理
  20. Allegro专题【2】——元器件封装制作

热门文章

  1. JAVA毕业设计HTML5运河古城网站计算机源码+lw文档+系统+调试部署+数据库
  2. 开源阅读书源_阅读_一个永远不会失效的小说阅读软件
  3. 【计算视觉】用Python识别人脸,表情,性别,颜值,人种...
  4. 全世界最让人无语的脑筋急转弯
  5. 最新ChatGPT商业网站源码+支持ChatGPT4.0+新增GPT联网功能+支持ai绘画+实时语音识别输入+用户会员套餐
  6. 给一个二维码进行扫码支付,怎么测试?
  7. Google原生输入法LatinIME词库构建流程分析(二)
  8. 《人生的意义与价值 》季羡林
  9. 【Ubuntu】修改系统时间
  10. 《码农讽老板纳谏》马农修八尺有余,而形貌昳丽···