PostgreSQL之oracle_fdw安裝與使用


目的介紹

現在項目開發遇到一個問題,就是需要從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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM