ไม่สามารถเชื่อมต่อกับ PostgreSQL บนแขก VirtualBox


11

เมื่อฉันพยายามเชื่อมต่อจากไคลเอนต์ 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)

มีใครรู้บ้างว่าฉันพลาดขั้นตอนใดไปบ้าง

คำตอบ:


12

ตกลงฉันพบขั้นตอนที่ไม่ได้รับขอบคุณโพสต์นี้

ฉันลืมตั้งการตั้งค่า Listen_addresses ใน postgresql.conf ฉันใช้ค่านี้ แต่อาจมีข้อ จำกัด มากกว่านี้:

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.