Kategori: POSTGRESQL

PostgreSQL 11 to 12 Upgrade

PostgreSQL 11 to 12 Upgrade

PostgreSQL11 den PostgreSQL12 e upgrade için buyrun 🙂

10 total views, no views today

PostgreSQL 11 Kurulumu

PostgreSQL 11 Kurulumu

PostgreSQL open source yalın bir veritabanıdır.Bunun bazı avantaj ve dezavantajları bulunmaktadır. İhtiyacınıza göre PostgreSQL’i şekillendirebilir ve ihtiyacınıza göre kurulumları yapabilirsiniz.

PostgreSQL’in üzerinde birden fazla kritik veritabanlarının olacağını düşünerek kurulumlarımızı gerçekleştirelim.

 

İlk olarak postgresql’in reposunu aşağıdaki şekilde indirelim.

 

İndirdikten sonra paketi yükleyelim.

PostgreSQL kurulumuna geçelim.

 

 

postgresql11install

PostgreSQL kurulumunu tamamladık şimdi ise dosyalarımızı oluşturalım. Dosyaları oluştururken yeni versiyon çıktıktan sonra upgrade yapılacağını düşünerek versiyonlamayı tercih ediyorum bunun yanı sıra data ve log dizinini ssd ağırlıklı planlamanızı öneririm.

Kurulumu yaptık ve postgres kullanıcısı işletim sistemi tarafında oluştu şimdi ise dosyalarımıza yetki tanımlayalım.

Aşağıda yetkilerin tanımlandığını görebilirsiniz.

chown chmod postgres

Postgresql11 içerisindeki dosyaları da kontrol edelim.

Yukarıda görüldüğü gibi subfolderların da yetkiyi aldığını görüyoruz. PostgreSQL’in data ve log dosyalarının tutulacağı yerleri belirtmek ve PostgreSQL in gerekli kurulumları yapması  için initdb komutunu çalıştırıyoruz.

İnitdb yapılmadan önce postgres kullanıcısına geçmemiz gerekiyor.

Postgres kullanıcısına geçtikten sonra aşağıdaki gibi data ve log dosyalarını belirterek initdb yapıyoruz .Belirtilmez ise default path de kurulacaktır.

 

 

-D parametresi ile data dosyaların oluşacağı yeri ,-X ile de log dosyalarının tutulacağı yeri belirtiyoruz.

 

Yukarıdaki gibi initdb yapıldı ve cluster bazında default konfigürasyonlar yapıldı.

Bunu yaptıktan sonra pg_ctl ile postgresql servisini başlatabiliriz ya da systemctl dosyasını düzenleyerek systemctl ile postgresql’i başlatabiliriz. Aşağıda iki yöntemi de anlatacağım ikisinin de artıları ve eksileri bulunmaktadır. Ben genellikle systemctl ile data dizinin yerini belirterek servisi başlatmayı tercih ediyorum .

İlk olarak pg_ctl ile başlatacağız.

Yukarıdaki gibi  -l parametresini değiştirip log dizinini  belirterek postgresql servisini başlatabilirsiniz .

Systemctl ile  başlatmak için aşağıdaki adımları izleyebilirsiniz.Aşağıdaki işlemleri root kullanıcısı ile yapmamız gerekiyor.

İlk olarak postgresql servisini vi editörü ile açıyoruz

 

Yukarıdaki gibi başarılı şekilde data dizinini yazdıktan sonra kaydedip çıkıyoruz.

Servisi enable ettikten sonra servisi aşağıdaki şekilde başlatıyoruz.

Servisimiz başarılı şekilde başladı servisin durumunu aşağıdaki komut yardımı ile kontrol ediyoruz.

Yukarıdaki resimde görüldüğü gibi servisi durumunda active running yazıyorsa kurulumu başarılı bir şekilde gerçekleştirdiniz.

9 total views, 1 views today

PostgreSQL de Owner Kullanıcısını Silmek

PostgreSQL de Owner Kullanıcısını Silmek

PostgreSQL de bazı objelerin ownerını almak istediğinizde hata ile karşılabilirsiniz eğer kullanıcının veritabanında ki tüm ownerını almak isterseniz aşağıdaki komutu çalıştırmak yeterli olacaktır .

483 total views, no views today

