postgresql create server – Faruk Erdem
Etiket: postgresql create server
Posted on 12 Ekim 2018 28 Ocak 2019 by ferdem
Postgresql de farklı veritabanlarından veri çekilebileceğinden Postgresql Foreign Data Wrapper isimli yazımda bahsederek postgresql den postgresql e fdw(Foreign Data Wrapper) yapmıştık bu yazımda Mssql ile Postgresql arasında tds_fdw extensionından faydalanarak bağlantı yapacağız .
Postgresql den Mssql Server’a bağlanmak için tds_fdw extensionından faydalanacağız fakat bundan önce kurmamız gereken birkaç paket olacak bunları aşağıdaki gibi yüklememiz gerekiyor.
Kuruluma geçmeden önce Postgresql kurulumunu lib ve dev paketlerini yüklemeden yaptıysanız versiyonunuza göre rpm paketlerini bularak yüklemeniz gerekmektedir.
Postgresql de lib ve dev paketlerini kurduk varsayarak devam ediyoruz ve root kullanıcısında devam ediyoruz.
GNU Derleyicisini extension paketi Tds_fdw uzantısının bağlı olduğu paketleri beraberinde getirdiği için yüklememiz gerekiyor.
Yum install gcc-y
Başka bir extension bağımlılığımız için yüklememiz gerek epel reposudur. Bunun sebebi extensionımız için gerekli olan freetds ‘in içinde olmasıdır.
İlk olarak aşağıdaki gibi rpm paketini indiriyoruz.
Not: Aşağıdaki komutu çalıştırdığınızda bulunduğunuz dizine indirecektir. Komutu indirmeden önce ‘pwd ‘ komutunu kullanarak bulunduğunuz dizini görebilirsiniz.
Aşağıdaki gibi indirildiğini ve kaydedildiğini görebilirsiniz.
İndirilen rpm paketini aşağıdaki gibi çalıştırıyoruz.
Epel reposu kurulduktan sonra Freetds ve Freetds-devel kitaplıklarını yüklüyoruz.
yum install freetds -y
yum install freetds-devel -y
Yukarıdaki kurulumlar bittikten sonra tds_fdw extension’ını indiriyoruz.
wget https://github.com/GeoffMontee/tds_fdw/archive/master.zip (wget yüklü değilse yum install wget komutu ile kurabilirsiniz.)
İndirdikten sonra zip dosyasından aşağıdaki gibi çıkarmamız gerekiyor.(unzip yüklü değilse yum install unzip komutu ile kurabilirsiniz.)
Zip dosyasını çıkardıktan sonra tds_fdw klasörünün içine giriyoruz.
Aşağıdaki komutları sırasıyla çalıştırıyoruz.
PATH=/usr/pgsql-10/bin:$PATH make USE_PGXS=1
Yukarıdaki gibi çıktı alamıyor ve hata olarak makefile54 benzeri hata alıyorsanız Postgresql makefile54 hatası çözümü isimli makalemden faydalanabilirsiniz.
Yukarıdaki gibi çıktı aldıktan sonra önceki library dosyalarını aşağıdaki gibi yüklüyoruz.
PATH=/usr/pgsql-10/bin:$PATH make USE_PGXS=1 install
Yukarıdaki gibi çıktıyı aldıktan sonra Psql e bağlanarak aşağıdaki gibi extension’ı create edebiliriz.
Kurulumu yaptık ve şimdi Mssql ile postgresql arasında tds_fdw extension’ını kullanarak foreing data wrapper uygulamasını yapacağız. Bunun için ilk başta postgresql üzerinde Foreign Data Wrapper için aşağıdaki gibi server oluşturacağız.
CREATE SERVER ms FOREIGN DATA WRAPPER tds_fdw OPTIONS(servername 'MSSQL_Sunucu_ipsi ',database 'fdw_d1',port '1433');
Serverımızı kurduk sıra postgresql den nasıl bağlanacağımızı belirttiğimiz user mapping kısmına, bunun için aşağıdaki komutu kullanabilirsiniz.
CREATE USER MAPPING FOR postgres SERVER ms OPTIONS (username  'sa', password 'Faruk1234!');
Hangi user ile bağlanacağımızı belirttik şimdi ise postgresql de tablo oluşturup bunu mssql ile bağlamaya sıra geldi. Bunun için aşağıdaki komuttan yararlanabilirsiniz.
CREATE FOREIGN TABLE ms_d1(id int ,ad nchar(10)) SERVER ms OPTIONS (query 'SELECT id,ad FROM dbo.d1_1');
MSSQL üzerinde bulunan fdw_d1 veritabanında ki, dbo şemasının altındaki d1_1 tablosundan sorgu çektiğimizde aşağıdaki gibi 6 kayıt gelmektedir.
Şimdi ise foreign data wrapper mimarisini kullanarak oluşturduğumuz tabloyu kullanarak veriyi çekelim ve veriler aynı mı görelim.
Ms_d1 tablomuzdan sorgu çektik şimdide insert deneyelm.
Postgresql üzerinden kontrol edelim;
Yukarıda görüldüğü gibi insertler de postgresql üzerinden görüyoruz.
Posted in Genel, POSTGRESQLTagged epel-release-7-11.rpm, freetds, freetds-devel, mssql postgresql dblink, mssql tds_fdw, Postgresql Create Foreign Data Wrapper Server, Postgresql Create Foreign Server, postgresql CREATE FOREIGN TABLE, postgresql create server, postgresql den mssql e veri aktarımı, Postgresql Mssql arası bağlantı, postgresql mssql dblink, Postgresql MSSQL Foreign Data Wrapper, Postgresql Mssql Server tds_fdw, postgresql tds_fdw, postgresql tds_fdw konfigurasyonu, postgresql tds_fdw kurulumu, psql tds_fdw, yum install gccLeave a Comment on Postgresql MSSQL Server arasında Foreign Data Wrapper