आपके द्वारा उद्धृत त्रुटि का pg_hba.conf
. से कोई लेना-देना नहीं है; यह कनेक्ट करने में विफल हो रहा है, कनेक्शन को अधिकृत करने में विफल नहीं हो रहा है।
वही करें जो त्रुटि संदेश कहता है:
<ब्लॉकक्वॉट>जांचें कि होस्टनाम और पोर्ट सही हैं और पोस्टमास्टर टीसीपी/आईपी कनेक्शन स्वीकार कर रहा है
आपने वह आदेश नहीं दिखाया है जो त्रुटि उत्पन्न करता है। मान लें कि आप localhost
पर कनेक्ट हो रहे हैं पोर्ट 5432
(मानक PostgreSQL इंस्टाल के लिए डिफ़ॉल्ट), फिर या तो:
-
PostgreSQL नहीं चल रहा है
-
PostgreSQL TCP/IP कनेक्शन के लिए नहीं सुन रहा है (
listen_addresses
मेंpostgresql.conf
) -
PostgreSQL केवल IPv4 पर सुन रहा है (
0.0.0.0
या127.0.0.1
) और आप IPv6 पर कनेक्ट हो रहे हैं (::1
) या ठीक इसके विपरीत। यह कुछ पुराने मैक ओएस एक्स संस्करणों पर एक समस्या प्रतीत होती है जिनमें अजीब आईपीवी 6 सॉकेट व्यवहार होता है, और कुछ पुराने विंडोज संस्करणों पर। -
PostgreSQL एक अलग पोर्ट पर सुन रहा है जिस पर आप कनेक्ट कर रहे हैं
-
(संभावना नहीं) एक
iptables
है लूपबैक कनेक्शन को ब्लॉक करने का नियम
(यदि आप नहीं हैं localhost
पर कनेक्ट हो रहा है , यह एक नेटवर्क फ़ायरवॉल भी हो सकता है जो टीसीपी/आईपी कनेक्शन को अवरुद्ध कर रहा है, लेकिन मुझे लगता है कि आप डिफ़ॉल्ट का उपयोग कर रहे हैं क्योंकि आपने नहीं कहा था)।
तो ... उन्हें जांचें:
-
ps -f -u postgres
postgres
list को सूचीबद्ध करना चाहिए प्रक्रियाएं -
sudo lsof -n -u postgres |grep LISTEN
याsudo netstat -ltnp | grep postgres
TCP/IP पते और पोर्ट्स को दिखाना चाहिए जिस पर PostgreSQL सुन रहा है
बीटीडब्ल्यू, मुझे लगता है कि आपको पुराने संस्करण पर होना चाहिए। मेरे 9.3 इंस्टॉल पर, त्रुटि अधिक विस्तृत है:
$ psql -h localhost -p 12345
psql: could not connect to server: Connection refused
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 12345?