Ganos_FDW遵循fdw接口規(guī)范,因此可以通過SQL方式創(chuàng)建外表,實現(xiàn)對外部數(shù)據(jù)源的操作。
操作步驟
- 創(chuàng)建服務端。配置語法:
CREATE SERVER <server_name> FOREIGN DATA WRAPPER ganos_fdw OPTIONS ( datasource 'OSS://<endpoint>/path/file', format '<driver>', open_options '<config>=<value>[ <config>=<value>]', config_options '<config>=<value>[ <config>=<value>]');
關鍵參數(shù)取值含義如下,CREATE SERVER命令的更多參數(shù)解釋,請參見CREATE SERVER 官方文檔:參數(shù)名稱 描述 datasource 數(shù)據(jù)源,請參見對象存儲服務路徑。 format 使用的數(shù)據(jù)源驅(qū)動程序,可以通過ST_FDWDrivers函數(shù)獲得。如果傳入空字符串,則表示使用默認的驅(qū)動嘗試訪問。 config_options 環(huán)境變量參數(shù)選項。 open_options 數(shù)據(jù)源打開選項。 配置示例:CREATE SERVER myserver FOREIGN DATA WRAPPER ganos_fdw OPTIONS ( datasource 'OSS://<endpoint>/path/poly.shp', format 'ESRI Shapefile', open_options 'SHAPE_ENCODING=LATIN1', config_options '');
- 創(chuàng)建User Mapping。配置語法:
CREATE USER MAPPING FOR <user_name> SERVER <server_name> OPTIONS ( user '<oss_ak_id>', password '<oss_ak_secret>');
關鍵參數(shù)取值含義如下,CREATE USER MAPPING命令的更多參數(shù)解釋,請參見CREATE USER MAPPING 官方文檔:參數(shù)名稱 描述 SERVER 服務端名稱,與步驟1中的CREATE SERVER創(chuàng)建的名稱(server_name)一致。 user AccessKey ID,具體請參見獲取AccessKey ID和Secret。 password AccessKey Secret。 配置示例:CREATE USER MAPPING FOR CURRENT_USER SERVER myserver OPTIONS ( user 'id', password 'secret');
- 創(chuàng)建外表。配置語法:
CREATE FOREIGN TABLE <table_name> ( column_name data_type [, ...] ) SERVER <server_name> OPTIONS (layer '<layer_name>');
關鍵參數(shù)取值含義如下,CREATE FOREIGN TABLE命令的更多參數(shù)解釋,請參見CREATE FOREIGN TABLE 官方文檔:參數(shù)名稱 描述 SERVER 服務端名稱,與步驟1中的CREATE SERVER創(chuàng)建的名稱(server_name)一致。 layer 外表對應的圖層名稱。 配置示例:CREATE FOREIGN TABLE example_table ( fid bigint, name varchar, age varchar, value varchar ) SERVER myserver OPTIONS (layer 'poly');
- 導入表定義。配置語法:
IMPORT FOREIGN SCHEMA ganos_fdw [ { LIMIT TO | EXCEPT } ( table_name [, ...] ) ] FROM SERVER <server_name> INTO <local_schema>
配置示例:CREATE SCHEMA imp; IMPORT FOREIGN SCHEMA ganos_fdw FROM SERVER myserver INTO imp;
說明- 遠程的SCHEMA名稱固定為ganos_fdw。
- 本地SCHEMA可通過CREATE SCHEMA命令創(chuàng)建。
- IMPORT FOREIGN SCHEMA命令的更多參數(shù)解釋,請參見IMPORT FOREIGN SCHEMA官方文檔。