मैंने उबंटू के 9.10 पर अभी तक पोस्टग्रैज 8.4 स्थापित किए हैं और इसने मुझे कभी सुपरसुअर बनाने के लिए नहीं कहा। क्या कोई डिफ़ॉल्ट सुपरयुसर और उसका पासवर्ड है? यदि नहीं, तो मैं नया कैसे बनाऊँ?
मैंने उबंटू के 9.10 पर अभी तक पोस्टग्रैज 8.4 स्थापित किए हैं और इसने मुझे कभी सुपरसुअर बनाने के लिए नहीं कहा। क्या कोई डिफ़ॉल्ट सुपरयुसर और उसका पासवर्ड है? यदि नहीं, तो मैं नया कैसे बनाऊँ?
जवाबों:
चेतावनी "$ sudo पासवार्ड पोस्टग्रेज" के माध्यम से "पोस्टग्रेज" के लिए UNIX पासवर्ड बदलने के बारे में जवाब पसंद नहीं है, और यहां तक कि DANGEROUS भी हो सकता है !
यही कारण है: डिफ़ॉल्ट रूप से, UNIX खाता "पोस्टग्रेज" लॉक है, जिसका अर्थ है कि यह पासवर्ड का उपयोग करके लॉग इन नहीं किया जा सकता है। यदि आप "sudo passwd postgres" का उपयोग करते हैं, तो खाता तुरंत अनलॉक कर दिया जाता है। इससे भी बदतर, यदि आप पासवर्ड को कुछ कमजोर करते हैं, जैसे "पोस्टग्रैज", तो आप एक बड़े सुरक्षा खतरे के संपर्क में हैं। उदाहरण के लिए, आपके UNIX सिस्टम में लॉग इन करने के लिए उपयोगकर्ता नाम / पासवर्ड कॉम्बो "पोस्टग्रेज / पोस्टग्रेज" की कोशिश करने वाले कई बॉट हैं।
आपको क्रिस जेम्स के जवाब का पालन करना चाहिए :
sudo -u postgres psql postgres
# \password postgres
Enter new password:
इसे थोड़ा समझाने के लिए। आमतौर पर PostgreSQL सर्वर पर लॉगिन करने के दो डिफ़ॉल्ट तरीके हैं:
"Psql" कमांड को UNIX उपयोगकर्ता (तथाकथित IDENT / PEER प्रमाणीकरण) के रूप में चलाकर, उदा sudo -u postgres psql
:। ध्यान दें कि sudo -u
UNIX उपयोगकर्ता को अनलॉक नहीं करता है।
टीसीपी / आईपी PostgreSQL के स्वयं प्रबंधित उपयोगकर्ता नाम / पासवर्ड (तथाकथित टीसीपी प्रमाणीकरण) का उपयोग कर कनेक्शन (यानी, द्वारा नहीं यूनिक्स पासवर्ड)।
तो आप UNIX खाते "पोस्टग्रेज" के लिए पासवर्ड सेट नहीं करना चाहते। इसे डिफ़ॉल्ट रूप से लॉक रहने दें।
यदि आप इसे डिफ़ॉल्ट सेटिंग से अलग तरीके से कॉन्फ़िगर करते हैं तो बेशक चीजें बदल सकती हैं। उदाहरण के लिए, कोई UNg पासवर्ड के साथ PostgreSQL पासवर्ड को सिंक कर सकता है और केवल स्थानीय लॉगिन की अनुमति दे सकता है। यह इस प्रश्न के दायरे से परे होगा।
/etc/shadow
वह जगह है जहाँ पासवर्ड @lzap रखा गया है।
कमांड लाइन पर दर्ज करें:
$ sudo -u postgres psql postgres
postgres=# \password postgres
तुम देखोगे:
Enter new password:
Enter it again:
आप उपयोगकर्ता के माध्यम से पोस्टग्रेज को हेरफेर करते हैं postgres
, जैसे:
# su - postgres
$ createdb mydb
$ psql -s mydb
# create user someuser password 'somepassword';
# GRANT ALL PRIVILEGES ON DATABASE mydb TO someuser;
su
पासवर्ड दर्ज किए बिना उपयोगकर्ता को पोस्टग्रेज करने के लिए रूट होना चाहिए । अधिकांश प्रणालियों पर पोस्टग्रैज यूनिक्स खाता बंद है (कोई पासवर्ड काम नहीं करेगा), जिसका अर्थ है कि उस खाते में केवल रूट हो सकता su
है।
sudo
बजाय का उपयोग करें su
।
sudo su - postgres
: \
sudo -u postgres
।
Windows में, निम्न कार्य करें (महत्वपूर्ण: Windows व्यवस्थापक खाते का उपयोग करें ):
स्थापना के बाद, खोलें <PostgreSQL PATH>\data\pg_hba.conf
।
इन दो पंक्तियों को संशोधित करें, और "md5" को "विश्वास" में बदलें:
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
PostgreSQL सेवा को पुनरारंभ करें (आवश्यक नहीं हो सकता है)।
(वैकल्पिक) कमांड प्रॉम्प्ट खोलें, और कोड पेज को 1252 में बदलें:
cmd.exe /c chcp 1252
PostgreSQL में लॉग इन करें। गैर पासवर्ड की आवश्यकता होगी (अपरकेस -यू पैरामीटर पर ध्यान दें):
psql -U postgres
(सुरक्षा कारणों से अनुशंसित वैकल्पिक), postgres
उपयोगकर्ता का पासवर्ड बदलें :
\password postgres
और "md5" में "ट्रस्ट" को वापस बदलें pg_hba.conf
।
यदि आप PostgreSQL शेल का उपयोग करने का प्रयास कर रहे हैं, तो आप टाइप कर सकते हैं:
psql -U postgres my_database
my_database
आपका डेटाबेस नाम कहाँ है