- 新建postgres_fdw插件
create extension postgres_fdw;
- 新建远程数据库服务器。
连接自身跨库操作时,host请填写localhost,port请填写show port命令返回的本地端口
CREATE SERVER NxDocExchange_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS ( HOST 'localhost', port '3034', dbname'Wangda_NxDocExchange' );
NxDocExchange_server 自定义服务名
dbname 连接的数据库名
确认创建成功
SELECT * from pg_foreign_server;
删除远程服务
DROP SERVER NxDocExchange_server CASCADE;
- 创建用户匹配信息
create user mapping for [$Local_User] server [$Server_Name] options(user '[$User]',password '[Password]');
[$Local_User] 当前用户
[$User] 远程服务用户
[Password] 远程服务用户密码
- 创建外部表
该表要与远程实例中的表名和表结构要相同,其中外部表的字段可以少于远程表,但是字段名要完全一致。
CREATE FOREIGN TABLE [$Table_Name](id int,remark text) server [$Server_Name] options (table_name '[$Table_Name]');
- 可导入全部表(可代替4)
因为是导入全部表,所以导入时候最好是新建一个SCHEMA导入
import foreign schema public from server <远程服务名称> into <SCHEMA名称>;
查询
select * from <SCHEMA名称>.<表名>