操作场景
RDS-PostgreSQL支持 postgres_fdw
插件,它可以被用来访问存储在外部PostgreSQL服务器中的数据。
前提条件
- 请确保您的实例内核大版本满足,本插件所支持的内核版本,请参考支持的版本插件列表。
注意事项
- 请确保目标数据库的网络与您的数据库实例互通。
插件使用
- 安装插件
CREATE EXTENSION IF NOT EXISTS postgres_fdw;
- 卸载插件
DROP EXTENSION IF EXISTS postgres_fdw;
使用示例
--1.创建外部服务器。
CREATE SERVER foreign_server
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host '<IP》', port '<DB_PORT>', dbname '<DB_NAME>');
--2.需要使用 CREATE USER MAPPING 定义的用户映射来标识将在远程服务器上使用的角色:
CREATE USER MAPPING FOR root
SERVER foreign_server
OPTIONS (user 'root', password '<ROOT_PWD>');
--3.同步外部表数据到本地表中。
CREATE FOREIGN TABLE foreign_table (
userid integer NOT NULL,
name text
)
SERVER foreign_server
OPTIONS (schema_name 'public', table_name 'users');
--4.查看数据结果
select * from foreign_table;
- IP:目标数据库的IP地址。
- DB_PORT:目标数据库实例的端口。
- DB_NAME:目标数据库名称。
- USER_NAME:目标数据库用户名称。
- ROOT_PWD:目标数据库root用户密码。