PostgreSQL' e Uzaktan Erişim Sağlama

PostgreSQL' e Uzaktan Erişim Sağlama

PostgreSQL'e Uzaktan Erişim (Remote Access) Nasıl Açılır?

PostgreSQL varsayılan olarak yalnızca localhost (127.0.0.1) üzerinden bağlantı kabul eder. Farklı bir sunucu veya bilgisayardan PostgreSQL veritabanına bağlanmak istiyorsanız, hem PostgreSQL yapılandırmasını hem de erişim izinlerini düzenlemeniz gerekir.

1. postgresql.conf Dosyasını Düzenleyin

İlk olarak PostgreSQL'in hangi IP adreslerinden bağlantı kabul edeceğini belirleyen postgresql.conf dosyasını açın:

nano /var/lib/pgsql/data/postgresql.conf

Dosya içerisinde aşağıdaki satırı bulun:

listen_addresses = 'localhost'

Eğer PostgreSQL'in tüm ağ arayüzlerinden bağlantı kabul etmesini istiyorsanız şu şekilde değiştirin:

listen_addresses = '*'
Not: listen_addresses değerinin '*' olması PostgreSQL'in dış bağlantıları dinlemesini sağlar. Ancak bağlantı izinleri ayrıca pg_hba.conf dosyasında tanımlanmalıdır.

2. pg_hba.conf Dosyasına Erişim Yetkisi Ekleyin

Uzaktan bağlanacak IP adresine izin vermek için aşağıdaki dosyayı açın:

nano /var/lib/pgsql/data/pg_hba.conf

Dosyanın en altına aşağıdaki satırı ekleyin:

host    dbadi    kullaniciadi    dis_ip_adresi/32    md5

Örnek:

host    muhasebe    muhasebeuser    123.321.12.32/32    md5

Buradaki alanların anlamları:

  • dbadi → Bağlanılacak veritabanı adı
  • kullaniciadi → PostgreSQL kullanıcı adı
  • dis_ip_adresi/32 → Bağlantı izni verilecek IP adresi
  • md5 → Şifre doğrulama yöntemi
Güvenlik Tavsiyesi: Tüm IP adreslerine erişim vermek yerine yalnızca ihtiyaç duyulan IP adreslerini tanımlamanız önerilir.

3. PostgreSQL Servisini Yeniden Başlatın

Yapılan değişikliklerin aktif olması için PostgreSQL servisini yeniden başlatın:

service postgresql restart

Alternatif olarak systemd kullanan sistemlerde:

systemctl restart postgresql

4. Erişimi Test Edin

Uzak sunucudan aşağıdaki komut ile bağlantıyı test edebilirsiniz:

psql -h SUNUCU_IP -U KULLANICI_ADI -d VERITABANI_ADI

Örnek:

psql -h 192.168.1.100 -U muhasebeuser -d muhasebe

Sonuç

PostgreSQL'e uzaktan erişim sağlamak için:

  1. postgresql.conf dosyasında listen_addresses ayarını düzenleyin.
  2. pg_hba.conf dosyasında erişim izni tanımlayın.
  3. PostgreSQL servisini yeniden başlatın.
  4. Gerekliyse sunucu güvenlik duvarında 5432/TCP portunu açın.

Bu adımlar tamamlandığında PostgreSQL veritabanınıza uzak sistemlerden güvenli şekilde erişebilirsiniz.