【实战】PostgreSQL使用扩展访问外部数据源

【实战】PostgreSQL 使用扩展访问外部数据源

前言

PostgreSQL 设计之处是支持扩展的,PostgreSQL 源码目录下有大量扩展,下面我们主要介绍file_fdw

一、部署file_fdw扩展工具

在 PostgreSQL 源码目录的"contrib/file_fdw" 目录中,编译并安装 file_fdw 扩展。

cd $PGHOME/postgresql-14.11/contrib/file_fdw
make
make install

修改配置文件,并重启

cat >> $PGDATA/postgresql.conf <<EOF
shared_preload_libraries = 'file_fdw'
EOF

pg_ctl -D $PGDATA -l logfile restart 

file_fdw扩展

postgres=# create extension file_fdw;
select * from pg_extension;

二、创建基于file_fdw扩展的外部表

# 创建外部服务
postgres=# create server service_file foreign data wrapper file_fdw;
CREATE SERVER

postgres=# \des
            List of foreign servers
     Name     |  Owner   | Foreign-data wrapper 
--------------+----------+----------------------
 service_file | postgres | file_fdw
(1 row)

# 创建基于file_fdw扩展的外部表
postgres=# create foreign table ft_emp(empo int, ename varchar(10), job varchar(10), sal int)server service_file options
(filename '/home/postgres/emp.csv', format 'csv');
CREATE FOREIGN TABLE
# 方面模拟数据
[postgres@pghost01 ~]$ cat /home/postgres/emp.csv
1,maet,sef,123
2,adfe,sdfa,434
3,adfe,wer,567

查看外部表ft_emp的数据

postgres=# select * from ft_emp;
 empo | ename | job  | sal 
------+-------+------+-----
    1 | maet  | sef  | 123
    2 | adfe  | sdfa | 434
    3 | adfe  | wer  | 567
(3 rows)

总结

主要介绍了csv文件作为数据源的外部扩展,也可以按需添加 postgres,oracle 作为数据源的外部扩展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云计算老王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值