资讯专栏INFORMATION COLUMN

Postgres-FDW部署及配置

IT那活儿 / 1727人阅读
Postgres-FDW部署及配置





 概 述 



fdw是foreign-data wrapper的一个简称,可以叫外部封装数据。 

postgres_fdw实现的是各个postgresql数据库及远程数据库之间的跨库操作,同时PG也支持与其它数据库进行外表查询,如使用oracle_FDW可与Oracle数据库进行数据访问,本文介绍postgres-FDW部署及配置实现两个postgres数据库之间进行数据访问。





 拓扑结构 



服务器配置:

主机          ip                           端口

Pg1     192.168.18.11            15432

Pg2     192.168.18.12            15432

数据库配置:

1.  配置pg2

pg2上创建数据库账号pg_fw2

pg2上建立两个表: t1, t2

1. 使用超级用户登录pg2,在pg2上创建数据库账号pg_fw2

psql -h pg2 -p 15432 -d postgres
CREATE ROLE pg_fw2 WITH LOGIN PASSWORD pg_fw2;
GRANT ALL PRIVILEGES ON DATABASE postgres to pg_fw2;

 2. 更改pg2:pg_hba.conf,允许pg1使用账号pg_fw2访问pg2,必须使用md5认证方式

host   postgres   pg_fw2   pg1   md5

3. 在pg2上,以pg_fw2身份,创建表: t1, t2

psql -h pg2 -p 15432 -d postgres -U pg_fw2
create table t1 ( id int, name varchar(20));
create table t2 ( id int, name varchar(20));

2. 配置pg1

pg1: 创建数据库账号’pg_fw1’

pg1: 建立一个本地表t0,两个外表: fw_t1,fw_t2,分别指向pg2上的t1, t2

1. postgres-fdw插件安装

使用超级用户,在pg1上安装postgres-fdw扩展, 创建数据库账号pg_fw1

psql -h pg1 -p 15432 -d postgres
create extension postgres_fdw;

2.  pg1上创建数据库账号pg_fw1

CREATE ROLE pg_fw1 WITH LOGIN PASSWORD pg_fw1;
GRANT ALL PRIVILEGES ON DATABASE postgres to pg_fw1;
grant usage on foreign data wrapper postgres_fdw to pg_fw1 ; --注意需要多带带授权

3.  pg1上,创建本地表: t0

psql -h pg1 -p 15432 -d postgres -U pg_fw1
create table t0 ( id int, name varchar(20));

4. pg1上,创建FDW服务、用户映射、外部表:

--外表t1,t2对应关系

pg1.fw_t1 ---> pg2.t1

pg1.fw_t2 ---> pg2.t2

  • 创建fdw服务器

create server fw_pg2
         foreign data wrapper postgres_fdw
         options (host 192.168.18.12, port 15432, dbname postgres);
  • 创建用户映射

create user mapping for pg_fw1
         server fpg2
         options (user pg_fw2, password pg_fw22021);
  • 创建外部表fw_t1

create foreign table fw_t1 (
         id int,
         name varchar(100)
)
server fw_pg2
options (schema_name public, table_name t1);
  • 创建外部表fw_t2

create foreign table fw_t2 (
         id int,
         name varchar(100)
)
server fw_pg2
options (schema_name public, table_name t2);

postgres=> d fw_t2
                           Foreign table "public.fw_t2"
 Column | Type | Collation | Nullable | Default | FDW options
--------+------------------------+-----------+----------+---------+-------------
 id | integer | | | |
 name | character varying(100) | | | |
Server: fpg2
FDW options: (schema_name public, table_name t2)


END


更多精彩干货分享

点击下方名片关注

IT那活儿

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129866.html

相关文章

  • 私有云物理集群节点

    摘要:物理集群节点云平台系统常见集群节点角色有种,分别是管理节点计算存储融合节点独立计算节点以及独立存储节点。云平台分布式存储使用所有计算节点的数据磁盘,每个节点仅支持部署一种类型的数据磁盘,如等使用作为缓存的场景除外。2.1 物理集群节点UCloudStack 云平台系统常见集群节点角色有 4 种,分别是管理节点、计算存储融合节点、独立计算节点、以及独立存储节点。2.1.1 管理节点集群内部...

    youkede 评论0 收藏0
  • Activiti6之表结构分析-引擎配置流程部署

    摘要:如图流程引擎创建完成后,只会对进行操作,属性数据表存储整个流程引擎级别的数据初始化表结构时,会默认插入四条记录,流程部署测试流程部署,先把上面的流程引擎配置的注解改为。如图资源流程定义数据表这里面存放的就是我们部署的资源元数据信息。 关于activiti是什么,我这里就不多说了,我们直接上路,O(∩_∩)O哈哈~ 引擎配置 配置方式有好几种:1): /** * 获取默认的流程引擎实例...

    xorpay 评论0 收藏0
  • 私有灾备云解决方案

    摘要:灾备服务支持本地灾备异地灾备公有云灾备两地三中心等多种服务方式,可根据业务特点和需求,灵活选择灾备方式,保证业务的和。公有云灾备架构公有云灾备服务支持多种业务部署方式,为云平台业务提供不同指标,控制云平台业务灾备成本。UCloudStack 云平台通过分布式存储系统保证本地数据的安全性,同时通过远程数据备份服务,为用户提供远程数据备份和容灾备服务,可以将本地云端数据统一归档、备份至远程云...

    youkede 评论0 收藏0
  • 集群创建 智能大数据平台 USDP

    摘要:点击创建集群按钮开始创建集群资源点击创建集群按钮开始创建集群资源创建集群创建集群设置地域和可用区信息设置地域和可用区信息请根据您的需要,在创建集群向导中设置新集群所归属的地域及可用区信息。 集群创建本篇目录开始创建集群资源开始部署集群服务和组件智能大数据平台USDP集群的创建过程,分为两个部分,即在公有云控制台中,创建USDP的集群资源,待创建完成后,进入您独享的USDP管理服务开始规划并创...

    ernest.wang 评论1 收藏3013
  • Apache 部署SSL数字证书安全性设置

    摘要:原文阅读部署数字证书及安全性设置作为最常见的一种服务器,其普及度易用性及稳定性都非常高,也可以部署基于的安全服务器,本文介绍如何在上部署签发的数字证书。将提交给申请证书,将私钥自行妥善保管。 原文阅读:Apache 部署SSL数字证书及安全性设置 showImg(https://segmentfault.com/img/bV9FqW?w=1600&h=837); Apache作为最常见...

    cheukyin 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<