Impossibile connettersi a PostgreSQL sul guest VirtualBox


11

Quando provo a connettermi da un client PostgreSQL sul sistema host al server PostgreSQL su un sistema guest VirtualBox, ricevo un messaggio "tentativo di connessione fallito".

Il sistema host è Windows XP. Sto eseguendo VirtualBox 3.1.2. Il sistema ospite è Ubuntu 9.10 Karmic Koala con PostgreSQL 8.4.

Ho inoltrato la porta 5432 in VirtualBox come descritto nel manuale e in questo post . Quando corro vboxmanage getextradata vmname enumerate, ottengo queste voci (tra le altre):

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

Ho configurato la sicurezza PostgreSQL in /etc/postgresql/8.4/main/pg_hba.conf con queste voci:

# 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

Quindi ho ricaricato PostgreSQL con sudo /etc/init.d/postgresql-8.4 reload.

Solo a scopo diagnostico , ho disabilitato il mio firewall di Windows e il mio firewall di Ubuntu ( sudo ufw disable).

Qualcuno sa quali passi ho perso?

Risposte:


12

OK, ho trovato il passo perso grazie a questo post .

Avevo dimenticato di impostare l'impostazione hear_addresses in postgresql.conf. Sto usando questo valore, ma potrebbe essere più limitato:

listen_addresses = '*'

Solo per chiarire, quando ti connetti a PostgreSQL dall'host, usa localhost come server e 5432 come porta. VirtualBox inoltrerà tale porta al guest.

Mi sono anche reso conto che alcune impostazioni richiedono il riavvio di PostgreSQL invece di ricaricarlo. Il comando è:

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

1
Dopo aver attraversato più tutorial sul web per suggerimenti, e in esecuzione systemctl reload postgresql, systemctl restart postgresqlè quello che alla fine ha fatto per me.
Amani Kilumanga,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.