अपने डेटाबेस को बनाने के लिए ऑपरेटिंग सिस्टम उपयोगकर्ता postgres का उपयोग करें - जब तक आप आवश्यक विशेषाधिकार के साथ एक डेटाबेस भूमिका सेट नहीं करते हैं जो आपके ऑपरेटिंग सिस्टम के उपयोगकर्ता नाम ( h9uestआपके मामले में) से मेल खाती है :
sudo -u postgres -i
जैसा कि यहाँ या यहाँ सुझाया गया है ।
फिर पुनः प्रयास करें। exitसिस्टम उपयोगकर्ता के रूप में ऑपरेटिंग के साथ किए जाने पर टाइप करें postgres।
या फिर एक आदेश पर अमल createuserके रूप में postgresके साथ sudo, जैसे drees द्वारा प्रदर्शन एक और उत्तर में।
बिंदु ऑपरेटिंग सिस्टम उपयोगकर्ता का उपयोग करना है जो identप्रमाणीकरण के माध्यम से पहुंच प्रदान करने के लिए उसी नाम की डेटाबेस भूमिका से मेल खाता है । postgresडेटाबेस क्लस्टर आरंभ करने के लिए डिफ़ॉल्ट ऑपरेटिंग सिस्टम उपयोगकर्ता है। नियम पुस्तिका:
डेटाबेस सिस्टम को बूटस्ट्रैप करने के लिए, एक नए सिरे से आरंभिक प्रणाली में हमेशा एक पूर्वनिर्धारित भूमिका होती है। यह भूमिका हमेशा एक "सुपरसुसर" होती है, और डिफ़ॉल्ट रूप से (जब तक कि initdbइसे चलाते समय बदल नहीं जाती ) इसमें ऑपरेटिंग सिस्टम उपयोगकर्ता के समान नाम होगा जो डेटाबेस क्लस्टर को इनिशियलाइज़ करता है। पूरी तरह से, इस भूमिका को नाम दिया जाएगा postgres। अधिक भूमिकाएँ बनाने के लिए आपको पहले इस प्रारंभिक भूमिका के रूप में जुड़ना होगा।
मैंने गैर-मानक उपयोगकर्ता नामों के साथ विषम सेटअप के बारे में सुना है या जहां ऑपरेटिंग सिस्टम उपयोगकर्ता मौजूद नहीं है। आपको अपनी रणनीति को वहां अनुकूलित करना होगा।
मैनुअल में डेटाबेस भूमिकाओं और क्लाइंट प्रमाणीकरण के बारे में पढ़ें ।
FATAL: role "user" is not permitted to log in, इसके लिए dba.stackexchange.com/questions/57723/… चेक करें ।