Merhabalar, PostgreSQL’i genelde linux tabanlı işletim sistemlerine kuruyor olsak da bazen uygulama bağımlı olarak veya kurum kültürü olarak Windows işletim sistemi üzerinde de yönetebiliyoruz. Bu makalemizde oracle_fdw extension’ı kullanarak Postgresql üzerinden Oracle tabloları sorgulayacağız.
Linux işletim sistemi kullanıyor olsak sadece ‘create extension oracle_fdw’ komutu işimizi görecekti ancak işletim sistemi Windows olunca biraz manuel işlemler mevcut. Bunları sırayla aşağıda anlatmaya çalıştım. Umarım lazım olduğunda işinize yarar.
1. Oracle_fdw extension’ı download edilir. Burada postgre versiyonu ile uyumlu zip’in indirilmesi önemli. Benim PostgreSQL versiyonum 13.2, bu nedenle pg13 olanı indiriyorum.
https://github.com/laurenz/oracle_fdw/releases/tag/ORACLE_FDW_2_3_0
2. zip içerisindeki lib klasörü altındaki oracle_fdw.dll “C:\Program Files\PostgreSQL\13\lib” dizinine atılır.
3. Yine zip içerisindeki share/extension klasörü altındaki 3 adet .sql ve 1 adet .control dosyası C:\Program Files\PostgreSQL\13\share\extension dizinine atılır.
4. Oracle instanclient indirilir. Mutlaka 4 zip’in de indirilmesi gerekir. Tüm zip’ler unzip edilir. Tek bir instantclient_19_9 klasörü oluşacak.
https://www.oracle.com/tr/database/technologies/instant-client/winx64-64-downloads.html
5. psql ile postgres’e bağlanılır ve extension create edilir.
CREATE EXTENSION ORACLE_FDW;
6. Öncelikle Postgres üzerinde bir server oluşturulur. Daha sonra bir user mapping oluşturulur.
CREATE SERVER oradb1 FOREIGN DATA WRAPPER oracle_fdw OPTIONS (dbserver '192.168.33.10:1521/orcl');
CREATE USER MAPPING FOR postgres SERVER oradb1 OPTIONS (USER 'erman', PASSWORD 'root123');
7. Foreign table create edilir.
CREATE FOREIGN TABLE orcl_test
(
id int
)
SERVER oradb1 OPTIONS (SCHEMA 'ERMAN', TABLE 'TEST');
8. Test edilir.
postgres=# select * from orcl_Test;
id
----
2
1
2
3
4
5
(6 rows)
PostgreSQL ve Oracle Database hakkında daha detaylı bilgi için eğitim hizmetlerimizden yararlanabilirsiniz. Faydalı olması dileğiyle.