pg_hba.conf kural sırasını doğrula ve güvenle reload et
PostgreSQLGüvenlikKomut
-- Dosyanın yeri
SHOW hba_file;
# Kurallar yukarıdan aşağı okunur ve İLK eşleşen kural uygulanır;
# özel kurallar genel kurallardan ÖNCE gelmelidir:
# hostssl appdb web_app 10.10.0.0/16 scram-sha-256
# host all all 10.10.0.0/16 reject
# host all all 0.0.0.0/0 scram-sha-256
-- Reload ÖNCESİ doğrula: pg_hba_file_rules diskteki dosyayı okur
SELECT line_number, type, database, user_name, address, netmask, auth_method, error
FROM pg_hba_file_rules
ORDER BY line_number;
-- error sütunu boşsa uygula
SELECT pg_reload_conf();Ne yapar?
pg_hba.conf'un yerini, PostgreSQL'in dosyayı nasıl yorumladığını (satır, tip, veritabanı, kullanıcı, adres, yöntem) ve sözdizimi hatalarını reload öncesinde gösterir; ardından yapılandırmayı yeniden yükler.
Ne zaman kullanılır?
Yeni istemci ağı/uygulama eklerken, md5'ten scram-sha-256'ya geçişte veya 'no pg_hba.conf entry for host' hatası araştırılırken.
Dikkat
pg_hba_file_rules dosyanın şu anki halini gösterir, etkin kuralları değil. Herhangi bir satırda error doluysa reload yapılsa bile pg_hba.conf HİÇ yüklenmez ve eski kurallar geçerli kalır (logda 'pg_hba.conf was not reloaded'). Değişiklikler yalnızca yeni bağlantıları etkiler. Sırada önde kalan geniş bir kural (ör. host all all 0.0.0.0/0 trust) arkasındaki tüm kısıtlamaları etkisiz kılar. SSL kapalıyken hostssl satırları eşleşemez ve error sütununda uyarı görünür. View'ı varsayılan olarak yalnızca superuser okuyabilir. Dosyayı root olarak düzenleyen araçların sahipliği değiştirmediğinden emin ol; postgres kullanıcısı okuyamazsa reload başarısız olur.