PostgreSQL之oracle_fdw安装与使用

摘要:
目的介绍项目开发中遇到的一个问题,即需要从PostgreSQL访问Oracle数据库。告诉我使用oracle_ Fdw可以实现,但在实现和安装过程中,仍然存在各种问题,韩国工人长期困扰着我。很抱歉,但现在我将记录安装过程,因为在部署期间需要安装oracle _Fdw1。下载oracle_Fdw点击github下载。

目的介绍

现在项目开发遇到一个问题,就是需要从PostgreSQL中访问Oracle数据库

身为渣渣猿一脸懵逼。于是乎请教了公司的数据库方面的大牛韩工。告诉我用oracle_fdw 可以实现,但是在实现安装的过程中,还是各种问题,又麻烦韩工帮我看了好久。很不好意思,现在 针对这次安装的过程进行记录下,因为部署的时候还要用到

安装oracle_fdw

1.下载oracle_fdw

点击github下载。注意,你要下载和你postgresql版本项目的安装包。我就是下载的不一样的导致这里找了好久。

注意:我这里用的是oracle_fdw-2.0.0.这个版本,之前下了个2.1.0结果不可以

image

2.将文件移动到pg安装路径下

下载完成将zip包解压,把【lib】文件夹的oracle_fdw.dll和【share/extension】目录下的三个文件分别复制到PostgreSQL安装目录下的【lib】文件夹和【share/extension】目录里去。

-- 创建oracle_fdw
create extension oracle_fdw;
-- 语句能查询到oracle_fdw extension,如下图
 select * from pg_available_extensions;
 

image

3.通过oracle_fdw访问oracle

--创建访问oracle的连接
create server oracle foreign data wrapper oracle_fdw options(dbserver '127.0.0.1:1521/orcl');
--授予zhazha用户访问权限
grant usage on foreign server oracle to zhazha;
--创建到oracle的映射
create user mapping for zhazha server oracle options(user 'SCOTT',password 'tiger');
--创建需要访问的oracle中对应表的结构
create foreign table emptest(
EMPNO NUMBER(4),
ENAME VARCHAR(10),
JOB VARCHAR(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2)
) server oracle options(schema 'SCOTT',table 'EMP');
--在pg中访问oracle的表
select * from emptest;

下面粘贴我查询出的

image

4.其他操作

-- 查询已创建的到oracle的连接

SELECT * from pg_user_mappings;

-- 删除创建的对象

drop foreign table emptest;
drop user mapping for highgo server oracle;
drop server oracle;

参考:
[1]:https://blog.csdn.net/ljinxin/article/details/77772587
[2]:https://blog.csdn.net/pg_hgdb/article/details/81700898

免责声明:文章转载自《PostgreSQL之oracle_fdw安装与使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇scala 学习笔记(07) 一等公民的函数js 实时监听input中值变化下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

oracle 存储过程(1)

--建一张user_info表create table user_info (id varchar2(10),name varchar2(20),password varchar2(20),address varchar2(30));--创建存储过程,作用是向user_info表中添加数据create or replace procedure adduse...

Oracle OWI 等待事件历史视图及相关视图

Oracle提供的等待事件视图使得我们可以获取指定session以及实例级别等待事件的详细信息,这些视图分别是v$session_wait,v$session_event,以及v$system_event。然而这几个视图对于历史等待事件无能为力。对此,Oracle也提供了历史等待事件视图v$session_wait_history,同时视图v$sessio...

dbstart和dbshut启动、关闭数据库报错ORACLE_HOME_LISTNER is not SET解决办法

dbstart启动数据库报错,如下: [oracle@wen ~]$ dbstartORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net ListenerUsage: /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart ORACLE...

PostgreSQL版本快速升级

PostgreSQL版本快速升级 写在前面   PostgreSQL9.5版本支持数据分片的功能,为以后做分布式考虑,准备将生产环境的9.1版本升级至9.5。中间需要做数据迁移。   在迁移操作中,为保证数据完整性,一般需要在数据库停止的情况下进行备份恢复操作,在数据量小的情况下,通过pg_dumpall的方式备份恢复也是很迅速的,但如果数据量大的情况,再...

Oracle 字符集的查看和修改

一、什么是Oracle字符集        Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。 影响Oracle数据库字符集最重要的参数是NLS_LANG参...

oracle查询连接数、并发数、共享池大小

1、查看当前数据库建立的会话情况: select sid,serial#,username,program,machine,status from v$session; 2、查询数据库当前进程的连接数: select count(*) from v$process; 3、查看数据库当前会话的连接数: select count(*) from v$sessi...