外部数据包装器FDW(FOREIGN DATA WRAPPER)是PostgreSQL提供用于访问外部数据的插件,外部数据源包括本实例中其它库中的数据或其他实例的数据。Ganos
FDW提供了对于多种空间数据类型的统一访问,会自动将几何空间数据类型映射为Geometry字段类型,从而允许与数据库内部表进行统一地访问与查询。
操作步骤
- 创建时空引擎FDW插件。
- 将空间数据文件注册为外表。
- 注册Shapefile。
SELECT ST_RegForeignTables('OSS://<ak_id>:<ak_secret>@<endpoint>/path/poly.shp');
- 通过
information_schema.foreign_tables
视图查询注册的FDW表。SELECT foreign_table_name FROM information_schema.foreign_tables ORDER BY foreign_table_name ASC;
- 查询外表。
SELECT fid, ST_AsText(geom), name, age, height FROM poly WHERE fid = 1;
------------
1 | POLYGON((5 0,0 0,0 10,5 10,5 0)) | ZhangShan | 35 | 1.84
- 导入到数据库表中。
- (可选)删除扩展。
DROP EXTENSION Ganos_FDW CASCADE;