postgres_fdw

PostgreSQL数据库dblink和postgres_fdw扩展使用比较

拥有回忆 提交于 2019-11-29 07:40:26
在之前的两篇文章中,章郎虫分别介绍了 dblink 和 postgres_fdw 两个扩展。今天我在这里初略地说下使用dblink和postgres_fdw后的实际感受和区别。 postgres_fdw远程可写功能是9.3版本出来后才新加的,而dblink也可以在以前的postgresql版本中使用。在使用过程中,我把postgres_fdw安装在9.3,dblink安装在9.2.4,而远程连接的都是9.2.4版本的数据库。 首先在安装方面基本都差不多,可以用create extension dblink和create extension postgres_fdw分别安装。 然后比较他们的使用方法。在开始使用dblink之前,首先需要连接远程数据库,然后按照格式编写sql进行查询等操作。这里需要注意,在sql中需要把远程表的字段和类型在本地重新命名,不然sql会报错。这个章郎虫在一开始使用的时候觉得很不方便,而且如果每次查询一张表都要在sql中命名字段和类型其实是很糟糕的,不过幸好可以配置视图把sql“封装”起来。 1 select dblink_connect('myconn', 'host=XXX.XXX.XXX.XXX port=XX dbname=postgres user=myname password=mypassword'); 2 select * from

PostgreSQL的postgres_fdw跨库使用

落爺英雄遲暮 提交于 2019-11-28 10:46:16
PostgreSQL的数据库逻辑上是相互独立的,和Oracle类似,如果要访问其他数据库,需要做跨库操作,Postgres本身提供了一些扩展,比如dblink,pgsql_fdw等,高版本的建议使用postgres_fdw,也就是pgsql_fdw的升级版。 一、环境介绍 fdw是foreign-data wrapper的一个简称,可以叫外部封装数据,之前介绍过file_fdw,dblink http://my.oschina.net/Kenyon/blog/55294 http://my.oschina.net/Kenyon/blog/165432 而postgres_fdw实现的是各个postgresql数据库及远程数据库之间的跨库操作,功能和dblink一样。 本地 10.1.11.72 DB_port 5432 远程 10.1.11.71 DB_port 5432 71远端数据准备 postgres=# show search_path; search_path ------------- schema_fdw (1 row) postgres=# create table tbl_kenyon (id int,remark text); CREATE TABLE postgres=# insert into tbl_kenyon select generate

PostgreSQL的fdw实践

大憨熊 提交于 2019-11-28 10:45:46
oracle_fdw:实现远程oracle与PG数据同步 oracle_fdw官方安装包下载、安装指导、使用说明、常见问题地址: http://pgxn.org/dist/oracle_fdw/ .在所有操作开始之前,请首先阅读该文档。 要求PostgreSQL是 9.1 以及更高版本。从 9.2开始支持ANALYZE;从9.3开始支持INSERT、UODATE 和 DELETE。 要求Oracle客户端是10.1以及更高版本。基于Oracle Instant Client ,或者 带有Universal Installer的Oracle Client和Server的安装, Oracle_fdw可以进行创建和使用。通过Oracle Client 10 编译的二进制文件,可以被更高版本的客户端使用,而不需要recompilation 或者 relink。 环境: 一个windows xp(32bit )虚拟机,装有oracle11g。本文假设该oracle服务器安装完毕,可远程访问, ip为192.168.100.234 。 一个centos(32bit)linux虚拟机,用来安装postgresql,oracle客户端,oracle_fdw。(本文所有操作在此进行) 一、源码编译安装PostgreSQL 下载PostgreSQL源码安装包,本文使用的: postgresql-9.4