前言:
随着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、确认数据
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




