PostgreSQL跨库--postgres_fdw

本文详细介绍了如何在PostgreSQL中安装并配置postgres_fdw插件,用于实现远程数据库的跨库操作。首先,通过`CREATE EXTENSION`命令安装插件,然后创建服务器对象,指定主机、端口和数据库名。接着,创建用户映射以匹配远程数据库的用户和密码。最后,创建外部表来映射远程数据库的表,并演示了如何导入所有表到新的模式下。此外,还提供了查询和删除远程服务的SQL语句。
摘要由CSDN通过智能技术生成
  1. 新建postgres_fdw插件
create extension postgres_fdw;
  1. 新建远程数据库服务器。

连接自身跨库操作时,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;
  1. 创建用户匹配信息
create user mapping for [$Local_User] server [$Server_Name] options(user '[$User]',password '[Password]');

[$Local_User] 当前用户

[$User] 远程服务用户

[Password] 远程服务用户密码

  1. 创建外部表

该表要与远程实例中的表名和表结构要相同,其中外部表的字段可以少于远程表,但是字段名要完全一致。

CREATE FOREIGN TABLE [$Table_Name](id int,remark text) server [$Server_Name] options (table_name '[$Table_Name]');
  1. 可导入全部表(可代替4)

因为是导入全部表,所以导入时候最好是新建一个SCHEMA导入

import foreign schema public from server <远程服务名称> into <SCHEMA名称>; 

查询

select * from <SCHEMA名称>.<表名>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值