VirtualBoxゲストのPostgreSQLに接続できません


11

ホストシステムのPostgreSQLクライアントからVirtualBoxゲストシステムのPostgreSQLサーバーに接続しようとすると、「接続に失敗しました」というメッセージが表示されます。

ホストシステムはWindows XPです。VirtualBox 3.1.2を実行しています。ゲストシステムは、PostgreSQL 8.4を搭載したUbuntu 9.10 Karmic Koalaです。

マニュアルとこの投稿に記載されているように、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

次に、PostgreSQLをでリロードしましたsudo /etc/init.d/postgresql-8.4 reload

診断のみを目的として、WindowsファイアウォールとUbuntuファイアウォールを無効にしました(sudo ufw disable)。

誰かが私が逃したステップを知っていますか?

回答:


12

わかりました。この投稿のおかげで逃したステップを見つけました。

postgresql.confでlisten_addressesを設定するのを忘れていました。この値を使用していますが、より制限されている可能性があります。

listen_addresses = '*'

明確にするために、ホストからPostgreSQLに接続するときは、サーバーとしてlocalhostを使用し、ポートとして5432を使用します。VirtualBoxはそのポートをゲストに転送します。

一部の設定では、PostgreSQLをリロードするだけでなく、PostgreSQLを再起動する必要があることにも気付きました。コマンドは次のとおりです。

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

1
ヒントについてWebで複数のチュートリアルを実行しsystemctl reload postgresql、を実行した後、systemctl restart postgresql最終的に私のためにそれを行いました。
Amani Kilumanga 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.