postgresql中oracle_fdw应用

一 环境

os: win764位
postgresql9.3 64位

二 oracle_fdw安装部署

2.1 下载地址


选择自己合适的版本下载,然后解压。

2.2 部署


左图是解压后的文件,将文件夹内文件复制到postgresql安装指定目录中。

在postgresql控制台中输入
create extension oracle_fdw;


部署成功!

三 postgresql应用配置

3.1 创建server

create server oradb foreign data wrapper oracle_fdw options(dbserver 'localhost:1521/jdtdsy');

oradb是server的名称,选项中输入连接oracle的数据库地址。

3.2 授予用户权限

grant usage on foreign server oradb to postgres;

将刚创建的服务oradb授予权限于postgresql用户postgres。

3.3 数据库同步

create user mapping for postgres server oradb options(user 'nk_sygis',password 'nk_sygis');

postgres用户下服务oradb连接oracle数据库

四 应用

4.1 建立foreign table

选择oracle中一个有数据的表,先查看结构和数据。


根据oracle中的表,在postgresql中创建同结构的foreign table的sql语句如下:
CREATE FOREIGN TABLE T_NKGIS_ROAD_foreign
(
  dl_mc varchar(200),dl_dm varchar(100)

) server oradb options(schema 'NK_SYGIS',table 'T_NKGIS_ROAD');

schema:写oracle中的schema,table是同步的oracle中的表名称






4.2 查询

在postgresqlsql中执行以下语句:
select * from T_NKGIS_ROAD_foreign;

结果如下图



很清楚,和我们oracle中看到的一模一样。
 
 
 
 

五 扩展

访问的oracle表,可以postgresql中的表进行join,order by。。。甚至增删改查。 这样,使用postgis和oracle的业务关联,完美的gis解决方案。

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...