安装FDW:
CREATE EXTENSION postgres_fdw;
创建外部服务器:
CREATE SERVER aggregate_data_server
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host '173.*.*.59', dbname 'performdb', port '18921');
映射外部用户(如果需要):
CREATE USER MAPPING FOR gxpt_alarm_user
SERVER aggregate_data_server
OPTIONS (user 'perform_app', password '******');
创建外部表:
CREATE FOREIGN TABLE gxpt_schema.DANAGE_ACTION_TASK_TRANSFER (
"APP_ID" varchar(14) NOT NULL ,
"APP_TITLE" varchar(200) ,
"USER_NAME" varchar(50) ,
"USER_TEL" varchar(50) ,
"DEP_NAME" varchar(50) ,
"COMP_NAME" varchar(100) ,
"APP_USER" varchar(512) ,
"APP_TIME" timestamp(6) ,
"APP_CAUSE" varchar(4000)
)
SERVER aggregate_data_server
OPTIONS (schema_name 'sensitive_data', table_name 'DANAGE_ACTION_TASK_TRANSFER');
特别说明:1、建表时虽指定表名DANAGE_ACTION_TASK_TRANSFER,但实际建表名为danage_action_task_transfer,即Pg自动将大写转换为小写字母,若要保持大写字母,需使用’gxpt_schema.“DANAGE_ACTION_TASK_TRANSFER”‘;2、字段名称使用""包裹是为了保持大写,与1中的原理相同;3、最后一行的的表名,按上述的理论应该是’“DANAGE_ACTION_TASK_TRANSFER”',但实际上上述的写法是正确的 !!!