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_fdw MySQL、MariaDB ✅(部分写入)
oracle_fdw Oracle 数据库 ✅(部分写入)
file_fdw CSV 文件、本地文件 ❌(只读)
mongodb_fdw MongoDB ❌ 或有限支持
odbc_fdw 任意 ODBC 支持的数据源 ❌(依赖驱动)

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

sql 复制代码
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 数据库

sql 复制代码
-- 安装扩展
CREATE EXTENSION IF NOT EXISTS postgres_fdw;

-- 创建一个外部服务器
CREATE SERVER foreign_pg_server
  FOREIGN DATA WRAPPER postgres_fdw
  OPTIONS (host '192.168.1.100', dbname 'remote_db', port '5432');

-- 创建用户映射
CREATE USER MAPPING FOR CURRENT_USER
  SERVER foreign_pg_server
  OPTIONS (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');

之后就可以执行:

sql 复制代码
SELECT * FROM remote_users;

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


✅ 总结一句话:

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

相关推荐
xiaobaishuoAI8 分钟前
后端工程化实战指南:从规范到自动化,打造高效协作体系
java·大数据·运维·人工智能·maven·devops·geo
俊哥大数据16 分钟前
【实战项目5】基于Flink新闻热搜大数据实时分析项目
大数据·flink
俊哥大数据20 分钟前
【实战项目3】基于Flink广告投放业务领域大数据实时分析项目
大数据·flink
学好statistics和DS34 分钟前
Git 同步冲突
大数据·git·elasticsearch
俊哥大数据40 分钟前
【实战项目4】Hadoop金融信贷大数据离线分析项目
大数据·hadoop·金融
samLi062041 分钟前
【工具变量】上市公司是否为高科技行业DID数据-含参考文献及代码(1990-2024年)
大数据
智能相对论11 小时前
CES深度观察丨智能清洁的四大关键词:变形、出户、体验以及生态协同
大数据·人工智能
焦耳热科技前沿12 小时前
北京科技大学/理化所ACS Nano:混合价态Cu₂Sb金属间化合物实现高效尿素电合成
大数据·人工智能·自动化·能源·材料工程
min18112345613 小时前
深度伪造内容的检测与溯源技术
大数据·网络·人工智能
武子康13 小时前
大数据-209 深度理解逻辑回归(Logistic Regression)与梯度下降优化算法
大数据·后端·机器学习