openGauss的fdw实现的功能是各个openGauss数据库及远程服务器(包括数据库、文件系统)之间的跨库操作。目前支持的远程服务器类型包括Oracle、MySQL(MariaDB)、openGauss(postgres_fdw)、file_fdw 、dblink。
mysql_fdw是一款开源插件。openGauss基于开源的[mysql_fdw Release 2.5.3 版本进行开发适配。
编译和使用mysql_fdw需要环境上包含MariaDB的开发包,所以openGauss默认不编译mysql_fdw,下面依次介绍如何编译和使用mysql_fdw。
编译mysql_fdw需要安装MariaDB的开发库和头文件,推荐使用MariaDB的官方源进行安装。
配置好源后,使用yum install MariaDB-devel MariaDB-shared安装相关开发库。另外MariaDB-client是MariaDB的客户端工具,也可以根据需要安装,用于连接MariaDB进行测试。
安装好开发包后,就可以开始编译mysql_fdw了。编译时需要在执行configure时,加入**–enable-mysql-fdw选项。后续按照正常的openGauss编译方式编译即可。(openGauss的编译参考软件安装编译**)
编译完成后,编译产物为mysql_fdw.so,位于安装目录的lib/postgresql/ 下。mysql_fdw相关的sql文件和control文件,位于安装目录的**share/postgresql/Extension/**下。
如果编译安装时,没有加入**–enable-mysql-fdw选项,可以在openGauss安装完成后,再次编译mysql_fdw,然后手动将编译产物mysql_fdw.so放到对应的安装目录lib/postgresql/,将mysql_fdw–1.0–1.1.sql、mysql_fdw–1.1.sql、mysql_fdw–1.0.sql、mysql_fdw.control放到对应的安装目录share/postgresql/Extension/**即可。
使用mysql_fdw需要连接MariaDB或者MySQL Server,MariaDB或MySQL Server请自行安装。
加载mysql_fdw扩展:CREATE Extension mysql_fdw;
创建服务器对象:CREATE SERVER
创建用户映射:CREATE USER MAPPING
创建外表:CREATE FOREIGN TABLE
外表的表结构需要与MySQL/MariaDB侧的表结构保持一致。注意MySQL/MariaDB侧的表的第一个字段必须具有唯一性约束(如PRIMARY KEY、UNIQUE等)。
对外表做正常的操作,如INSERT、UPDATE、DELETE、SELECT、EXPLAIN、ANALYZE、COPY等。
删除外表:DROP FOREIGN TABLE
删除用户映射:DROP USER MAPPING
删除服务器对象:DROP SERVER
删除扩展:DROP Extension mysql_fdw;
点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!