下面是安装、配置、使用fdw实现postgres数据库间互访问的方法,转载注明出处:
1、源码安装fdw支持(要求数据库源码安装)
cd /usr/local/postgresql-9.3.2/contrib/postgres_fdw
make
su
make install
2、创建fdw extension(以超级用户登录数据库)
\c postgres postgres
create extension postgres_fdw;
3、授权(将模块使用权授予用户test)
GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw to test;
4、创建服务器(以普通用户登录数据库,创建server,连接目标数据库地址:192.168.109.10,数据库:d_test,端口:1921)
\c d_test test
create server srv_test foreign data wrapper postgres_fdw options (host '192.168.109.10',dbname 'd_test',port '1921');
5、创建用户映射(将远端数据库用户test及密码映射给创建的server)
create user mapping FOR test server srv_test options (user 'test',password 'test');
6、创建远程表(创建当地表,指向远程数据库,可以指定远端表的schema:test1)
create foreign table l_t3(c1 int,c2 varchar(10)) server srv_test options (schema_name 'test1',table_name 't3');
7、测试
select * from l_t3;
insert into l_t3 values(2.2222,2);