要使用 foreign data wrapper,首先需要安装并启用相应的扩展。常见的 FDW 包括 postgres_fdw(用于连接到其他 PostgreSQL 数据库)、file_fdw(用于访问文件系统中的数据)和 mysql_fdw(用于连接到 MySQL 数据库)等。
以下是一个简单的例子,演示如何使用 postgres_fdw 创建一个连接到另一个 PostgreSQL 数据库的 foreign table:
-- 在目标 PostgreSQL 数据库中创建一个服务器
CREATE SERVER remote_server
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host 'remote_host', dbname 'remote_db', port '5432');
-- 创建一个用户映射,用于指定连接参数
CREATE USER MAPPING FOR local_user
SERVER remote_server
OPTIONS (user 'remote_user', password 'remote_password');
-- 创建一个 foreign table,映射到远程表
CREATE FOREIGN TABLE remote_table
(id INT, name VARCHAR)
SERVER remote_server
OPTIONS (table_name 'remote_table');
-- 查询远程表的数据
SELECT * FROM remote_table;
上述代码中,remote_server 是一个指向远程 PostgreSQL 服务器的引用,local_user 是本地 PostgreSQL 用户,remote_table 是一个 foreign table,它映射到远程 PostgreSQL 数据库中的表。
通过使用 foreign data wrappers,PostgreSQL 提供了一种灵活的方式来整合来自不同数据源的数据,从而使得在同一个查询中可以跨多个数据存储进行联合查询。
转载请注明出处:http://www.zyzy.cn/article/detail/8430/PostgreSQL