PostgreSQL(二十五)PG_FDW的使用

目录

一、FDW的简介与特性

二、pg_fdw的部署与使用

1、编译postgres_fdw

2、添加postgres_fdw

3、创建FDW服务器

​4、授权并创建用户映射

5、客户端创建FDW测试表

6、访问外部表

​7、可能出现的问题

三、FDW的执行原理

1、PG-PG访问过程描述

2、PG-PG访问过程查看

3、PG-PG访问过程说明

四、各版本功能演进

1、排序操作

2、聚组操作

3、多表查询

五、本地外部表的访问实验

1、准备csv文件

2、编译、添加扩展file_fdw

3、创建SERVER ON FILE

4、创建外部表


一、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+

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值