創(chuàng)建外表并使用
Ganos_FDW遵循fdw接口規(guī)范,因此可以通過SQL方式創(chuàng)建外表,實(shí)現(xiàn)對(duì)外部數(shù)據(jù)源的操作。
操作步驟
創(chuàng)建服務(wù)端。
配置語法:
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>]');
關(guān)鍵參數(shù)取值含義如下,CREATE SERVER命令的更多參數(shù)解釋,請(qǐng)參見CREATE SERVER 官方文檔:
參數(shù)名稱
描述
datasource
數(shù)據(jù)源,請(qǐng)參見對(duì)象存儲(chǔ)服務(wù)路徑。
format
使用的數(shù)據(jù)源驅(qū)動(dòng)程序,可以通過ST_FDWDrivers函數(shù)獲得。如果傳入空字符串,則表示使用默認(rèn)的驅(qū)動(dòng)嘗試訪問。
config_options
環(huán)境變量參數(shù)選項(xiàng)。
open_options
數(shù)據(jù)源打開選項(xiàng)。
配置示例:
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>');
關(guān)鍵參數(shù)取值含義如下,CREATE USER MAPPING命令的更多參數(shù)解釋,請(qǐng)參見CREATE USER MAPPING 官方文檔:
參數(shù)名稱
描述
SERVER
服務(wù)端名稱,與步驟1中的CREATE SERVER創(chuàng)建的名稱(server_name)一致。
user
AccessKey ID,具體請(qǐng)參見獲取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>');
關(guān)鍵參數(shù)取值含義如下,CREATE FOREIGN TABLE命令的更多參數(shù)解釋,請(qǐng)參見CREATE FOREIGN TABLE 官方文檔:
參數(shù)名稱
描述
SERVER
服務(wù)端名稱,與步驟1中的CREATE SERVER創(chuàng)建的名稱(server_name)一致。
layer
外表對(duì)應(yīng)的圖層名稱。
配置示例:
CREATE FOREIGN TABLE example_table ( fid bigint, name varchar, age varchar, value varchar ) SERVER myserver OPTIONS (layer 'poly');
導(dǎo)入表定義。
配置語法:
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;
說明遠(yuǎn)程的SCHEMA名稱固定為ganos_fdw。
本地SCHEMA可通過CREATE SCHEMA命令創(chuàng)建。
IMPORT FOREIGN SCHEMA命令的更多參數(shù)解釋,請(qǐng)參見IMPORT FOREIGN SCHEMA官方文檔。