目录
一、FDW的简介与特性
FDW:Foreign Data Wrappers,在同构和异构数据库之间进行数据的访问。
PostgreSQL FDW 是一种外部访问接口。通过这个接口,可以让PG访问存储在外部的数据,这些数据可以是外部的pg数据库,也可以oracle、mysql等数据库,甚至可以是文件。
目前支持的数据库有:pg-pg(pg_fdw),pg-mysql(mysql_fdw),pg-oracle(oracle_fdw)等。
支持的外部文件有:csv、josn、pg_dump、xml等。

二、pg_fdw的部署与使用
pg_fdw:PostgreSQL Foreign Data Wrappers,PG-PG时需要使用到的插件。
本实验中,wqdb1为本地客户端的库,wqdb2为远程客户端的库。
pg_fdw要在本地客户端部署与使用。
1、编译postgres_fdw
cd /data/package/pg/postgresql-14.8/contrib/postgres_fdw
make
make install
2、添加postgres_fdw
哪个database上使用,就在哪个database上安装。本实验在wqdb1上安装。
必须使用pg超级用户执行。
安装完成后可以查看下安装的信息。
su - postgres
psql
\c wqdb
CREATE EXTENSION postgres_fdw;
SELECT * FROM pg_extension;
3、创建FDW服务器
在本地客户端创建:
host:远程主机名、ip地址;
port:远程数据库监听端口;
dbname:远程访问的数据库的名字。
CREATE SERVER wq_fdw FOREIGN DATA WRAPPER postgres_fdw
OPTIONS(host '$ip',port '$port',dbname 'wqdb2');
\des+
4、授权并创建用户映射
在本地客户端执行映射语句,将本地用户与远程用户相映射:
user:远程访问的数据库所属的用户(\d-拥有者);
password:远程访问的数据库所属用户的密码。
CREATE USER fdw_u1 PASSWORD 'fdw_u1';
GRANT USAGE ON FOREIGN SERVER wq_fdw TO fdw_u1;
CREATE USER MAPPING FOR fdw_u1 SERVER wq_fdw OPTIONS(user 'postgres',password '$passwd');
\deu+


最低0.47元/天 解锁文章
1200

被折叠的 条评论
为什么被折叠?



