您好,欢迎访问一九零五行业门户网

PostgreSQL的外部表使用

postgresql从9.1开始增加了外部表访问的功能,这个功能就是数据库直接读取数据库以外的文件,比如csv或者text等类型的文件,暂时
postgresql从9.1开始增加了外部表访问的功能,这个功能就是数据库直接读取数据库以外的文件,比如csv或者text等类型的文件,暂时不支持dml。postgresql有各种插件能直连各种异构db,如oracle_fdw,mysql_fdw,file_fdw等,对数据的迁移是很方便的,这是pg的扩展性较强的一个表现。这里介绍foreign data wrapper的file_fdw使用。
相关阅读:
postgresql 9.3物化视图使用
使用 postgresql 数据库日期类型的 4 个提示 
postgresql删除表中重复数据行
postgresql缓存详述
windows平台编译 postgresql 
ubuntu下lapp(linux+apache+postgresql+php)环境的配置与安装
一、环境:
os :centos 6.3
db :postgresql 9.3
二、使用过程
1.创建扩展,因为默认不安装,安装需要手工创建
[postgres@kenyon ~]$ psqlpsql (9.3.0)type help for help.postgres=# create extension file_fdw;create extensionpostgres=# \dxlist of installed extensionsname | version | schema |description----------+---------+------------+------------------------------------------- file_fdw | 1.0| public| foreign-data wrapper for flat file access plpgsql | 1.0| pg_catalog | pl/pgsql procedural language(2 rows)2.创建外部表服务接口,查看
postgres=# create server pg_file_server foreign data wrapper file_fdw;create serverpostgres=# \deslist of foreign serversname| owner | foreign-data wrapper ----------------+----------+---------------------- pg_file_server | postgres | file_fdw(1 row)3.建立一个外部表,与外部文件结构一致
postgres=# create foreign table tab_area(id int,cname varchar(80),ename varchar(80),create_time varchar(30)) server pg_file_server options(filename '/home/postgres/data1.csv',format 'csv',header on,delimiter ',',null '1');--后面options里面参数的说明--filename后面是文件名和绝对路径--format是格式,csv是逗号分隔,text表示是tab分隔的方式--delimiter是分隔符--header表示第一行数据是否需要--null表示空数据的转化处理,例子中字段1将转化为null4.上传外部文件
[postgres@kenyon ~]$ more data1.csv ?id,cname,ename,create_time1,浙江,zhejiang,2013-01-012,杭州,hangzhou,2013-01-023,北京,beijing,2012-09-124,默认,,2013-09-105,四川,sichuan,2012-12-126,,nanjing,7,甘肃,,1998-12-125.查询
postgres=# select * from tab_area; id | cname | ename | create_time ----+-------+----------+-------------| 浙江 | 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(7 rows)6.查看外部表
postgres=# \d+ tab_areaforeign table public.tab_areacolumn |type| modifiers | fdw options | storage | stats target | description -------------+-----------------------+-----------+-------------+----------+--------------+------------- id| integer||| plain || cname| character varying(80) ||| extended || ename| character varying(80) ||| extended || create_time | character varying(10) ||| extended || server: pg_file_serverfdw options: (filename '/home/postgres/data1.csv', format 'csv', delimiter ',', header 'true', null '1')has oids: no接下来请看第2页精彩内容:
postgresql 的详细介绍:请点这里
postgresql 的下载地址:请点这里

其它类似信息

推荐信息