समस्या अभी भी आपकी है pg_hba.conf
फ़ाइल*.
यह पंक्ति:
local all postgres peer
होना चाहिए:
local all postgres md5
<ब्लॉककोट>
* इस फ़ाइल का स्थान बहुत सुसंगत नहीं है। कमांड locate pg_hba.conf
मदद करनी चाहिए; यहां कुछ उदाहरण दिए गए हैं:/etc/postgresql/*/main/pg_hba.conf
और /var/lib/pgsql/data/pg_hba.conf
।
इस फ़ाइल को बदलने के बाद, अपने PostgreSQL सर्वर को पुनरारंभ करना न भूलें। यदि आप लिनक्स पर हैं, तो वह होगा sudo service postgresql restart
।
प्रमाणीकरण विधियों पर आधिकारिक PostgreSQL डॉक्स के अनुसार ये दोनों विकल्पों का संक्षिप्त विवरण है।
साथी प्रमाणीकरण
<ब्लॉककोट>सहकर्मी प्रमाणीकरण विधि क्लाइंट के ऑपरेटिंग सिस्टम उपयोगकर्ता नाम को कर्नेल से प्राप्त करके और इसे अनुमत डेटाबेस उपयोगकर्ता नाम (वैकल्पिक उपयोगकर्ता नाम मैपिंग के साथ) के रूप में उपयोग करके काम करती है। यह विधि केवल स्थानीय कनेक्शन पर समर्थित है।
पासवर्ड प्रमाणीकरण
<ब्लॉककोट>पासवर्ड-आधारित प्रमाणीकरण विधियाँ md5 और पासवर्ड हैं। ये तरीके उसी तरह से काम करते हैं, जिस तरह से पासवर्ड को पूरे कनेक्शन में भेजा जाता है, अर्थात् क्रमशः MD5-हैशेड और क्लियर-टेक्स्ट।
यदि आप पासवर्ड "सूँघने" के हमलों के बारे में चिंतित हैं तो md5 को प्राथमिकता दी जाती है। यदि संभव हो तो सादे पासवर्ड से हमेशा बचना चाहिए। हालाँकि, md5 का उपयोग db_user_namespace सुविधा के साथ नहीं किया जा सकता है। यदि कनेक्शन एसएसएल एन्क्रिप्शन द्वारा सुरक्षित है तो पासवर्ड का सुरक्षित रूप से उपयोग किया जा सकता है (हालांकि एसएसएल प्रमाणपत्र प्रमाणीकरण एक बेहतर विकल्प हो सकता है यदि कोई एसएसएल का उपयोग करने पर निर्भर करता है)।
pg_hba.conf
. के लिए नमूना स्थान :/etc/postgresql/9.1/main/pg_hba.conf