PostgreSQL Oracle_fdw

PostgreSQL Oracle_fdw,PostgreSQL yabancı sistemlere bağlanmak veri almak ve sorgulamak için kullanılan ve ortak cevap getirmek veya konuşturmak için tercüman görevi görmektedir. PostgreSQL  de birden fazla fdw(Foreign Data Wrapper ) bulunmaktadır .Bu yazımda bunlardan biri olan oracle_fdw kurulumu ve gerekli paketler nelerden ve nasıl yüklenir onları anlatacağım.

Oracle _fdw kurulumu yaparken oracle instant client’ı yüklememiz gerekiyor .İnstantclient da ise;

İnstantclient-basic_linux,
instantclient_sdk_linux,
instantclient_sqlplus

rpm’lerini yüklemeniz gerekiyor (Versiyon farketmez.)Kurulum için Postgresql için oracle_client kurulumu isimli makalemden yararlanabilirsiniz.

PostgreSQL için Oracle Client Kurulumu

Postgresql tarafında ise standart kurulum yaptıysanız postgresql-devel ve postresql-lib rpm paketlerini versiyonunuza göre indirip kurmalısınız. Oracle_client kurulumu için PostgreSQL için oracle client kurulumu isimli makalemi okuyabilirsiniz.

Gerekli oracle_client sürümünü indirip kurduktan sonra aşağıdaki adımları izleyerek oracle_fdw kurulumunu yapabilirsiniz.
İlk olarak Oracle_fdw extensionını indiriyoruz , indirmek için aşağıdaki linkten faydalanabilirsiniz.

https://github.com/laurenz/oracle_fdw

Oracle_fdw extension dosyalarını indirip makinemizdeki herhangi klasöre aktardıktan sonra  klasöre giriyoruz ve aşağıdaki komutu çalıştırıyoruz.

make

Klasörün içinde make komutunu çalıştırdıktan sonra aşağıdaki gibi çıktı almanız gerekiyor.

Yukarıdaki gibi çıktı almadıysanız ve oracle_utils.c:22:17: fatal error: oci.h: No such file or directory ve make: gcc : Command not found make:*** [oracle_fdw.o] Error 127  gibi  benzer hata aldıysanız Oracle_fdw oracle_utils.c:22:17: fatal error: oci.h: No such file or directory hatası çözümü isimli makelemden ve make: gcc : Command not found make:*** [oracle_fdw.o] Error 127 Hatası ve Çözümü  isimli makalelerden yararlanabilirsiniz.

Yukarıdaki işlem tamamlandıktan sonra  ,bir sonra ki komutu çalıştırarak devam edebilirsiniz.

 make install

Son olarak aşağıdaki komutu çalıştırıyoruz ve  işletim seviyesinde yapılan işlemlerimiz sona eriyor.Bu adımı yapmadan  önce bunun amacı PostgreSQL  kodu ile oracle_fdw kodunu beraber compile etmek için kullanılır.

make NO_PGXS=1

Psql ile postgres’e bağlandıktan sonra aşağıdaki komutu çalıştırarak extensionımızı oluşturuyoruz.

create extension oracle_fdw;

Extension kurulduktan sonra diğer extension kurulumlarında olduğu gibi server oluşturuyoruz.

 

CREATE SERVER oradb1 FOREIGN DATA WRAPPER oracle_fdw OPTIONS (dbserver 'oracle_ip:1521');

User mapping oluşturuyoruz.

CREATE USER MAPPING FOR pguser SERVER oradb1 OPTIONS (USER 'oracleuser', PASSWORD 'OracleUserSifre');

Ve son olarak foreign table oluşturuyoruz.

CREATE FOREIGN TABLE ftbl_ora_test1
 (
 id int OPTIONS (key 'true') NOT NULL,
 item varchar(10),
 upd_date timestamp
 )
 SERVER oradb1 OPTIONS (SCHEMA 'oracle_schema', TABLE 'oracle_tablo');

Tablomuzu da oluşturduktan sonra oracle_fdw extensionımızı kullanabiliriz artık.

Loading