PGSQL 创建外部数据源

PGSQL 创建外部数据源

1、创建外部数据包装器

CREATE FUNCTION postgres_fdw_handler()
    RETURNS fdw_handler
AS 'postgres_fdw' LANGUAGE C STRICT;

CREATE FUNCTION postgres_fdw_validator(text[],oid)
    RETURNS void
AS 'postgres_fdw' LANGUAGE C STRICT;

CREATE FOREIGN DATA WRAPPER postgres_fdw
HANDLER file_fdw_handler
VALIDATOR file_fdw_validator;

2、创建外部服务对象 host、dbname、port 根据实际需要修改

CREATE SERVER area_fdw_server FOREIGN DATA WRAPPER postgres_fdw
  OPTIONS (host 'ip', dbname 'databasename', port 'port');

3、用户映射对象 user、password 根据实际需要修改

CREATE USER MAPPING FOR CURRENT_USER
  SERVER area_fdw_server
  OPTIONS (user 'username', password 'password');

4、创建外部表对象 table_name 需要查询的外部数据源的表

CREATE FOREIGN TABLE ft_areas (
    id uuid NOT NULL,
	"version" int8 NULL,
	available bool NOT NULL,
	created_by uuid NULL,
	created_by_name varchar(128) NULL,
	created_date timestamp(6) NULL,
	last_modified_by uuid NULL,
	last_modified_by_name varchar(128) NULL,
	last_modified_date timestamp(6) NULL,
	description varchar(2048) NULL,
	nick_name varchar(128) NULL,
	owner_departs _uuid NULL,
	owner_user uuid NULL,
	code varchar(128) NULL,
	"enable" bool NULL,
	is_custom_code bool NULL,
	name_for_short varchar(128) NULL,
	sort int4 NULL,
	parent_id uuid NULL
) SERVER area_fdw_server
OPTIONS (table_name 'table_name');

table_name : 需要查询的外部数据源中的表名。

5、使用

这里使用表和使用本库中的表一模一样。

select * from ft_areas;

参考链接: https://blog.51cto.com/baoyw/6689404

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值