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 小时前
Redis的Key和Value的设计原则有哪些?
数据库·redis·缓存
AI_56782 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
ccecw3 小时前
Mysql ONLY_FULL_GROUP_BY模式详解、group by非查询字段报错
数据库·mysql
JH30733 小时前
达梦数据库与MySQL的核心差异解析:从特性到实践
数据库·mysql
数据知道3 小时前
PostgreSQL 核心原理:如何利用多核 CPU 加速大数据量扫描(并行查询)
数据库·postgresql
麦聪聊数据4 小时前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
未来之窗软件服务4 小时前
数据库优化提速(四)新加坡房产系统开发数据库表结构—仙盟创梦IDE
数据库·数据库优化·计算机软考
Goat恶霸詹姆斯5 小时前
mysql常用语句
数据库·mysql·oracle
大模型玩家七七6 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
曾经的三心草6 小时前
redis-9-哨兵
数据库·redis·bootstrap