PostgreSQL de Spesifik Yetkileri Almak

PostgreSQL de Spesifik Yetkileri Almak

Uygulamada userların  yetkisini almak isteyebilirsiniz bu durumda aşağıdaki plpgsql komutlarından yararlanabilirsiniz. İlk olarak sytanxlarını sonra örnekleri görelim..

497 total views, 1 views today

PostgreSQL de Kolonun Veri Tipini Değiştirmek

PostgreSQL de Kolonun Veri Tipini Değiştirmek

Uygulamamız için normalizasyon kurallarına dikkat ederek veritabanın içine tablo oluşturduk fakat oluşturduğumuz tablonun içinde kolonun veri tipini farklı oluşturmuşuz bundan dolayı drop create yapmanıza gerek yok .Aşağıdaki komutu kullanarak kolonun veri tipini değiştirebilirsiniz. Farklı bir senaryoda söyleyecek olursak tablonun içine verileri insert ettiniz fakat ederken data tipinin karakter sayısından daha fazla karaktere ihtiyaç duyduğunu gördünüz böyle durumlarda PostgreSQL bunu iki şekilde yapar .Birisi tablo re-create’i  diğeri ise tablonun point’ni değiştirerek gerçekleştirir.

600 total views, 1 views today

MSSQL den PostgreSQL e Linked Server

MSSQL den PostgreSQL e Linked Server

PostgreSQL den MSSQL e dataları aktarmak  yada MSSQL üzerinden PostgreSQL e sorgu yapmak isteyebilirsiniz. Bunun için farklı yöntemler vardır .Bunlardan birisi linked serverdır. Bu yöntem ile  verileri görmeyi anlatacağım bu yazımda.

508 total views, 1 views today

PostgreSQL de Anlık Sorguları İzlemek

PostgreSQL de Anlık Sorguları İzlemek

Postgresql üzerinde bazen yapılan işlemleri görmek isteriz. Bunun için farklı yöntemler ve Tool’lar bulunmaktadır. Örneğin basit ve ücretsiz tool olan PgAdmin üzerinden incelenebilir  fakat script ile kendim sorguyu çalıştırarak izlemek isterim derseniz aşağıdaki komuttan faydalanabilirsiniz. 

514 total views, no views today

PostgreSQL AWR

PostgreSQL AWR

PostgreSQL de yoğunluk, dar boğaz yada daha farklı olaylarda  cluster ve veritabanı bazlı inceleme yapmanız için birden fazla şeyleri incelemeniz gerekebilir. Performans sorunu yaşandığını düşünürsek  bu sorunun tespiti için indexlerin kullanılıp kullanılmadığını  ,I/O ,cpu gibi şeyleri inceleriz .Bunlar için tek tek sorgu yazmamız ve tek tek incelememiz gerekir .Bu işlemleri yapmaktansa hepsini bir arada toplayıp html formatında çıktısını veren pg_profile extensionını kullanabiliriz.

Pg_profile extension’ı PostgreSQL ‘in standart istatistik görünümlerine dayanmaktadır. Pl/pgsql ile yazılmıştır .Çalışma mantığı olarak Oracle AWR mimarisine benzemektedir. Oracle da ki gibi belirlenen zamanlarda snapshot alır ve bu snapshotlar arasında ki istatistiksel verileri yorumlamak için size html formatında verir.

Kısa bilgiden sonra  nasıl kurabiliriz ve bunu nasıl sistemimize uyarlayabiliriz onu anlatalım.

Kuruluma geçmeden önce postgresql.conf da bazı konfigurasyonları yapmamız gerekiyor .Bunları aşağıdaki gibi ayarlayabiliriz.

İstatistikleri toplamak için postgresql.conf üzerinden değiştirmemiz gerekir.

Yukarıdaki adımlar yapıldıktan sonra pg_stat_statements parametrelerini değiştiriyoruz.

İlk olarak github da belirtilen pg_profile extensionını aşağıdaki linkten indirmemiz gerekiyor.

https://github.com/zubkov-andrei/pg_profile

Sunucuya ilgili dosyayı indirdikten sonra klasorün içine girerek aşağıdaki adımları izliyoruz.

Make komutunu çalıştırıyoruz.

