PostgreSQL 安装 POSTGRES_FDW
PostgreSQL 安装 POSTGRES_FDW 插件
postgres_fdw 模块提供外部数据包装器 postgres_fdw 它可以用于访问存储在外部 PostgreSQL 服务器中的数据。
使用 postgres_fdw 访问外部数据需要做以下几点准备:
1、使用 CREATE extension 安装 postgres_fdw 扩展
2、使用 create server 创建外部服务器对象表示你所需要连接到的数据库
3、使用 create user mapping 创建用户映射允许访问每个外部服务器
4、使用 create foreign table 创建外部表
案例:现在 192.168.30.140 服务器上有一个 data_recovery 数据库,现在有这样的一个需求:需要访问 192.168.30.140 上的 cloud_test 数据库的一个表 test_fdw。
1、安装 postgres_fdw
CREATE EXTENSION postgres_fdw;
查看可用的插件是否已安装
SELECT * FROM pg_available_extensions WHERE name LIKE '%postgres_fdw%';
查看插件是否已安装
SELECT * FROM pg_extension WHERE extname LIKE '%postgres_fdw%';
ERROR: extension "postgres_fdw" already exists
2、创建外部服务器对象
假设我们需要访问 192.168.30.140 服务器上的 cloud_test 数据库
CREATE SERVER foreign_server
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host '192.168.30.140', port '5432', dbname 'cloud_test');
SELECT * FROM pg_foreign_server;
3、创建用户映射
CREATE USER MAPPING FOR postgres
SERVER foreign_server
OPTIONS (user 'postgres', password 'pg&*123');
4、创建外部表
CREATE FOREIGN TABLE foreign_table (
id integer NOT NULL,
cno int8,
cname varchar(20)
)
SERVER foreign_server
OPTIONS (schema_name 'public', table_name 'test_fdw');
5、查询测试
SELECT * FROM foreign_table;