सबसे पहले, यह समझना महत्वपूर्ण है कि अधिकांश यूनिक्स वितरणों के लिए, डिफ़ॉल्ट पोस्टग्रेज उपयोगकर्ता को प्रमाणीकरण के लिए न तो पासवर्ड की आवश्यकता होती है और न ही इसका उपयोग करता है। इसके बजाय, पोस्टग्रेज़ को मूल रूप से कैसे स्थापित किया गया था और आप किस संस्करण का उपयोग कर रहे हैं, इस पर निर्भर करते हुए, डिफ़ॉल्ट प्रमाणीकरण विधि या तो ident
होगी या peer
।
ident
प्रमाणीकरण उपयोगकर्ता के क्रेडेंशियल्स को सत्यापित करने के लिए TCP पोर्ट 113 पर चल रहे ऑपरेटिंग सिस्टम के पहचान सर्वर का उपयोग करता है।
peer
दूसरी ओर प्रमाणीकरण, स्थानीय कनेक्शन के लिए उपयोग किया जाता है और सत्यापित करता है कि ऑपरेटिंग सिस्टम का लॉग इन उपयोगकर्ता नाम पोस्टग्रेज डेटाबेस के लिए उपयोगकर्ता नाम से मेल खाता है।
लॉगिन करें और डिफ़ॉल्ट उपयोगकर्ता के रूप में कनेक्ट करें
अधिकांश प्रणालियों के लिए, डिफ़ॉल्ट पोस्टग्रेज उपयोगकर्ता postgres
. है और प्रमाणीकरण के लिए पासवर्ड की आवश्यकता नहीं है। इस प्रकार, पासवर्ड जोड़ने के लिए, हमें पहले लॉगिन करना होगा और postgres
. के रूप में कनेक्ट करना होगा उपयोगकर्ता।
$ sudo -u postgres psql
यदि आप सफलतापूर्वक कनेक्ट हो गए हैं और psql
. देख रहे हैं प्रॉम्प्ट करें, पासवर्ड बदलने पर जाएं अनुभाग।
यदि आपको यह बताते हुए त्रुटि प्राप्त हुई है कि डेटाबेस "पोस्टग्रेज" मौजूद नहीं है, तो template1
से कनेक्ट करने का प्रयास करें इसके बजाय डेटाबेस और यदि सफल हो, तो पासवर्ड बदलना जारी रखें ।
$ sudo -u postgres psql template1
प्रमाणीकरण त्रुटि
यदि आपको psql
. से कनेक्ट करने का प्रयास करते समय प्रमाणीकरण त्रुटि प्राप्त होती है क्लाइंट, आपको पोस्टग्रेज़ प्रमाणीकरण कॉन्फ़िग फ़ाइल (pg_hfa.conf) को बदलने की आवश्यकता हो सकती है।
कॉन्फिग फ़ाइल खोलें, जो आमतौर पर /etc/postgresql/#.#/main/pg_hba.conf
पर स्थित होती है। , जहां #.#
आप जिस पोस्टग्रेज़ संस्करण का उपयोग कर रहे हैं वह है:
$ sudo nano /etc/postgresql/9.3/main/pg_hba.conf
प्रमाणीकरण कॉन्फ़िगरेशन फ़ाइल प्रमाणीकरण नियमों की एक सूची है। फ़ाइल को तब तक नीचे स्क्रॉल करें जब तक कि आप postgres
. प्रदर्शित करने वाली पहली पंक्ति का पता न लगा लें तीसरे कॉलम में उपयोगकर्ता (यदि ऐसी कोई पंक्ति मौजूद है)। यदि आवश्यक हो तो पंक्ति को हटा दें (अर्धविराम हटा दें), या अन्यथा यदि रेखा पूरी तरह से गायब है, तो फ़ाइल के शीर्ष पर निम्न पंक्ति जोड़ें और अपने परिवर्तन सहेजें:
local all postgres peer
यह प्रमाणीकरण नियम केवल पोस्टग्रेज़ को बताता है कि उपयोगकर्ता के लिए सभी डेटाबेस में स्थापित स्थानीय कनेक्शन के लिए postgres
, peer
. का उपयोग करके प्रमाणित करें प्रोटोकॉल।
नोट:पोस्टग्रेज के कुछ पुराने संस्करण पहचान की डिफ़ॉल्ट प्रमाणीकरण पद्धति को पसंद करते हैं, लेकिन अधिकांश आधुनिक इंस्टॉलेशन इसके बजाय ऊपर बताए अनुसार पीयर का उपयोग करेंगे। यदि आपके परिणाम भिन्न हैं, तो आपको दोनों का परीक्षण करने की आवश्यकता हो सकती है।
अब आपकी कॉन्फ़िगरेशन फ़ाइल अपडेट होने के साथ, लॉगिन और डिफ़ॉल्ट उपयोगकर्ता के रूप में कनेक्ट करें में चरणों को दोहराएं डिफ़ॉल्ट postgres
. के रूप में कनेक्ट करने का प्रयास करने के लिए अनुभाग उपयोगकर्ता। एक बार सफल होने पर, पासवर्ड बदलने के लिए आगे बढ़ें।
पासवर्ड बदलना
psql
. पर अब Postgres के लिए स्थापित कनेक्शन के साथ शीघ्र, ALTER USER
जारी करें postgres
. के लिए पासवर्ड बदलने का आदेश उपयोगकर्ता:
postgres=# ALTER USER postgres PASSWORD 'myPassword';
ALTER ROLE
सफल होने पर, Postgres ALTER ROLE
. की पुष्टि को आउटपुट करेगा जैसा कि ऊपर देखा गया है।
अंत में, psql
से बाहर निकलें क्लाइंट \q
. का उपयोग करके आदेश।
postgres=# \q
आप सब कर चुके हैं। डिफ़ॉल्ट postgres
उपयोगकर्ता के पास अब आपके अन्य एप्लिकेशन में उपयोग के लिए खाते से संबद्ध पासवर्ड है।