我只是浪費了一個小時的時間試圖找出為什麼 pgAdminIII 無法連接到localhost
.在嘗試編輯設定、啟動/停止 postgresql 服務等之後,我終於意識到自上次使用 pgAdminIII 以來只有一件事發生了變化:我連接到了我的 VPN。
我不是網路嚮導,所以這就是我在這裡問的原因:當我主動連接到我的 VPN 提供者時,為什麼我無法連接到 PostgreSQL (localhost)?
獎勵:我可以使用哪些命令/步驟來準確顯示為什麼?
編輯:
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 版本:10.12.6(塞拉)
PostgreSQL 版本:9.6.3
VPN提供者:ExpressVPN
答案1
我不是網路嚮導,所以這就是我在這裡問的原因:當我主動連接到我的 VPN 提供者時,為什麼我無法連接到 PostgreSQL (localhost)?
您已將 PostgreSQL 安裝配置為僅允許本機主機連線。
我可以使用哪些命令/步驟來準確說明原因?
修改 pg_hba.conf 以包含您的 ExpressVPN IP 位址條目
託管所有所有 xxx.xxx.xxx.xxx 信任
我不建議您向所有使用 VPN 位址連接到您的伺服器的本機和資料庫使用者授予對您資料庫的存取權。如果您希望發生這種情況,您可以將 變更xxx.xxx.xxx.xxx
為您的 ExpressVPN IP 位址,任何使用者都可以連接到您的資料庫伺服器。