postgres_fdw的使用案例

远端数据库创建测试表:
postgres=# select version();
                                                  version                                                  
-----------------------------------------------------------------------------------------------------------
 PostgreSQL 8.1.22 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
(1 row)
postgres=# show port;
 port 
------
 5432
(1 row)


postgres=# select * from test;
 id 
----
  1
  2
(2 rows)
修改远端数据库pg_hba.conf,添加如下行:
host    all         all         192.168.6.10/24       md5
修改远端数据库postgresql.conf中参数:listen_addresses = '*' 
修改后重启数据库


************************************************************************************
本地数据库执行创建fdw过程:
highgo=# select version();
              version               
------------------------------------
 HighGo Database 3.1.4 Linux 64-bit
(1 row)


highgo=# select kernel_version();
                                                 kernel_version                               
                  
----------------------------------------------------------------------------------------------
 PostgreSQL 9.4.11 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 
4.4.7-17), 64-bit
(1 row)


highgo=# show port;
 port 
------
 5866
(1 row)
highgo=# create extension postgres_fdw;
CREATE EXTENSION
highgo=# 
highgo=# create server postgres_fdw_server foreign data wrapper postgres_fdw options (host '192.168.6.10', dbname 'postgres', port '5432');
CREATE SERVER
highgo=# 
highgo=# create user mapping for highgo server postgres_fdw_server options (user 'postgres',password 'postgres');
CREATE USER MAPPING
                                                ^
highgo=# create foreign table test01 (id int) server postgres_fdw_server options (table_name 'test');
CREATE FOREIGN TABLE
highgo=# 
highgo=# 
highgo=# select * from test01;
 id 
----
  1
  2
(2 rows)


**************************************************
验证:
在远端数据库插入数据:
postgres=# insert into test values (3); 
INSERT 0 1
postgres=# select * from test;
 id 
----
  1
  2
  3
(3 rows)




在本地数据库查询:
highgo=# select * from test01;
 id 
----
  1
  2
  3
(3 rows)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值