logo资料库

Postgresql连接oracle驱动并实现读写.docx

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
postgresql-9.5.6 安装 oracle_fdw 插件 一、 环境 Linuex:CentOS6.2 PG:postgresql-9.5.6 Oracle:oracle11.2client Oracle_fdw: oracle_fdw_1_5 https://pgxn.org/dist/oracle_fdw/ 要注意看官方文档的 readme 文件,需要安装 oracle 客户端的 sdk 包 二、 下载 进入 pg 源码目录 git 下载或者下载 zip 文件上传到服务器 [root@localhost network-scripts]# cd /home/wsxcde/soft/pg/postgresql-9.5.6/contrib [root@localhost contrib]# git clone git://github.com/laurenz/oracle_fdw.git 三、 安装 检查 pg 的 pg_config 目录以及 pg_config 变量 [root@localhost oracle_fdw]# find / -name pg_config [root@localhost oracle_fdw]# which pg_config 检查 pg_config [root@localhost contrib]# cd oracle_fdw [root@localhost oracle_fdw]# make install
确认是否安装成功 [root@localhost oracle_fdw]# find / -name oracle_fdw.so 四、 测试 提示 libclntsh.so.11.1 无法打开共享对象文件 locate libclntsh.so 没有发现,但进入 oralce 的 lib 目录有这个文件 怀疑/etc/profile 文件未实际生效 重启服务器,create extension oracle_fdw 成功 4.1 创建扩展 create extension oracle_fdw; 4.2 创建服务器 create server ora_client_dw1 foreign data wrapper oracle_fdw options(dbserver '//134.132.9.7:1521/dw');
CREATE USER MAPPING FOR postgres SERVER ora_client_dw1 OPTIONS (user 'dw', password 'xxxx'); 4.3 创建用户密码 create server ora_client_dw2 foreign data wrapper oracle_fdw options(dbserver '//134.132.9.8:1521/dw'); CREATE USER MAPPING FOR postgres SERVER ora_client_dw2 OPTIONS (user 'dw', password 'xxxx'); 4.4 创建外部表 CREATE FOREIGN TABLE oratab ( 字段 ) SERVER oracle_server OPTIONS (schema '用户名', table '表名'); 用户名、表名要大写 4.5 DML(insert,updqate,delete)操作 在 postgres9.3 版本以后 oracle_fdw 支持对外部表的 Insert ,delete ,update ; 增加表操作项 options(key 'true') (当值设置为 true|on|yes 表示可以做增删改操 作) 默认值 false CREATE FOREIGN TABLE ora.a ( prod_id int8 options(key 'true'), offer_spec_name varchar(1600) COLLATE default, stat_offer_name_2 varchar(1643) COLLATE default, stat_offer_name_1 varchar(1600) COLLATE default ) SERVER ora_client_dw1 OPTIONS (schema 'DW', table 'A');
分享到:
收藏