आप createuser
के साथ इसे ठीक करने का प्रयास कर रहे गलत पेड़ को भड़क रहे हैं। यदि आप man
पेज createuser
के लिए पेज की जांच करना चाहते हैं तो यह आपको बताएगा कि अगर आपको वास्तव में पासवर्ड चाहिए और सेट-नो-पासवर्ड सेट करना है तो लॉगिन विफल हो जाएगा। createuser
वास्तव में सिर्फ एक उपयोगकर्ता बनाता है। यह तय करता है कि उपयोगकर्ता को प्रमाणीकरण कैसे करना होगा।
प्रमाणीकरण मुख्य रूप से pg_hba.conf
में संभाला जाता है, जो यह तय करता है कि लॉगिन पर पासवर्ड की आवश्यकता है या नहीं। मैं ओएस एक्स लिनक्स पर पर PostgreSQL चलाने कभी नहीं किया है, मेरे distro के शेयर conf इस तरह दिखता है:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all ident
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust
मुझे यकीन है कि आप विकास के लिए उपयोग करने के लिए पहली पंक्ति की तरह कुछ है होगा। नोट: यदि कोई --host
विकल्प सेट नहीं है तो यूनिक्स सॉकेट से कनेक्ट करने का प्रयास करेगा। दूसरी लाइन का उपयोग किया जाएगा यदि आप psql --host localhost
स्रोत
2011-03-24 18:51:19
मैक ओएस एक्स या लिनक्स बॉक्स पर pg_hba.conf फ़ाइल का स्थान कहां है? – othman
उबंटू के लिए, आप इसे '/ etc/postgresql/9.0/main/pg_hba.conf' (PostgreSQL 9.0 के लिए) पर पा सकते हैं। – jmonteiro
ओएस एक्स 10.6.8 के लिए, आप इसे '/ लाइब्रेरी/पोस्टग्रेएसक्यूएल/8.3/डेटा/pg_hba.conf' पर पा सकते हैं। ध्यान दें कि यह 'पोस्टग्रेस' उपयोगकर्ता के स्वामित्व में है, इसलिए आपको इसे संपादित करने के लिए 'su postgres'' की आवश्यकता होगी। – Chris