Назад | Перейти на главную страницу

Не удается подключиться к PostgreSQL в гостевой системе VirtualBox

Когда я пытаюсь подключиться от клиента PostgreSQL в хост-системе к серверу PostgreSQL в гостевой системе VirtualBox, я получаю сообщение «попытка подключения не удалась».

Хост-система - Windows XP. Я использую VirtualBox 3.1.2. Гостевая система - Ubuntu 9.10 Karmic Koala с PostgreSQL 8.4.

Я перенаправил порт 5432 в VirtualBox, как описано в руководстве, и эта почта. Когда я бегу 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

Я настроил безопасность PostgreSQL в /etc/postgresql/8.4/main/pg_hba.conf со следующими записями:

# 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).

Кто-нибудь знает, какие шаги я пропустил?

Хорошо, я нашел пропущенный шаг благодаря эта почта.

Я забыл установить параметр listen_addresses в postgresql.conf. Я использую это значение, но оно может быть более ограниченным:

listen_addresses = '*'

Чтобы уточнить, когда вы подключаетесь к PostgreSQL с хоста, используйте localhost в качестве сервера и 5432 в качестве порта. VirtualBox перенаправит этот порт гостю.

Я также понял, что некоторые настройки требуют перезапуска PostgreSQL вместо того, чтобы просто перезагружать его. Команда такая:

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