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

10

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

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

Eu encaminhei a porta 5432 no VirtualBox conforme descrito no manual e esta postagem . Quando eu executo vboxmanage getextradata vmname enumerate , recebo essas 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

Eu 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 eu 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?

    
por Don Kirkby 25.01.2010 / 20:11

1 resposta

12

OK, achei a etapa perdida graças a postagem .

Esqueci de definir a configuração listen_addresses no postgresql.conf. Estou usando esse valor, mas pode ser mais restrito:

listen_addresses = '*'

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

Eu 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
    
por 25.01.2010 / 20:11