opengauss之file-fdw实践
本文转载自CSDN-架构师忠哥
file_fdw介绍
fdw (Foreign Data Wrapper)
是一种外部访问接口,被用来访问存储在数据库外部的数据,这些数据可以是外部的pg数据库,也可以oracle
、mysql
等数据库,甚至可以是文件。
本文讲解如何通过file_fdw
,访问外部的数据文件
使用时注意如下:
数据文件必须是COPY FROM可读的格式;具体可参照COPY语句的介绍。
访问这样的数据文件当前只是可读的。当前不支持对该数据文件的写入操作。
CREATE FOREIGN TABLE 外表的表结构需要与指定的文件的数据保持一致。
当前openGauss会默认编译file_fdw,在initdb的时候会在pg_catalog schema中创建该插件。
file_fdw实践
创建外部server
1 | select * from pg_foreign_server ; |
创建表
使用file_fdw
创建的外部表的选项参见 file_fdw
通过filename选项指定要读取的文件,是必需的参数,且必须是一个绝对路径名。
1 | create foreign table person ( |
persons.csv
文件的内容如下:
1 | id#name#departno#age |
数据查询
1 | explain select * from person; |
1 | select * from person; |
表删除
1 | drop foreign table person |