Ubuntu

無法連接到 VirtualBox 來賓上的 PostgreSQL

  • April 17, 2019

當我嘗試從主機系統上的 PostgreSQL 客戶端連接到 VirtualBox 來賓系統上的 PostgreSQL 伺服器時,我收到“連接嘗試失敗”消息。

主機系統是 Windows XP。我正在執行 VirtualBox 3.1.2。來賓系統是 Ubuntu 9.10 Karmic Koala 和 PostgreSQL 8.4。

我已經按照手冊和這篇文章中的描述在 VirtualBox 中轉發了埠 5432 。當我執行時vboxmanage getextradata vmname enumerate,我得到這些條目(除其他外):

Key: VBoxInternal/Devices/e1000/0/LUN#0/Config/pgsql/GuestPort, Value: 5432
Key: VBoxInternal/Devices/e1000/0/LUN#0/Config/pgsql/HostPort, Value: 5432
Key: VBoxInternal/Devices/e1000/0/LUN#0/Config/pgsql/Protocol, Value: TCP

我在 /etc/postgresql/8.4/main/pg_hba.conf 中使用以下條目配置了 PostgreSQL 安全性:

# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
host    all         all         192.168.1.0/24        md5
host    all         all         10.0.2.2/32        md5

然後我用sudo /etc/init.d/postgresql-8.4 reload.

僅出於診斷目的,我禁用了我的 Windows 防火牆和我的 Ubuntu 防火牆 ( sudo ufw disable)。

有人知道我錯過了哪些步驟嗎?

好的,感謝這篇文章,我找到了遺漏的步驟。

我忘記在 postgresql.conf 中設置 listen_addresses 設置。我正在使用這個值,但它可能會受到更多限制:

listen_addresses = '*'

澄清一下,當您從主機連接到 PostgreSQL 時,使用 localhost 作為伺服器,使用 5432 作為埠。VirtualBox 會將該埠轉發給來賓。

我還意識到某些設置要求您重新啟動 PostgreSQL,而不僅僅是重新載入它。命令是:

sudo /etc/init.d/postgresql-8.4 restart

引用自:https://serverfault.com/questions/106168