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

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

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

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

相关推荐
AI人工智能+电脑小能手4 小时前
【大白话说Java面试题 第87题】【Mysql篇】第17题:分布式事务的实现原理?
java·数据库·分布式·mysql·面试
yyuuuzz4 小时前
独立站的技术基础与常见运维问题
大数据·运维·服务器·网络·数据库·aws
键盘上的猫头鹰8 小时前
【MySQL 教程(八)】索引、事务、用户管理、导入导出与分页查询
数据库·python·mysql
Royzst8 小时前
数据库知识点
数据库
雪的季节8 小时前
企业级 Qt 全功能项目
开发语言·数据库·qt
宋浮檀s8 小时前
应急响应——Web漏洞:命令执行+SSRF+弱口令
运维·数据库·sql·网络安全·oracle·应急响应
yurenpai(27届找实习中)10 小时前
redis_点评(21.好友关注——关注、取关功能实现;共同关注功能实现)
数据库·redis·缓存
Rick199310 小时前
索引的排序和分组
数据库·mysql
爱莉希雅&&&10 小时前
zabbix快速搭建和使用
android·linux·数据库·zabbix·监控
JohnYan10 小时前
工作笔记 - PG分组极值
数据库·后端·postgresql