Ganos_FDW遵循fdw介面規範,因此可以通過SQL方式建立外表,實現對外部資料源的操作。
操作步驟
建立服務端。
配置文法:
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>]');關鍵參數取值含義如下,CREATE SERVER命令的更多參數解釋,請參見CREATE SERVER 官方文檔:
參數名稱
描述
datasource
資料來源,請參見Object Storage Service服務路徑。
format
使用的資料來源驅動程式,可以通過ST_FDWDrivers函數獲得。如果傳入Null 字元串,則表示使用預設的驅動嘗試訪問。
config_options
環境變數參數選項。
open_options
資料來源開啟選項。
配置樣本:
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 '');建立User Mapping。
配置文法:
CREATE USER MAPPING FOR <user_name> SERVER <server_name> OPTIONS ( user '<oss_ak_id>', password '<oss_ak_secret>');關鍵參數取值含義如下,CREATE USER MAPPING命令的更多參數解釋,請參見CREATE USER MAPPING 官方文檔:
參數名稱
描述
SERVER
服務端名稱,與步驟1中的CREATE SERVER建立的名稱(server_name)一致。
user
AccessKey ID,具體請參見擷取AccessKey ID和Secret。
password
AccessKey Secret。
配置樣本:
CREATE USER MAPPING FOR CURRENT_USER SERVER myserver OPTIONS ( user 'id', password 'secret');建立外表。
配置文法:
CREATE FOREIGN TABLE <table_name> ( column_name data_type [, ...] ) SERVER <server_name> OPTIONS (layer '<layer_name>');關鍵參數取值含義如下,CREATE FOREIGN TABLE命令的更多參數解釋,請參見CREATE FOREIGN TABLE 官方文檔:
參數名稱
描述
SERVER
服務端名稱,與步驟1中的CREATE SERVER建立的名稱(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命令建立。
IMPORT FOREIGN SCHEMA命令的更多參數解釋,請參見IMPORT FOREIGN SCHEMA官方文檔。