Perdí una hora de mi vida tratando de descubrir por qué pgAdminIII no podía conectarse al servidor en localhost
. Después de intentar editar la configuración, iniciar/detener el servicio postgresql, etc., finalmente me di cuenta de que solo una cosa había cambiado desde la última vez que usé pgAdminIII: estaba conectado a mi VPN.
No soy un asistente de redes, por eso pregunto aquí: ¿por qué no puedo conectarme a PostgreSQL (localhost) cuando estoy conectado activamente a mi proveedor de VPN?
Bonificación: ¿qué comandos/pasos puedo usar para mostrar exactamente?por qué?
EDITAR:
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
versión OSX: 10.12.6 (Sierra)
Versión PostgreSQL: 9.6.3
proveedor de VPN: ExpressVPN
Respuesta1
No soy un asistente de redes, por eso pregunto aquí: ¿por qué no puedo conectarme a PostgreSQL (localhost) cuando estoy conectado activamente a mi proveedor de VPN?
Ha configurado su instalación de PostgreSQL para permitir solo conexiones de host local.
¿Qué comandos/pasos puedo usar para mostrar exactamente por qué?
Modifique pg_hba.conf para incluir una entrada para su dirección IP de ExpressVPN
alojar todo todo xxx.xxx.xxx.xxx confianza
No le sugiero que dé acceso a su base de datos a todos los usuarios locales y de bases de datos que se conectan a su servidor mediante la dirección VPN. Si quisiera que ese fuera el caso, cambiaría xxx.xxx.xxx.xxx
su dirección IP de ExpressVPN y cualquier usuario podría conectarse a su servidor de base de datos.