ฉันติดตั้ง Windows 10 Pro x64 เรียบร้อยแล้วและฉันพยายามเรียกใช้เซิร์ฟเวอร์ PostgreSQL มันใช้งานได้อย่างสมบูรณ์บน Windows 7 แต่ Windows 10 ทำงานผิดปกติจริงๆ: ถ้าฉันกำหนดค่า PostgreSQL ให้ฟัง127.0.0.1
แล้วฉันไม่สามารถเชื่อมต่อกับมันได้โดยใช้ psql:
psql: could not connect to server: Permission denied (0x0000271D/10013)
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
แต่ถ้าฉันเปลี่ยนเป็นฟังบน 192.168.0.108 (IP ของอินทราเน็ตของฉัน) ทุกอย่างก็ใช้ได้
>psql.exe --host=192.168.0.108 --username=test test
psql (9.4.0)
พฤติกรรมเดียวกัน (หมายถึง PostgreSQL ทำงานได้ดี) คือถ้าฉันบอกให้ฟังlocalhost
เป็นชื่อแทนที่จะเป็น IP ถึงแม้ว่าในทั้งสองกรณี ( localhost
หรือทั้งสอง127.0.0.1
) มันฟังบน IP และพอร์ตเดียวกันทั้งหมด:
>netstat -abno | grep 5432 -A 1
TCP 127.0.0.1:5432 0.0.0.0:0 LISTENING 3480
[postgres.exe]
--
TCP [::1]:5432 [::]:0 LISTENING 3480
[postgres.exe]
C:\Windows\System32\drivers\etc\hosts
ไม่มีอะไรในของฉัน และฉันไม่คิดว่าปัญหานี้มีเฉพาะกับ PostgreSQL ฉันใช้มันเป็นตัวอย่างเท่านั้น ฉันมีบริการอื่น ๆ ที่ทำงานในเครื่องซึ่งมีปัญหาเดียวกัน - ไม่สามารถเชื่อมต่อกับซ็อกเก็ตในเครื่องได้เนื่องจากข้อผิดพลาดด้านการอนุญาต
localhost
แต่ไม่ทั้งหมดของพวกเขาจะผูกพันกับชื่อ Bonjour / Avahi และบริการศูนย์ conf อื่น ๆ สามารถ map อยู่ย้อนกลับอื่น ๆmybox.local
ที่ชื่อเหมือน นอกจากนี้ยังเป็นไปได้ว่า IPv6 กำลังก่อกวนน่านน้ำดังนั้นควรพิจารณาปิดการใช้งานหากไม่จำเป็น