PgAdmin III - पासवर्ड खाली होने पर डेटाबेस से कैसे जुड़ें?


21

मैंने अपने पीसी (विन 7) पर PostgreSQL 9.1 स्थापित किया है। मेरे पास एक छोटा जावा एप्लिकेशन है जो इसके साथ सफलतापूर्वक जुड़ता है login=saऔर password=""। कनेक्शन काम करता है।

हालांकि, यह PgAdmin III से ही मना कर दिया गया है। मुझे मिला:

Error connecting to the server: fe_sendauth: no password supplied

मैं एक खाली पासवर्ड के साथ PgAdmin III से अपने डेटाबेस से कैसे जुड़ूं?

संपादित करें

यह सिर्फ एक परीक्षा है, उत्पादन कोड नहीं।


मुझे यकीन नहीं है, लेकिन यह कल्पना करना आसान है कि PgAdmin उस का समर्थन नहीं करता है।
पीटर आइसेनट्राट

pgAdmin के समान क्लाइंट पर आपका जावा ऐप है?
जैक डगलस

जवाबों:


10

मैं किसी भी उपयोगकर्ता के लिए पासवर्ड जैसे पासवर्ड के बिना pgAdmin III से अपने पोस्टग्रेज उदाहरण से कनेक्ट कर सकता हूं postgres

क्योंकि आप किसी अन्य क्लाइंट से ठीक कनेक्ट कर रहे हैं, कोई कारण नहीं है कि आप pgAdmin से कनेक्ट करने में सक्षम नहीं होना चाहिए, यदि वे एक ही कार्य केंद्र पर हैं - जब तक कि क्लाइंट पर कुछ फ़ायरवॉल नियम स्वयं एक प्रोग्राम की अनुमति दे रहा है, लेकिन दूसरा नहीं।

यदि समस्या इस ग्राहक के लिए विशिष्ट है, तो आपको एक या अधिक परिवर्तन करने की आवश्यकता हो सकती है:

  • pg_hba.conf
मेजबान sa सभी 192.168.0.nn / 32 विश्वास
  • postgresql.conf
सुन_दादरी = '*'
  • आपके पोस्टग्रेज सर्वर पर फ़ायरवॉल, जैसे कि iptables:
-एक INPUT -s 192.168.0.nn -m राज्य --state NEW -j ACCEPT

लेकिन मेरा सुझाव है कि आप इसमें से कुछ भी न करें। मैनुअल अच्छे कारण के साथ निम्नलिखित कहता है:

विश्वास प्रमाणीकरण केवल टीसीपी / आईपी कनेक्शन के लिए उपयुक्त है यदि आप प्रत्येक मशीन पर प्रत्येक उपयोगकर्ता पर भरोसा करते हैं जो कि सर्वर से कनेक्ट करने की अनुमति है pg_hba.conf लाइनें जो विश्वास को निर्दिष्ट करती हैं। लोकलहोस्ट (127.0.0.1) के अलावा किसी भी टीसीपी / आईपी कनेक्शन के लिए ट्रस्ट का उपयोग करना उचित नहीं है।

इसके बजाय, या तो विचार करें:

  • एक पासवर्ड और md5 पहचान का उपयोग करना
  • सुरंगिंग पोर्ट 5432 ओवर एसएचएस

31

मुझे यह जवाब कहीं और मिला।

यदि आपका DB स्थानीय होस्ट पर है, तो "लोकलहोस्ट" या "127.0.0.1“ "का उपयोग करने के विपरीत कनेक्शन में होस्ट फ़ील्ड को खाली छोड़ने का प्रयास करें। यह PgAdmin को TCP के बजाय स्थानीय यूनिक्स सॉकेट के माध्यम से कनेक्ट करने के लिए कहता है।


आइए जोड़ते हैं कि मूल प्रश्न विंडोज सिस्टम के बारे में था।
डेज़ो

3
आह यह बिल्कुल यही था। मेजबान खाली छोड़ काम किया।
बुनियादी दिन

आप इस फ़ील्ड को खाली नहीं छोड़ सकते, इसकी आवश्यकता है।
अथलान

ऐसा लगता है कि होस्ट फ़ील्ड को खाली करने पर ही काम होता है, यदि आपके पास अपने सिस्टम यूजरनेम (लिनक्स पर) के रूप में नामित भूमिका में है। अन्यथा मुझे लगता है कि उपयोगकर्ता मानचित्रों की आवश्यकता है।
1

उत्तम! Postgresql और pgadmin की एक ताज़ा स्थापना के साथ, इस पंक्ति के बजाय pg_hba.confकहने के लिए बदल रहा है - और pgadmin में होस्ट और पासवर्ड फ़ील्ड को खाली छोड़ने से सब कुछ काम हो जाता है! काश pgadmin UI को खोजने के लिए इस हार्ड के बजाय सॉकेट पर स्विच करने के लिए एक चेकबॉक्स जोड़ देता। trustpeerlocal all postgres trust
अनुपम जैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.