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数据库。

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

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

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

相关推荐
星辰离彬2 小时前
数据库优化技巧:MySQL 重复数据查询与删除(仅保留一条)的性能优化策略
数据库·mysql
霖檬ing2 小时前
PostgreSQL
数据库·postgresql
2401_836836592 小时前
PostgreSQL使用
数据库·postgresql
swcq_3 小时前
DS18B20 温度传感器实验探索与实践分享
数据库
风123456789~3 小时前
【Oracle 专栏】清理用户及表空间
数据库·oracle
Bug退退退1234 小时前
Redis 的 key 的过期策略是怎么实现的
数据库·redis·缓存
Brookty5 小时前
【MySQL】数据库约束
数据库·后端·学习·mysql
Access开发易登软件5 小时前
Access链接Azure SQL
数据库·后端·sql·flask·vba·azure·access
bing_1586 小时前
如何映射 MongoDB 的 _id 字段?
数据库·mongodb
程序员麻辣烫6 小时前
go语法大赏
开发语言·数据库·golang