PostgreSQL "Connection refused" — Sunucu mu Kapalı, Ağ mı Engelli?
Connection refused, timeout ve "no pg_hba.conf entry" arasındaki fark; listen_addresses, port, firewall ve Docker port yayınlama kontrolleri.
Operasyonel Doğrulama & Güvenilirlik Standardı
Hata mesajı semptomdur, kök neden değildir. Sunucuyu yeniden başlatmadan veya rastgele ayar değiştirmeden önce aşağıdaki "Nedeni ayırt eden tek sorgu"yu çalıştırarak gerçek senaryoyu netleştirin.
▸Belirti
psql: error: connection to server at "10.0.4.12", port 5432 failed:
could not connect to server: Connection refused
Is the server running on that host and accepting TCP/IP connections?Bu hata mesajı nettir: hedef portta dinleyen hiçbir süreç yok. Yani sorun kimlik doğrulama değil, ağ ya da süreç seviyesindedir.
| Mesaj | Katman | Anlamı |
|---|---|---|
Connection refused | Ağ/süreç | Portta dinleyen yok ya da bağlantı aktif reddedildi |
Connection timed out | Ağ | Paketler düşüyor: firewall, security group, yanlış IP |
no pg_hba.conf entry | Kimlik doğrulama | Sunucuya ulaşıldı, kural eşleşmedi |
▸Adım adım teşhis
1. Sunucuya ağ erişiminiz var mı?
pg_isready -h 10.0.4.12 -p 54322. Süreç ayakta mı ve hangi arayüzü dinliyor?
sudo systemctl status postgresql
sudo ss -ltnp | grep 5432ss çıktısında 127.0.0.1:5432 görüp 0.0.0.0:5432 görmüyorsanız, sunucu yalnızca yerel bağlantı kabul ediyor demektir.
3. Dinleme adresini kontrol edin.
SHOW listen_addresses;
SHOW port;Varsayılan localhost'tur. Değiştirmek için:
ALTER SYSTEM SET listen_addresses = '*';Bu ayar yeniden başlatma gerektirir:
sudo systemctl restart postgresql4. Firewall ve Security Group kontrolleri.
sudo ufw status
sudo iptables -L -n | grep 54325. Docker port haritalama kontrolü. Konteyner içinde PostgreSQL çalışsa bile, -p 5432:5432 verilmediyse ana makineden ulaşılamaz:
docker ps --format "table {{.Names}}\t{{.Ports}}"6. Disk dolması kaynaklı çökme kontrolü.
sudo tail -50 /var/log/postgresql/postgresql-17-main.log
df -h▸İlgili Mühendislik Rehberleri ve İç Linkler
- •PostgreSQL Password Authentication Failed Rehberi
- •PostgreSQL İlk Restore Tatbikatı Runbook'u
- •Test edilen sürümler: PostgreSQL 14 / 15 / 16 / 17
Diğer Veritabanı Hata Teşhisleri
Kriz anında başvurabileceğiniz diğer doğrulanmış hata rehberleri.
PostgreSQL too many clients already Hatası: 6 Adımda Çözüm
FATAL: sorry, too many clients already hatasının üç nedeni, nedeni ayırt eden tek sorgu ve max_connections ile PgBouncer üzerinden kalıcı çözümü.
PostgreSQL password authentication failed Hatası: Neden ve Çözüm
psql password authentication failed hatasının dört nedeni: yanlış şifre, md5/SCRAM uyuşmazlığı, pg_hba.conf sırası ve yanlış cluster. Adım adım teşhis.
PostgreSQL duplicate key Hatası: Sequence Kayması Düzeltme
Restore veya toplu içe aktarma sonrası "duplicate key value violates unique constraint" hatasının nedeni, tek komutla düzeltme ve tüm sequence'ları tarayan DO bloğu.