【我和openGauss的故事】在Docker环境下测试openGauss的MOT特性

本文介绍了作者在学习OpenGauss过程中,通过Docker部署OpenGauss数据库,实践MOT表以及解决创建MOT表时遇到的问题,包括禁用增量检查点。作者还详细描述了如何将磁盘表转换为MOT表的过程。
摘要由CSDN通过智能技术生成

前言:

随着 pg 在国内越来越热,我也想赶紧的学习学习,pg 的挺多语法跟 mysql 和 oracle 不太一样,光看书还是不太行,还是得多动手。前面实践了下 mogdb,这次借着机会学习学习 openGauss。 本次实践的是 opengauss 的 MOT 表,我们都知道现在数据库的瓶颈都在 IO 上,内存操作的速度是极快的,MOT 特性就是建立在内存中的存储引擎。根据官档介绍 MOT 是 openGauss 数据库最先进的生产级特性,看起来好处多多啊,这次主要是尝尝鲜。这次实践是基于 docker 的,之前对 docker 不太感冒,每次做个实验都要弄一套不同版本的数据库环境,太费事了,自从用了 docker 以后,感觉不要太爽,不用再在自己电脑上弄一个个虚拟机了,直接装个 docker 环境,撸镜像得了。

一、利用 docker 拉起 openGuass

  • 1、配置好 docker 环境,这里就不再细讲了,网上都有保姆教程。 

  • 2、恩墨制作了 opengauss 3.0 的镜像,直接从网上拉镜像就可以。 

  • 3、确认镜像已经拉下来,总共 480M,不大也不小。 

  • 4、启动镜像,指定下密码就行,如果密码太简单会报错。 docker run --name myopengauss --privileged=true -d -e GS_PASSWORD=Gauss@123 enmotech/opengauss:3.0.0

二、测试 MOT 表

  • 1、新建一个普通用户 test 

  • 2、创建 MOT,在创建表的时候加关键词 foreign。 

在创建的时候可能会报,无法创建,这是因为如果 postgresql.conf 中开启了增量检查点,则无法创建 MOT。因此请在创建 MOT 前将 enable_incremental_checkpoint 设置为 off。

解决方案如下:

  • a.找到镜像的 postgresql.conf 配置文件 

  • b.修改 enable_incremental_checkpoint=off

  • c.基于现有镜像生成新镜像 

  • d.启动新镜像 

三、测试将磁盘表转换成 MOT 表

根据官方手册的说法,目前还不能一键实现磁盘表到 MOT 表的转换,需要利用导入导出的方法。转换步骤如下:

  • a、停应用,做的时候不能有写入。

  • b、利用 gs_dump 导出数据,必须使用 data only

  • c、重命名原表

  • d、新建 mot 表,与原表同名。

  • e、使用 gs_restore 导入数据

  • f、恢复应用。

  • 1、新建普通测试表,确认相关字段 MOT 都能支持。 

  • 2、导出表数据 

  • 3、重命名原表 

  • 4、新建同名 MOT 表 

  • 5、导入数据 

  • 6、确认数据 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值