Ich habe gerade eine Stunde meines Lebens damit verschwendet, herauszufinden, warum pgAdminIII keine Verbindung zum Server herstellen konnte localhost
. Nachdem ich versucht hatte, Konfigurationsänderungen vorzunehmen, den PostgreSQL-Dienst zu starten/stoppen usw., wurde mir schließlich klar, dass sich seit der letzten Verwendung von pgAdminIII nur eines geändert hatte: Ich war mit meinem VPN verbunden.
Ich bin kein Netzwerkexperte und frage deshalb hier: Warum kann ich keine Verbindung zu PostgreSQL (localhost) herstellen, wenn ich aktiv mit meinem VPN-Anbieter verbunden bin?
Bonus: Welche Befehle/Schritte kann ich verwenden, um genau anzuzeigenWarum?
BEARBEITEN:
pg_hba.conf:
...
# CAUTION: Configuring the system for local "trust" authentication
# allows any local user to connect as any PostgreSQL user, including
# the database superuser. If you do not trust all your local users,
# use another authentication method.
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication chris trust
#host replication chris 127.0.0.1/32 trust
#host replication chris ::1/128 trust
OS X-Version: 10.12.6 (Sierra)
PostgreSQL-Version: 9.6.3
VPN-Anbieter: ExpressVPN
Antwort1
Ich bin kein Netzwerk-Zauberer, deshalb frage ich hier: Warum kann ich keine Verbindung zu PostgreSQL (localhost) herstellen, wenn ich aktiv mit meinem VPN-Anbieter verbunden bin?
Sie haben Ihre PostgreSQL-Installation so konfiguriert, dass nur Localhost-Verbindungen zugelassen werden.
mit welchen Befehlen/Schritten kann ich den genauen Grund anzeigen?
Ändern Sie pg_hba.conf, um einen Eintrag für Ihre ExpressVPN-IP-Adresse einzuschließen
Host alle alle xxx.xxx.xxx.xxx Vertrauen
Ich schlage nicht vor, dass Sie allen lokalen Benutzern und Datenbankbenutzern, die sich über die VPN-Adresse mit Ihrem Server verbinden, Zugriff auf Ihre Datenbank gewähren. Wenn Sie das möchten, ändern Sie die Adresse xxx.xxx.xxx.xxx
in Ihre ExpressVPN-IP-Adresse und jeder Benutzer kann sich mit Ihrem Datenbankserver verbinden.