Não é possível conectar-se ao PostgreSQL no convidado do VirtualBox

Não é possível conectar-se ao PostgreSQL no convidado do VirtualBox

Quando tento conectar-me de um cliente PostgreSQL no sistema host ao servidor PostgreSQL em um sistema convidado VirtualBox, recebo uma mensagem "falha na tentativa de conexão".

O sistema host é o Windows XP. Estou executando o VirtualBox 3.1.2. O sistema convidado é Ubuntu 9.10 Karmic Koala com PostgreSQL 8.4.

Encaminhei a porta 5432 no VirtualBox conforme descrito no manual eesta postagem. Quando executo vboxmanage getextradata vmname enumerate, recebo estas entradas (entre outras):

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

Configurei a segurança do PostgreSQL em /etc/postgresql/8.4/main/pg_hba.conf com estas entradas:

# 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

Então recarreguei o PostgreSQL com sudo /etc/init.d/postgresql-8.4 reload.

Apenas para fins de diagnóstico, desativei meu firewall do Windows e meu firewall do Ubuntu ( sudo ufw disable).

Alguém sabe quais etapas eu perdi?

Responder1

OK, encontrei a etapa perdida graças aesta postagem.

Eu tinha esquecido de definir a configuração listen_addresses no postgresql.conf. Estou usando esse valor, mas poderia ser mais restrito:

listen_addresses = '*'

Só para esclarecer, ao se conectar ao PostgreSQL a partir do host, use localhost como servidor e 5432 como porta. O VirtualBox encaminhará essa porta para o convidado.

Também percebi que algumas configurações exigem que você reinicie o PostgreSQL em vez de apenas recarregá-lo. O comando é:

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

informação relacionada