ऑपरेटिंग सिस्टम उपयोगकर्ता का उपयोग करें postgres
अपना डेटाबेस बनाने के लिए - जब तक आपने डेटाबेस . सेट नहीं किया है आवश्यक विशेषाधिकारों के साथ भूमिका जो समान नाम के आपके ऑपरेटिंग सिस्टम उपयोगकर्ता से मेल खाती है (h9uest
आपके मामले में):
sudo -u postgres -i
जैसा कि यहाँ या यहाँ सुझाया गया है।
फिर पुनः प्रयास करें। टाइप करें exit
जब सिस्टम उपयोगकर्ता के रूप में संचालन के साथ किया जाता है postgres
।
या एकल आदेश निष्पादित करें createuser
postgres
. के रूप में sudo
. के साथ , जैसा कि एक अन्य उत्तर में ड्रीस द्वारा प्रदर्शित किया गया है।
बिंदु उसी नाम की डेटाबेस भूमिका से मेल खाने वाले ऑपरेटिंग सिस्टम उपयोगकर्ता का उपयोग करने के लिए ident
के माध्यम से पहुंच प्रदान करने के लिए है प्रमाणीकरण . postgres
डेटाबेस क्लस्टर को इनिशियलाइज़ करने वाला डिफ़ॉल्ट ऑपरेटिंग सिस्टम उपयोगकर्ता है। मैनुअल:
डेटाबेस सिस्टम को बूटस्ट्रैप करने के लिए, एक नए सिरे से आरंभ किए गए सिस्टम में हमेशा एक पूर्वनिर्धारित भूमिका होती है। यह भूमिका हमेशा एक "सुपरयूज़र" होती है, और डिफ़ॉल्ट रूप से (जब तक कि initdb
running चलाते समय इसमें कोई बदलाव नहीं किया जाता है) ) इसका वही नाम होगा जो उस ऑपरेटिंग सिस्टम उपयोगकर्ता का होगा जिसने डेटाबेस क्लस्टर को इनिशियलाइज़ किया था। कस्टम रूप से, इस भूमिका का नाम postgres
होगा .अधिक भूमिकाएँ बनाने के लिए आपको सबसे पहले इस प्रारंभिक भूमिका के रूप में जुड़ना होगा।
मैंने गैर-मानक उपयोगकर्ता नामों के साथ अजीब सेटअप के बारे में सुना है या जहां ऑपरेटिंग सिस्टम उपयोगकर्ता मौजूद नहीं है। आपको वहां अपनी रणनीति को अनुकूलित करने की आवश्यकता होगी।
मैनुअल में डेटाबेस भूमिकाओं और क्लाइंट प्रमाणीकरण के बारे में पढ़ें।