compat-tools插件
- 本项目是一个兼容工具集合,旨在为从其他异构数据库,迁移到 OpenGauss 之后的系统,创建必要的函数,以及系统视图的兼容。为后续的系统运维与应用改造提供便利,项目地址
https://gitee.com/enmotech/compat-tools - 脚本中带有版本控制,直接运行脚本时,会根据如下三种情况进行处理:
- 若待创建对象在目标数据库中不存在,则直接进行创建
- 若待创建对象版本高于目标数据库中的对象版本,则进行升级重建
- 若待创建对象版本不高于目标数据库中的对象版本,则跳过创建
- 下载安装包并解压
[omm@raca2 ~]$ ll
total 140
-rw-r--r-- 1 omm omm 141024 Aug 16 15:11 compat-tools-master.zip
[omm@raca2 ~]$ unzip compat-tools-master.zip
[omm@raca2 ~]$ ll
total 144
drwx------ 3 omm omm 4096 Jun 15 16:23 compat-tools-master
-rw-r--r-- 1 omm omm 141024 Aug 16 15:11 compat-tools-master.zip
- 查看软件架构
[omm@raca2 ~]$ cd compat-tools-master
[omm@raca2 compat-tools-master]$ ll
total 932
-rwxr-xr-x 1 omm omm 4908 Jun 15 16:23 batch_executor.py
-rw------- 1 omm omm 4231 Jun 15 16:23 checkMe.sql
-rw------- 1 omm omm 5966 Jun 15 16:23 CONTRIBUTING.md
-rw------- 1 omm omm 77393 Jun 15 16:23 DB2_Functions.sql
-rw------- 1 omm omm 6875 Jun 15 16:23 flush_privileges.sql
-rw------- 1 omm omm 9592 Jun 15 16:23 LICENSE
-rw------- 1 omm omm 109251 Jun 15 16:23 MySQL_Functions.sql
-rw------- 1 omm omm 0 Jun 15 16:23 MySQL_Views.sql
-rw------- 1 omm omm 169696 Jun 15 16:23 Oracle_Functions.sql
-rw------- 1 omm omm 225075 Jun 15 16:23 Oracle_Packages.sql
-rw------- 1 omm omm 15606 Jun 15 16:23 Oracle_Types.sql
-rw------- 1 omm omm 239481 Jun 15 16:23 Oracle_Views.sql
-rw------- 1 omm omm 212 Jun 15 16:23 Oracle_Views_Upper.sql
-rw------- 1 omm omm 22466 Jun 15 16:23 README.md
-rw------- 1 omm omm 7310 Jun 15 16:23 runMe.sql
-rw------- 1 omm omm 8421 Jun 15 16:23 test.py
-rw------- 1 omm omm 129 Jun 15 16:23 test_result.md
-rw------- 1 omm omm 9268 Jun 15 16:23 uninstall.sql
- SQL文件:
- runMe.sql: 总执行脚本,执行创建所有的兼容性对象
- checkMe.sql: 总检查脚本,检查目标数据库中的兼容性对象是否需要升级
- flush_privileges.sql: 权限刷新脚本,将兼容性对象的使用权限授予全部用户
- uninstall.sql: 卸载脚本,用于移除 compat-tools 创建的一系列兼容性相关对象
- Oracle_Views.sql: Oracle数据库兼容性数据字典及视图
- Oracle_Functions.sql: Oracle数据库兼容性函数
- Oracle_Packages.sql: Oracle数据库管理包兼容
- MySQL_Views.sql: MySQL数据库兼容性数据字典及视图 //TODO
- MySQL_Functions.sql: MySQL数据库兼容性函数
- DB2_Functions.sql: DB2数据库兼容性函数
- 创建所有兼容性对象,包括: 视图,函数,管理包等。
[omm@raca2 compat-tools-master]$ gsql -d postgres -p 26000 -f runMe.sql
[omm@raca2 compat-tools-master]$ gsql -d postgres -p 26000
gsql ((MogDB 5.0.0 build 503a9ef7) compiled at 2023-06-26 16:30:36 commit 0 last mr 1804 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
MogDB=# select count(*) from compat_tools.compat_version;
count
-------
381
(1 row)
whale插件
- 下载地址https://www.mogdb.io/downloads/mogdb/all,根据数据库版本下载对应插件安装包
- 解压tar包并安装
[omm@raca2 ~]$ tar -xzvf whale-5.0.0-01-CentOS-x86_64.tar.gz
whale/Makefile
whale/whale--1.0.sql
whale/whale.control
whale/whale.so
[omm@raca2 ~]$ cd whale
[omm@raca2 whale]$ make install
- 连接数据库,创建extension
[omm@raca2 ~]$ gsql -d postgres -p 26000
gsql ((MogDB 5.0.0 build 503a9ef7) compiled at 2023-06-26 16:30:36 commit 0 last mr 1804 )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.
MogDB=# create extension whale;
ERROR: function "round" already exists with same argument types
- 报错原因:安装compat-tools插件时创建了
round(timestamptz,text)函数,该函数已存在,因此,安装whale插件报错 - 解决方式
1.先卸载compat-tools
[omm@raca2 compat-tools-master]$ gsql -d postgres -p 26000 -f uninstall.sql
2.执行create extension
MogDB=# create extension whale;
CREATE EXTENSION
3.重新安装compat-tools
[omm@raca2 compat-tools-master]$ gsql -d postgres -p 26000 -f runMe.sql
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




