कहो कि आप यह संदेश देख रहे हैं:
FATAL: Ident authentication failed for user "..."
इस त्रुटि संदेश के कारण क्या हैं?
कहो कि आप यह संदेश देख रहे हैं:
FATAL: Ident authentication failed for user "..."
इस त्रुटि संदेश के कारण क्या हैं?
जवाबों:
इसका मतलब है कि Postgres पहचान प्रोटोकॉल का उपयोग करके उपयोगकर्ता को प्रमाणित करने की कोशिश कर रहा है, और नहीं कर सकता। पहचान कार्य इस तरह से करते हैं:
pg_hba.conf
फ़ाइल (इन /etc/postgres-something/main
) db
कुछ होस्ट से कनेक्ट करने वाले उपयोगकर्ताओं के लिए डेटाबेस से कनेक्ट करने के लिए प्रोटोकॉल के रूप में 'पहचान' को परिभाषित करती हैसंभावित कारण और समाधान:
sudo apt-get install oidentd
) स्थापित करें।CREATE ROLE foo
। वैकल्पिक रूप से एक प्रविष्टि जोड़ें /etc/postgresql/.../main/pg_ident.conf
।हो सकता है कि आप वास्तव में एक पासवर्ड से जुड़ना चाहते हों , न कि पहचान। pg_hba.conf
फ़ाइल को उचित रूप से संपादित करें । उदाहरण के लिए, परिवर्तन:
host all all 127.0.0.1/32 ident
सेवा मेरे
host all all 127.0.0.1/32 md5
कारणों के बारे में निश्चित नहीं है, लेकिन यह मेरे लिए तय है:
में pg_hba.conf
इसे बदलें:
सभी को 127.0.0.1/32 md5 होस्ट करें
सटीक त्रुटि: Caused by: org.postgresql.util.PSQLException: FATAL: Ident authentication failed for user "postgres"
CentOS पर, निम्न पंक्ति जोड़ें /var/lib/pgsql/9.3/data/pg_hba.conf
:
host all all 127.0.0.1/32 trust
और अन्य प्रविष्टियों पर टिप्पणी करें।
बेशक, यह सेटिंग सुरक्षित नहीं है , लेकिन अगर आप सिर्फ मेरे जैसे विकास वीएम के बारे में गड़बड़ कर रहे हैं तो यह शायद ठीक है ...
यदि आपने पहले से यह कोशिश नहीं की है, तो अपनी pg_hba.conf फ़ाइल की समीक्षा करें। इसे कुछ नाम दिया जाएगा जैसे /var/lib/pgsql/9.3/data/pg_hba.conf (फेडोरा 20); इसका पता लगाने के लिए आपको 'फाइंड / -नाम pg_hba.conf' का उपयोग करना पड़ सकता है।
फ़ाइल के निचले भाग में, स्थानीय परीक्षण के लिए 'METHOD' के मानों को 'विश्वास' में बदलें (देखें कि किसी अन्य के लिए डॉक्स पोस्ट करता है)। यह सुनिश्चित करने के लिए मशीन को रिबूट करें कि सब कुछ साफ शुरू हो गया है और नए पैरामेट्स पढ़े गए हैं।
उम्मीद है कि यह आपके संकटों को ठीक करेगा। इसने मेरी समस्याओं को Fedg 20 पर PostgreSQL 9.3 के साथ हल किया।
pg_ctl reload
कंसोल से उपयोग करने का प्रयास करें , या SELECT pg_reload_conf();
SQL को एक विशेषाधिकार प्राप्त उपयोगकर्ता के रूप में निष्पादित करते समय।
/var/lib/psql/data