Foreign Data Wrapper(外部数据包装器,简称 FDW) 是 PostgreSQL(以及一些其他支持该特性的数据库系统)中的一项核心功能,它的主要作用是让数据库能够像访问本地表一样,去访问和处理存储在外部数据源中的数据。
下面从几个层面来说明它的作用:
FDW 相当于一个“适配器”,把外部数据源(如其他数据库、文件、Web API 等)映射成数据库中的“外部表(Foreign Table)”。
你可以直接写 SQL 查询这些外部表,而不需要:
-- 安装 FDW 扩展
CREATE EXTENSION postgres_fdw;
-- 创建外部服务器
CREATE SERVER remote_pg
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host '192.168.1.10', dbname 'remote_db');
-- 创建用户映射
CREATE USER MAPPING FOR current_user
SERVER remote_pg OPTIONS (user 'remote_user', password 'pwd');
-- 创建外部表
CREATE FOREIGN TABLE remote_users (
id int,
name text
)
SERVER remote_pg
OPTIONS (schema_name 'public', table_name 'users');
-- 像本地表一样查询
SELECT * FROM remote_users;
如果你愿意,我可以进一步介绍:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。