VirtualBox ゲスト上の PostgreSQL に接続できない

VirtualBox ゲスト上の PostgreSQL に接続できない

ホスト システム上の 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

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

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

私がどの手順を見逃したか知っている人はいますか?

答え1

OK、おかげで見逃したステップが見つかりましたこの郵便受け

postgresql.conf で listen_addresses 設定を設定するのを忘れていました。この値を使用していますが、さらに制限することもできます。

listen_addresses = '*'

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

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

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

関連情報