Postgresql外部表的使用:file_fdw

postgresql从9.1开始增加了外部表访问的功能,这个功能就是数据库直接读取数据库以外的文件,比如csv或者text等类型的文件,暂时不支持DML。postgresql有各种插件能直连各种异构DB,如oracle_fdw,mysql_fdw,file_fdw等,对数据的迁移是很方便 的,这是PG的扩展性较强的一个表现。这里介绍foreign data wrapper的file_fdw使用(Postgresql 9.5)。


1.创建扩展,因为默认不安装,安装需要手工创建



2.创建外部表服务接口,查看



3.建立一个外部表,与外部文件结构一致


options里面参数的说明:
--filename表示外部文件的绝对路径,是必须选项
--format是格式,csv是一种文件格式(还可以选择text格式和binary格式),默认为text格式
--delimiter是分隔符(如果format是binary,则此选项不可用;如果format是text,默认为tab;如果format是csv,默认为逗号)
--header表示第一行数据是否需要(文件中是第一行数据是否为包含每列的字段名的行)
--null表示空数据的转化处理

4.外部文件内容(GB2312编码格式)

ID,cname,ename,create_time
1,浙江,zhejiang,2013-01-01
2,杭州,hangzhou,2013-01-02
3,北京,beijing,2012-09-12
4,默认,,2013-09-10
5,四川,sichuan,2012-12-12
6,,nanjing,
7,甘肃,,1998-12-12
5.查询



6.查看外部表



7.与实际普通表的结合


总结

1.外部表实际不存储数据,只是一张表结构; 
2.9.2版本比9.1版本多了option的选择,9.3又多了collate一些排序的补充,功能进一步完善,现在已有约束、default普通表的应有功能; 
3.实用性,对定期的数据抽取但无需入库检查是很方便的,既减少了数据存储,像基于postgresql的greenplum的数据导入导出就非常实用


转载:http://www.open-open.com/lib/view/open1380594167635.html

参考:http://www.postgresql.org/docs/9.5/static/file-fdw.html



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值