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 = '*'
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
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:
postgresql.confdosyasındalisten_addressesayarını düzenleyin.pg_hba.confdosyasında erişim izni tanımlayın.- PostgreSQL servisini yeniden başlatın.
- 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.