Bu işlemi yaparken aşağıdaki gibi hata alıyorsanız aşağıdaki gibi path parametresinin sonunda make install yazarak yapabilirsiniz.

Make install komutunu çalıştırdık ve gerekli konfigurasyonları yaptıysak psql client’ı ile PostgreSQL e bağlanarak extensionları aşağıdaki gibi oluşturabiliriz.

Pg_profile sekmesinde oluşturulacak bütün nesnelerin profile şemasında oluşturulması için aşağıdaki komutu çalıştırabiliriz.

Extension’ı güncellemek içinde aşağıdaki komuttan yararlanabilirsiniz.

alter extension pg_profile update;

Yukarıda bahsettiğim gibi pg_profile’ın çalışma mantığı  belirlenen zamanlarda snapshot alır ve bu snapshotlar arasında ki istatistiksel verileri yorumlamak için size html formatında verir. Bundan dolayı crontab a snapshot functionlarını aşağıdaki gibi eklememiz gerekiyor. Ben yarım saatte bir alacak şekilde ayarladım fakat siz daha kısa süreli yapabilirsiniz.

Crontab -e ile crontabı açıyoruz ve aşağıdaki komutları ekliyoruz.

Yukarıdaki komutta logları var/log dizinin altına yazmasını istedim isterseniz siz değiştirebilirsiniz.Aşağıdaki komut yardımı ile belirtilen saatten önce snapshot alabilirsiniz.

Aşağıdaki komut yardımı ile aldığınız snapshotları görüntüleyebilirsiniz.

Snapshotları aldıktan sonra aşağıdaki komut yardımı ile alınan snapshotları listeleyebiliriz.

AWR raporu şeklinde listelemek içinde aşağıdaki komutu kullanabiliriz.outputtan sonra path belirtip oraya yazdırabilirsiniz hiç bir şey verilmezse bulunduğunuz dizine oluşturur.

Yukarıdaki scriptin çıktısı aşağıdaki gibi olacaktır.

661 total views, no views today

Pgtune ile PostgreSQL.conf Konfigürasyonları

Pgtune ile PostgreSQL.conf Konfigürasyonları

PostgreSQL yalın halde tutulmuş veritabanıdır ve konfigurasyonlar yapmadan belirli bir süreye kadar çalışmaya devam eder fakat veritabanlarında yük oldukça problemler çıkmaya başlayacaktır.

Sorunların çıkmaması ve performans kaybı yaşanmaması için  sistem ve kullanılan kaynaklara göre gerekli çalışmaları yapmamız gerekir. Bunun için postgresql.conf dan gerekli konfigurasyonları yapmanız gerekecektir .postgresql.conf dosyasını ve sistemi sizin verdiğiniz parametreleri baz alarak yapan bazı toollar bulunmaktadır fakat bu toollar yerine sizin sistemi izleyerek gerekli parametreleri belirlemenizi tavsiye ederim.Fakat ilk kez postgresql kurulumu yaptınız ve  standart konfigurasyonlarda kalmasın diyorsanız bahsedeceğim pg_tune aracını kullanabilirsiniz.

 PgTune  sistem analizi ve  parametrelere göre önerilen konfigurasyon karşımıza çıkıyor.

Pg_tune ile ilgili  dosyaları indirmek için aşağıdaki linkten faydalanabilirsiniz.

https://github.com/le0pard/pgtune

Linkte belirtilen dosyaları indirdikten sonra indirilen dizine girerek aşağıdaki komutlar yardımı ile pgtune’u çalıştırıyoruz.

pgtune’u çalıştırırken aşağıdaki gibi postgresql.conf pathini girmemiz gerekiyor .Aşağıdaki komutu çalıştırarak farklı kullanımlarını görebiliriz.

Aşağıda connection sayısını belirterek önerilen konfigurasyonları aşağıdaki şekilde görebilirsiniz.

Bu size karışık geldiyse  aşağıda linki verilen sitede DB versiyonu ,işletim sistemi ,DB tipi ,total memory,cpu ve connection sayıları ve disk ile ilgili değerleri girerek verilen  konfigurasyonu kullanabilirsiniz. 
 
https://pgtune.leopard.in.ua/#/

Yukarıdaki linkte sitede pg_tune aracını kullanarak hesaplamalar yapacaktır.

515 total views, no views today

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