DBAtlas · Veritabanı operasyon atlası

pg_hba.conf kural sırasını doğrula ve güvenle reload et

PostgreSQLGüvenlik

Komut

-- 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.

DBAtlas'ta aç →

İlgili