VirtualBox 게스트에서 PostgreSQL에 연결할 수 없습니다


11

호스트 시스템의 PostgreSQL 클라이언트에서 VirtualBox 게스트 시스템의 PostgreSQL 서버로 연결하려고하면 "연결 시도 실패"메시지가 나타납니다.

호스트 시스템은 Windows XP입니다. VirtualBox 3.1.2를 실행 중입니다. 게스트 시스템은 PostgreSQL 8.4가 설치된 Ubuntu 9.10 Karmic Koala입니다.

매뉴얼 과이 게시물에 설명 된대로 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)을 비활성화했습니다 .

내가 놓친 단계를 아는 사람이 있습니까?

답변:


12

OK, 이 게시물 덕분에 누락 된 단계를 발견 했습니다 .

postgresql.conf에서 listen_addresses 설정을 잊어 버렸습니다. 이 값을 사용하고 있지만 더 제한적일 수 있습니다.

listen_addresses = '*'

간단히 설명하면 호스트에서 PostgreSQL에 연결할 때 localhost를 서버로 사용하고 5432를 포트로 사용하십시오. VirtualBox는 해당 포트를 게스트로 전달합니다.

또한 일부 설정에서는 PostgreSQL을 다시로드하는 대신 다시 시작해야한다는 것을 알았습니다. 명령은 다음과 같습니다.

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

1
힌트 웹에서 여러 튜토리얼을 통해가는, 그리고 실행 한 후 systemctl reload postgresql, systemctl restart postgresql마지막으로 나를 위해 그것을 한 것입니다.
Amani Kilumanga
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.