PostgreSQL İstemci Bağlantı Ayarları (pg_hba.conf ,postgresql.conf)

PostgreSQL İstemci Bağlantı Ayarları (pg_hba.conf ,postgresql.conf),Önceki yazılarımda PostgreSQL kurulumlarını ,cluster başlatma  gibi işlemleri yaptık bu yazımızda  postgresql e dışardan bağlanmak için gerekli konfigurasyonları yapacağız.

Postgresql.conf  ve pg_hba.conf ile ilgili daha detaylı bilgi için :

Postgresql.conf

Pg_hba.conf

İlk olarak iki dosyadan bahsedeceğim. postgresql.conf ve pg_hba.conf bu iki dosya postgresql  için olmazsa olmaz konfigurasyon dosyalarıdır.

Postgresql.conf ve pg_hba.conf dosyaları initdb yaparken data dosyası olarak belirttiğimiz yerde bulunur.

Standart kurulum yapıldıysa /var/lib/pgsql/13(versiyona göre değişebilir)/data/  dizininde bulunur.

İlk olarak kısaca postgresql.conf dan bahsedelim.

Postgresql.conf ,cluster bazında   postgresql’in data dizinleri ,connection ve authentication ,wal,replication ,query tuning,reporting and logging,istatistik ,autovacuum,client connectionları,lock yönetimi, config file gibi  birden fazla parametreleri değiştirmek ve ince ayarlamalar yapmak için kullanılır.

Pg_hba.conf , belirli bir ip den veya sadece belirli bir ip bloğundan postgresql e şifreli şifresiz ya da hangi hash algoritması  ile bağlantı yapılarak bağlanması gibi konfigurasyonların yapıldığı config dosyasıdır.

Genel olarak postgresql.conf ve pg_hba.conf dan bahsettikten sonra gerekli konfigurasyonları yapalım.

İlk olarak postgresql.conf üzerinden listen_addresses parametresini aşağıdaki gibi değiştirerek gelen bütün isteği kabul etmesi için ilk adımı atıyoruz. Listen addresses karşısında yazan localhost’u silerek * yaparak kaydedip çıkıyoruz.

Bir sonraki adım olan pg_hba.conf parametresine geliyoruz ve burada aşağıdaki parametreleri değiştiriyoruz.

Yukarıdaki değişiklikler test ortamında problemsiz bağlantı için yapılmıştır. Production ortamda trust yerine scram-sha-256 ve 0.0.0.0/0 yerine hangi ip bloğundan gelmesini veya ip bazlı izin tanımlaması yapılması gerekmektedir.

PostgreSQL e aşağıdaki şekilde bağlanarak postgres şifresini aşağıdaki komut yardımı ile  değiştirmeniz gerekmektedir.

alter user  postgres password 'P@sSwOrd1!'

Konfigurasyon dosyalaları   ve postgres şifresini ki  değiştirdikten sonra postgresql servisini aşağıdaki şekilde restart etmemiz gerekiyor.

 

systemctl restart postgresql-13.service

 

Not :  Konfigurasyonlarda yanlışlık  veya eksik yazımlarda  servis başlamayabilir.

Firewall açıksa aşağıdaki komut yardımı ile firewall’u kapatmanız gerekmektedir.(Firewall’u kapatmak istemeyenler sadece o porta firewall üzerinden izin tanımlayabilirler.)

 

systemctl stop firewalld

Servisi restart ettikten sonra  postgresql de yapılan değişiklikleri kabul ederek belirlediğimiz parametreler ile yeniden hizmet vermeye başlıyor ve bütün bağlantı istekleri kabul edilebilir hale geliyor.

Loading