(ध्यान दें: इसमें से बहुत कुछ PostgreSQL 9.2 या उससे अधिक EDB इंस्टालर से उपयोग करने वाले पाठकों के लिए प्रासंगिक नहीं है, जो अब उपयोग करते हुए एक बहुत ही सरल डिफ़ॉल्ट इंस्टॉल है NETWORK SERVICE
, हालांकि आप अभी भी अन्य खातों को कॉन्फ़िगर कर सकते हैं) ।
मैंने net user postgres postgres
अपने डेटाबेस के लिए पासवर्ड रीसेट करने के लिए उपयोग किया है, लेकिन एक सफल संदेश के बजाय मुझे मिल रहा है"System error 5 has occurred. Access is denied."
आपने सेवा खाता पासवर्ड रीसेट (या रीसेट करने का प्रयास) किया है। PostgreSQL सुरक्षा कारणों से प्रशासक के रूप में नहीं चलेगा और इंस्टॉलर आमतौर पर PostgreSQL 9.1 और पुराने 1 में "पोस्टग्रेज" उपयोगकर्ता खाते के साथ इसे सेट करता है । विंडोज पर आप रजिस्ट्री में उपयोगकर्ता के पासवर्ड को बचाने के बिना एक उपयोगकर्ता के रूप में एक सेवा शुरू नहीं कर सकते हैं, इसलिए यही इंस्टॉलर करता है।
यदि आप Windows उपयोगकर्ता खाते के लिए पासवर्ड बदलते हैं postgres
, तो PostgreSQL सेवा अब शुरू नहीं हो सकती है। तो ऐसा न करें, आपको अपडेट किए गए पासवर्ड को संग्रहीत करने के लिए सेवा कॉन्फ़िगरेशन को ठीक करना होगा।
शुक्र है कि मुझे लगता है कि एक और गलती ने आपको ऐसा करने से रोक दिया। ऐसा लगता है कि आप बिना अनधिकृत विंडोज उपयोगकर्ता खाते या UAC के साथ मशीन पर "Run as Administrator" का उपयोग किए बिना अपना कमांड प्रॉम्प्ट चला रहे हैं, इसलिए यह postgres
उपयोगकर्ता के लिए पासवर्ड बदलने के लिए आवश्यक एक्सेस अनुमतियों के साथ नहीं चल रहा है ।
इससे पहले कि आप उस पासवर्ड को बदलने की कोशिश करें, सुनिश्चित करें कि यह वास्तव में आप क्या करना चाहते हैं। आप यहां क्या समस्या हल करने का प्रयास कर रहे हैं? क्या आप एक डेटाबेस अपडेट या कुछ और स्थापित करने का प्रयास कर रहे हैं जो postgres
विंडोज उपयोगकर्ता के लिए पासवर्ड मांग रहा है ?
सबसे अधिक संभावना है कि आप डेटाबेस में लॉग इन करने का प्रयास कर रहे हैं। उसके लिए, आप डेटाबेस में संग्रहीत स्व (दुर्भाग्य से पूरी तरह से असंबंधित) पासवर्ड का उपयोग करते हैं। चूँकि आप इसे खो चुके / भूल चुके हैं, इसलिए आपको इसे रीसेट करना होगा:
- अपने
pg_hba.conf
, आमतौर पर में खोजेंC:\Program Files\PostgreSQL\9.1\data\pg_hba.conf
- यदि आवश्यक हो, तो उस पर अनुमतियाँ सेट करें ताकि आप इसे संशोधित कर सकें; आपका उपयोगकर्ता खाता तब तक ऐसा करने में सक्षम नहीं हो सकता है जब तक कि आप अपने आप को एक व्यवस्थापक ओवरराइड का उपयोग करके सही देने के लिए गुण संवाद में सुरक्षा टैब का उपयोग नहीं करते हैं। वैकल्पिक रूप से, अपने प्रारंभ मेनू में नोटपैड / नोटपैड ++ ढूंढें, राइट क्लिक करें, "रन एज एडमिनिस्ट्रेटर" चुनें, फिर
pg_hba.conf
उस तरह से खोलने के लिए फ़ाइल-> ओपन का उपयोग करें ।
होस्ट "127.0.0.1/32" पर "ट्रस्ट" के लिए उपयोगकर्ता "पोस्टग्रेज" के लिए "होस्ट" लाइन सेट करने के लिए इसे संपादित करें। यदि यह नहीं है तो आप लाइन जोड़ सकते हैं; बस डालें:
host all postgres 127.0.0.1/32 trust
host all postgres ::1/128 trust # if IPv6 is in use
किसी भी अन्य लाइनों से पहले । (आप टिप्पणियों, लाइनों के साथ शुरुआत को अनदेखा कर सकते हैं #
)।
सेवा नियंत्रण कक्ष से PostgreSQL सेवा को पुनरारंभ करें (प्रारंभ-> रन-> services.msc
)
- psql या PgAdmin-III या जो भी आप चाहें का उपयोग करके कनेक्ट करें
ALTER USER postgres PASSWORD 'postgres'
- आपके द्वारा जोड़ी गई लाइन को हटा दें
pg_hba.conf
या इसे वापस बदल दें
- PostgreSQL फिर से शुरू करें।
देखें: मैं विंडोज पर PostgreSQL के लिए पोस्टग्रेज पासवर्ड कैसे रीसेट करूं?
1. 9.2 अब NETWORKSERVICE
खाते का उपयोग करता है , जिसके लिए पासवर्ड की आवश्यकता नहीं होती है, इसलिए यह समस्या दूर हो जाती है ।