अपने डेटाबेस को बनाने के लिए ऑपरेटिंग सिस्टम उपयोगकर्ता 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/… चेक करें ।