Không thể kết nối với PostgreSQL trên VirtualBox khách


11

Khi tôi cố gắng kết nối từ máy khách PostgreQuery trên hệ thống máy chủ đến máy chủ PostgreQuery trên hệ thống máy khách VirtualBox, tôi nhận được thông báo "lỗi kết nối không thành công".

Hệ thống máy chủ là Windows XP. Tôi đang chạy VirtualBox 3.1.2. Hệ thống khách là Ubuntu 9.10 Karmic Koala với PostgreSQL 8.4.

Tôi đã chuyển tiếp cổng 5432 trong VirtualBox như được mô tả trong hướng dẫn và bài đăng này . Khi tôi chạy vboxmanage getextradata vmname enumerate, tôi nhận được các mục này (trong số những mục khác):

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

Tôi đã định cấu hình bảo mật PostgreSQL trong /etc/postgresql/8.4/main/pg_hba.conf với các mục sau:

# 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

Sau đó, tôi đã tải lại PostgreSQL với sudo /etc/init.d/postgresql-8.4 reload.

Chỉ nhằm mục đích chẩn đoán , tôi đã vô hiệu hóa tường lửa Windows và tường lửa Ubuntu ( sudo ufw disable) của mình.

Bất cứ ai cũng biết những bước tôi đã bỏ lỡ?

Câu trả lời:


12

OK, tôi tìm thấy bước bị bỏ lỡ nhờ bài đăng này .

Tôi đã quên đặt cài đặt list_addresses trong postgresql.conf. Tôi đang sử dụng giá trị này, nhưng nó có thể bị hạn chế hơn:

listen_addresses = '*'

Chỉ cần làm rõ, khi bạn kết nối với PostgreSQL từ máy chủ, hãy sử dụng localhost làm máy chủ và 5432 làm cổng. VirtualBox sẽ chuyển tiếp cổng đó cho khách.

Tôi cũng nhận ra rằng một số cài đặt yêu cầu bạn khởi động lại PostgreSQL thay vì chỉ tải lại nó. Lệnh là:

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

1
Sau khi trải qua nhiều hướng dẫn trên web để tìm gợi ý, VÀ chạy systemctl reload postgresql, systemctl restart postgresqllà điều cuối cùng đã làm cho tôi.
Amani Kilumanga
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.