Ich versuche, von pgAdmin III (das auf beiden Computern installiert ist) eine Verbindung zu einer externen Datenbank herzustellen. Der Kunde beschwert sich:
Zugriff auf Datenbank verweigert
Der Server gewährt keinen Zugriff auf die Datenbank: Der Server meldet
FATAL: no pg_hba.conf entry for host "192.168.108.161", user "postgres", database "postgres", SSL off
Um auf eine Datenbank auf einem PostgreSQL-Server zuzugreifen, müssen Sie Ihrem Client zunächst den primären Zugriff auf den Server gewähren (Host Based Authentication). PostgreSQL überprüft die
pg_hba.conf
Datei, ob ein Muster vorhanden und aktiviert ist, das Ihrer Clientadresse / Ihrem Benutzernamen / Ihrer Datenbank entspricht, bevorSQL GRANT
Zugriffssteuerungslisten ausgewertet werden.Die anfänglichen Einstellungen in pg_hba.conf sind recht restriktiv, um unerwünschte Sicherheitslücken zu vermeiden, die durch nicht überprüfte, aber obligatorische Systemeinstellungen verursacht werden. Sie werden wahrscheinlich so etwas hinzufügen wollen
host all all 192.168.0.0/24 md5
In diesem Beispiel wird allen Benutzern im privaten Netzwerk der MD5-verschlüsselte Kennwortzugriff auf alle Datenbanken gewährt
192.168.0.0/24
. Sie können denpg_hba.conf
in pgAdmin III integrierten Editor verwenden, um diepg_hba.conf
Konfigurationsdatei zu bearbeiten .Nach dem Ändern
pg_hba.conf
müssen Sie ein erneutes Ladenpg_ctl
der Serverkonfiguration auslösen, indem Sie den Serverprozess stoppen oder neu starten.
Wobei der Server ausdrücklich angibt, dass alle Verbindungen aus dem internen Netzwerk akzeptiert werden.
pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
host all all 192.168.0.0/24 md5
Ich habe den Postmaster bereits neu gestartet, damit die Änderungen wirksam werden, und bin so weit gegangen, den gesamten Computer neu zu starten. Was könnte hier noch schief gehen?
/
war , wie viele Bits festgelegt wurden --- das macht viel mehr Sinn , jetzt!