当前位置: 首页 > news >正文

Hologres 使用 FDW

在 Hologres 或 PostgreSQL 中,FDW 是 Foreign Data Wrapper 的缩写。

✅ 什么是 FDW(Foreign Data Wrapper

FDW 是 PostgreSQL 提供的一种插件机制,允许数据库通过定义 FOREIGN TABLE(外部表)的方式访问其他系统的数据。它充当 PostgreSQL 和外部数据源之间的“桥梁”或“驱动程序”。

🧠 类比:FDW 就像是“数据库驱动”(类似 JDBC 驱动),只不过它作用于表级别,让 PostgreSQL 能“看见”外部数据库的表并进行查询。


🚀 FDW 的作用

  • 允许 PostgreSQL 或 Hologres 查询其他数据库或服务中的数据,就像查询本地表一样。

  • 可以实现“联邦查询”(federated query),把多个系统的数据整合在一起分析。

  • 某些 FDW 实现支持数据写入、事务处理、下推谓词等高级功能。


🧰 常见的 PostgreSQL FDW 插件

FDW 名称支持的数据源是否支持写入
postgres_fdw其他 PostgreSQL 数据库✅(读写)
mysql_fdwMySQL、MariaDB✅(部分写入)
oracle_fdwOracle 数据库✅(部分写入)
file_fdwCSV 文件、本地文件❌(只读)
mongodb_fdwMongoDB❌ 或有限支持
odbc_fdw任意 ODBC 支持的数据源❌(依赖驱动)

需要安装和配置相应的 FDW 才能使用它,比如:

CREATE EXTENSION postgres_fdw;

然后就可以创建远程服务器并定义外部表。


🔹 Hologres 中的 FDW

Hologres 也基于 PostgreSQL FDW 框架构建,但它的 FDW 插件是阿里云官方定制的,并不开放扩展插件安装。它支持以下数据源作为外部数据源

  • MaxCompute(odps_fdw)

  • Kafka(用于流式表)

  • OSS(通过文件接口)

  • AnalyticDB、Lindorm 等

这些都内置于 Hologres,通过 CREATE FOREIGN TABLE 访问,并不需要手动安装 FDW 插件。


🧪 示例:PostgreSQL 使用 FDW 访问另一个 PostgreSQL 数据库

-- 安装扩展
CREATE EXTENSION IF NOT EXISTS postgres_fdw;-- 创建一个外部服务器
CREATE SERVER foreign_pg_serverFOREIGN DATA WRAPPER postgres_fdwOPTIONS (host '192.168.1.100', dbname 'remote_db', port '5432');-- 创建用户映射
CREATE USER MAPPING FOR CURRENT_USERSERVER foreign_pg_serverOPTIONS (user 'remote_user', password 'remote_pass');-- 创建外部表(映射远端表)
CREATE FOREIGN TABLE remote_users (id INT,name TEXT
)
SERVER foreign_pg_server
OPTIONS (schema_name 'public', table_name 'users');

之后就可以执行:

SELECT * FROM remote_users;

就像访问本地表一样查询远程 PostgreSQL 表的数据。


✅ 总结一句话:

FDW 是 PostgreSQL(包括 Hologres)提供的一种机制,用于访问外部数据源。通过 FDW,可以把外部数据库或文件系统的数据“挂载”为本地表,从而实现跨源查询和数据整合。

相关文章:

  • 1、自然语言处理任务全流程
  • 内容搜索软件AnyTXT.Searcher忘记文件名也能搜,全文检索 1 秒定位文件
  • Snapchat矩阵运营新策略:亚矩阵云手机打造高效社交网络
  • 【好用但慎用】Windows 系统中将所有 WSL 发行版从 C 盘迁移到 非系统 盘的完整笔记(附 异常处理)
  • 文件上传优化(图片压缩)
  • 【StarRocks系列】join查询优化
  • 从0开始学习R语言--Day28--高维回归
  • Keil 安装 CMSIS-FreeRTOS 失败解决方案
  • ByteMD Markdown编辑器详细解释修改编辑器默认样式(高度300px)
  • 张之瞳全新单曲《6:30am》上线:以音乐定格青春遗憾中的诗意守望
  • 【知识图谱提取】【阶段总结】【LLM4KGC】LLM4KGC项目提取知识图谱推理部分
  • Qt 连接信号使用lambda表达式和槽函数的区别
  • vue3+arcgisAPI4案例:智慧林业资源监测分析平台(附源码下载)
  • SQLite 数据库操作完整指南
  • 怎么在word中对论文图片、公式进行编号、引用
  • 人形机器人_双足行走动力学:本田机械腿的倒立摆模型
  • 信息论复习-期末自用
  • 跨平台常见RTSP播放器选型全解析
  • 小程序右上角○关闭事件
  • 湖北理元理律师事务所债务优化方案:平衡还款与生活的法律实践
  • 做网站后台系统的规范/信息流广告的特点
  • 做网站的得花多钱/网游推广员
  • 网站流量来源/seo学校
  • 新网站优化怎么做/怎么建立自己的网站平台
  • 收废品做网站怎么做/凡客建站
  • 云浮营销建站公司/海南百度推广开户