Aylar: Ekim 2018

Postgresql Random Data Yüklemek

Postgresql Random Data Yüklemek

Bazı durumlarda veritabanına random veriler girerek  veritabanının boyutunu artırmak isteyebiliriz .Bunun için aşağıdaki scripti çalıştırabilirsiniz.

Aşağıdaki scriptte t_random adında tablo  oluşturuyoruz.

Tablo oluşturulduktan sonra insert işlemini yaparak tablonun boyutunu arttırıyoruz.

Aşağıdaki komut yardımı ile de tablonun boyutunu öğrenebiliriz.

 

285 total views, no views today

MSSQL CPU’yu Yoran Sorgular

MSSQL CPU’yu Yoran Sorgular

Veritabanında performans çalışması yapmak istediniz ve cpu değerleriniz yüksek çıkıyor  aşağıdaki sorgu ile  cpu’yu yorgan sorguları kontrol edebilir ve bun sorgu sonucu çıkan sorguları  düzenleyerek cpu değerlerinizi düşürebilirsiniz.

 

 

380 total views, 2 views today

Postgresql User Adını Değiştirmek

Postgresql User Adını Değiştirmek

Postgresql de kullanıcı oluşturdunuz fakat isminin değişmesi istendi ya da farklı nedenlerden dolayı  değiştirmeniz gerekti  bunun için kullanıcıyı silip tekrar oluşturup tekrar yetkilendirmenize gerek yok aşağıdaki komutu kullanarak user adını değiştirebilirsiniz.

 

ALTER USER  Kullanıcının_eski_ismi RENAME TO Kullanıcının_yeni_ismi;

256 total views, 1 views today

Postgresql de uzun süren sorguları bulmak ve kill etmek

Postgresql de uzun süren sorguları bulmak ve kill etmek

Veritabanın performansını izlemek veya anlık lockları bulup kill etmek için ya da  modifiye etmek için aşağıdaki sorgulardan faydalanabilirsiniz.

Yukarıdaki komutta 5 dakikadan uzun süren sorguları getirir.Aşağıdaki komut yardımı ile ExclusiveLock olan sorguları bulmanıza yardımcı olur.

Yukarıdaki sorgular yardımı ile sorgunuzu buldunuz ve sorgunuza ait pid(processes id) değerini öğrendikten sonra aşağıdaki komut yardımı ile durdurabilirsiniz.

Sorguyu tamamen pg_cancel_backend komutunu kullanarak durdurmak birkaç saniye sürebilir .

Yada  aşağıdaki komutu kullanarak direk o session’ı kill edebilirsiniz .

pg_terminate_backend komutu  tutarsızlığa neden olabilir , dikkatli kullanmanızı tavsiye ederim.

289 total views, no views today

Postgresql Örnek Veritabanı Yükleme

Postgresql Örnek Veritabanı Yükleme

Postgresql de bazen denemeleri ,testleri yapacağımızda örnek veritabanına ihtiyaç duyabiliyoruz. Bunun için epel reposunda da bulunan  pagila’yı kullanabiliriz. Pagilla’yı yüklemek için aşağıdaki adımları izleyebilirsiniz.

Pagila veritabanını yüklemeden önce epel reposunu yüklemeniz gerekiyor.
Aşağıdaki komut yardımı ile epel reposunu yükleyebilirsiniz.

Repoyu indirdikten sonra pagilanın dosyalarını yüklemek için aşağıdaki komutu çalıştırıyoruz.

Yukarıdaki gibi pagila’nın dosyaları kuruldu şimdi nerede olduğuna bakalım.

cd / yaptıktan sonra  aşağıdaki komut yardımı ile paketi arıyoruz.

Yukarıda pagilanın dosyalarının bulunduğu path’i gördük sıra bunları yüklemeye geldi bunun için postgrese bağlanıyoruz.

Postgres user’ı ile bağlandık ve şimdide  pagila veritabanı oluşturup içine dizinlerdeki dosyaları yükleyelim.

Pagila veritabanımız oluştuktan sonra “\c pagila” yazarak bağlanıyoruz ve aşağıdaki işlemleri sırası ile yapıyoruz.

Schama ,tablo,type ,domain,function gibi nesneler aşağıda oluşturuluyor.

Yukarıda oluşturulan tablolara insert scripti yardımı ile veriler yükleniyor.

Tablolar alter ediliyor ve copy komutu ile veriler yükleniyor.

Veritabanı oluşturduk ve içine veriler basıldı psql e bağlanarak \l+ artı komutuyla  veritabanının boyutunu kontrol edebilirsiniz.

477 total views, 1 views today

PostgreSQL kurulumu

PostgreSQL kurulumu

Repolarda genel de olan Postgresql 9.2 versiyonudur isterseniz bu versyonu kurabilirsiniz.

https://www.postgresql.org/download/linux/redhat/

Yukarıdaki linkten işletim sistemini versiyonu seçtikten sonra çıkan yum install ile başlayan linki kopyalayarak yapabilirsiniz.

Yukarıdaki yum install paketini yükledikten sonra  /etc/yum.repos.d pgdp-10-centos adında repo yüklenmiş olacaktır.

Repo yüklendikten sonra kuruluma geçiyoruz.

Yukarıdaki komut çalışıtırdıktan sonra aşağıdaki gibi onay yeri gelecektir.

Y  yazarak onaylayıp devam ediyorz

Complete! Yazısını gördükten  aşağıdaki komut yardımı ile postgres kullanıcısına bağlanıyoruz .

Sıradaki işlem initdb yapmak oluyor;

İnitdb den sonra ki kısımı isterseniz değiştirebilirsiniz ( /var/lib/pgsql/10/data yazılan yer)

Root kullanıcısına geçerek aşağıdaki komutu çalıştırıp servisi enable ediyoruz.

Enable ettikten sonra aşağıdaki komut yardımı ile servisi başlatıyoruz.

Bu işlem de yapıldıktan sonra servisimizi kontrol edelim.

Servisimiz çalıştığını aşağıdaki gibi görüyoruz.

 

 

 

438 total views, no views today

Postgresql Makefile54  Hatası ve Çözümü

Postgresql Makefile54 Hatası ve Çözümü

Postgresql’in reposunda olmayan farklı extension paketini yüklemeye çalıştığımızda aşağıdaki hataya benzer hata
alabiliriz bunun çözümü için  paketleri yüklememiz gerekiyor bu paketleri yükledikten sorun çözülecektir.

Makefile:54: /usr/pgsql-10/lib/pgxs/src/makefiles/pgxs.mk

Extensionları yüklememiz için postgresql libs ve dev paketlerini yüklememiz gerekir.

Postgresql10 da make54 hatası almamak paketi için  aşağıdaki paketler yüklenmelidir.

Postgresql library paketini yüklüyoruz.

Postgresql sürümüne bağlı olarak dev paketini yüklüyoruz

Bunlar yüklendikten sonra tekrar  işlemlerinize devam edebilirsiniz.

548 total views, no views today

Postgresql  MSSQL Server arasında Foreign Data Wrapper

Postgresql MSSQL Server arasında Foreign Data Wrapper

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.

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.

Yukarıdaki kurulumlar bittikten sonra tds_fdw extension’ını indiriyoruz.

İ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.

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.

 

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.

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.

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.

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.

524 total views, 1 views today

Theme: Overlay by Kaira Extra Text
Cape Town, South Africa