openGauss学习笔记-97 openGauss 数据库管理-访问外部数据库-dblink

文章目录

    • [openGauss学习笔记-97 openGauss 数据库管理-访问外部数据库-dblink](#openGauss学习笔记-97 openGauss 数据库管理-访问外部数据库-dblink)
      • [97.1 编译dblink](#97.1 编译dblink)
      • [97.2 常用的dblink函数](#97.2 常用的dblink函数)
      • [97.3 注意事项](#97.3 注意事项)

openGauss的fdw实现的功能是各个openGauss数据库及远程服务器(包括数据库、文件系统)之间的跨库操作。目前支持的远程服务器类型包括Oracle、MySQL(MariaDB)、openGauss(postgres_fdw)、file_fdw 、dblink。

dblink是一个可以在一个openGauss数据库会话中连接到其它openGauss数据库的工具,同libpq支持的连接参数一致,可参考**链接参数**。openGauss默认不编译dblink,下面依次介绍如何编译和使用dblink。

当前dblink的源码放在contrib/dblink目录中。在编译安装完openGauss数据库之后,如果用户需要使用dblink,只需要进入上述目录执行如下即可完成dblink的编译安装。

bash 复制代码
make
make install

97.2 常用的dblink函数

  • 加载dblink扩展

    sql 复制代码
    CREATE Extension dblink;
  • 打开一个到远程数据库的持久连接

    sql 复制代码
    SELECT dblink_connect(text connstr);
  • 关闭一个到远程数据库的持久连接

    sql 复制代码
    SELECT dblink_disconnect();
  • 在远程数据库执行查询

    sql 复制代码
    SELECT * FROM dblink(text connstr, text sql);
  • 在远程数据库执行命令

    sql 复制代码
    SELECT dblink_exec(text connstr, text sql);
  • 返回所有打开的命名dblink连接的名称

    sql 复制代码
    SELECT dblink_get_connections();
  • 发送一个异步查询到远程数据库

    sql 复制代码
    SELECT dblink_send_query(text connname, text sql);
  • 检查连接是否正在忙于一个异步查询

    sql 复制代码
    SELECT dblink_is_busy(text connname);
  • 删除扩展

    sql 复制代码
    DROP Extension dblink;

97.3 注意事项

目前dblink仅支持openGauss数据库访问另一个openGauss数据库,不支持openGauss数据库访问PostgreSQL数据库。

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

相关推荐
ss2731 小时前
为什么PostgreSQL适合AI场景?
数据库·人工智能·postgresql
瑞克-桑切斯1 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
z06.2 小时前
MySQL索引
数据库·mysql
考虑考虑2 小时前
Posrgresql恢复.backup文件
数据库·后端·postgresql
云祺vinchin2 小时前
中小企业备份软件选型从恢复需求到总体成本评估
数据库·数据备份·中小企业备份·容灾备份软件
Zenova EdgeOS3 小时前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
KKKlucifer3 小时前
国内数据安全服务的产品智能化转型:大模型赋能下的技术能力重构分析
大数据·数据库·重构
字节跳动开源4 小时前
OpenViking 上线原生 3D 内容理解模型
数据库·开源
CCIE-Yasuo6 小时前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
这个DBA有点耶6 小时前
内核级AI与多模融合:AI数据库在海外场景的落地要点
数据库·人工智能·架构