微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgres_fdw 使用示例

在进行postgresql查询中,如果我们想查询不在当前database中的table的话,可以通过在当前数据库中做一个映射,建立 FOREIGN TABLE ,则就可以查询远端数据库的表了,具体用法如下:

参考:http://www.postgresql.org/docs/9.3/static/postgres-fdw.html
https://wiki.postgresql.org/wiki/Foreign_data_wrappers

1.使用超级用户添加扩展(extension )

CREATE EXTENSION postgres_fdw;

注:删除命令 DROP EXTENSION postgres_fdw;

2.创建要访问的远端服务器(foreign server)

CREATE SERVER hisoka_server FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'localhost',port '5432',dbname 'postgres');

注:删除命令 DROP server hisoka_server;

3.创建对远端服务器访问控制的用户群组

CREATE USER MAPPING FOR public SERVER hisoka_server OPTIONS (user 'postgres',password 'welcome');

注:删除命令 DROP USER MAPPING FOR public SERVER hisoka_server;

4.创建远程数据库

CREATE FOREIGN TABLE films ( id serial NOT NULL,code character(5) NOT NULL,title character varying(40) NOT NULL,did integer NOT NULL,date_prod date,kind character varying(10) ) SERVER hisoka_server OPTIONS (schema_name 'public',table_name 'films');

注:删除命令 DROP FOREIGN TABLE films;

5.现在就可以访问或者修改远程数据库中的表了哈

SELECT * FROM films;

最后再给一个参考地址:http://my.oschina.net/Kenyon/blog/214953?p=1

原文地址:https://www.jb51.cc/postgresql/195003.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