PG数据库跨库功能部署问题处理原创
金蝶云社区-好心司机
好心司机
2人赞赏了该文章 264次浏览 未经作者许可,禁止转载编辑于2023年12月28日 10:11:09

苍穹的垂直分库、水平分表的架构,使得开发者和用户无法直接通过SQL进行跨库、跨表的查询。

当需要进行跨库查询时,目前只能通过数据库的特性如PG的FDW扩展等实现。

实现方式参考大佬发布的帖子PostgresSQL 数据库 【跨库】 功能发布贴


本贴仅记录本人部署过程中遇到问题及处理方式,所有内容仅供参考,欢迎各位大佬指教补充。




准备信息:

MC、GPASS、数据库连接,数据库服务器连接

操作步骤:

1. MC升级补丁:发布附件

2. Gpass基础服务节点配置CUSLIBS:xsw_custom_pg

3. 新增分库作为跨库主库,从而不影响正常业务

3.1在环境的mc中新建分库标识。我们这里新建了一个test的分库标识。


3.2在环境的mc中选择你需要的数据中心,关闭启用按钮,并点击保存,方便后续修改数据中心。


3.3在环境的mc中新建你的应用的分库信息,我们这里新建了测试库的实例为next_gjtest。然后提交建库并保存。(这里有一个很重要的经验点,提交建库的时候,后面的状态标识只有你新增的分库才能是黄色感叹号,其他的应该是绿色的,如果其他的也是黄色的,千万不要点击提交建库,否则你所有的数据库都可能被重新初始化!!!


3.4在环境的mc中启用该数据中心,并保存


3.5在环境的mc中发布集群


4. 系统服务云-数据库跨库管理-PG数据库跨库管理(如无法新增,可到开发平台预览编辑界面新增一条记录,再修改)主数据库填写第33.1中新创建的分库标识;维护完信息依次点击‘保存’、‘创建数据库FDW扩展’(数据库实例名参考3.3图示数据库实例名


5.跨库执行成功

常见问题:

1.点击创建数据库FDW扩展,如果有这个错误,就用root登录pg数据库安装服务器;linux服务器,执行 ln -s /var/postgresql/soft/pg12.8/lib/libpq.so.5 /usr/lib64/libpq.so.5


2.点击创建数据库FDW扩展报错,在主数据执行建表语句create table pg_viewstempviews as select * from pg_views where 1=2


3.报错如图,跨库插件139行报错

3.1 数据库工具执行报错行语句

/*dialect*/ import foreign schema public from server sys into sys

3.2 经上分析,参考处理:password authentication failed for user


赞 2