postgreSQL外部表_外部postgreSQL

一、应用场景

由于我们公司的产品是C/S架构,客户端有大量功能需要直连数据库,而我们又不想修改标准功能,因为这样工作量太大了影响项目进度。
后经过讨论研究决定使用postgresSQL外部表的方案,即我们在应用服务器部署一个和数据库服务器版本一致的PG服务,然后客户端访问应用服务器的PG,应用服务器的PG在通过外部表的方式去访问真实的数据库服务器。

二、postgreSQL外部表的介绍

PostgreSQL 实现了 SQL/MED 规范的部分内容,允许您使用常规 SQL 查询访问驻留在 PostgreSQL 外部的数据。此类数据称为外部数据(foreign data)。外部数据是在外部数据包装器(foreign data wrapper FDW)的帮助下访问的。postgres_fdw是访问外部PostgreSQL的外部数据包装器。
上述描述来自PG官网:Foreign Datapostgres_fdw

三、操作步骤

  1. 首先需要安装postgres_fdw扩展,参见:CREATE EXTENSION
CREATE EXTENSION postgres_fdw
  1. 定义一个外部服务器,参见:CREATE SERVER
CREATE SERVER xxx FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'xxx.xxx.xxx', dbname 'xxx', port 'xxx');
  1. 创建一个用户映射,参见:CREATE USER MAPPING
CREATE USER MAPPING FOR postgres SERVER xxx OPTIONS (user 'xxx', password 'xxx');
--修改密码
ALTER USER MAPPING FOR postgres SERVER xxx OPTIONS (SET password 'xxx');
  1. 导入外部表,参见CREATE FOREIGN TABLEIMPORT FOREIGN SCHEMA
--此处我只用了Schema导入,外部表读者可根据文档自行尝试
IMPORT FOREIGN SCHEMA ln_dwh FROM SERVER xxx INTO ln_dwh
  1. 使用正常SQL查询外部数据
SELECT * FROM ln_dwh."Bundle"
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值