Pegr प्रमाणीकरण सभी उपयोगकर्ताओं के लिए विफल रहा है Postgres 9.5 में सभी विशेषाधिकार हैं


14

मैं एक उपयोगकर्ता बनाना चाहता हूं जिसके पास केवल एक निर्दिष्ट डेटाबेस तक पहुंच हो। हालांकि, इसकी सभी अनुमति होनी चाहिए। मैं Ubuntu 14.04 पर Postgresql 9.5 का उपयोग करता हूं। इसलिए सबसे पहले, मैं एक नया उपयोगकर्ता बनाता हूं:

$createuser --interactive joe
  Shall the new role be a superuser? (y/n) n
  Shall the new role be allowed to create databases? (y/n) n
  Shall the new role be allowed to create more new roles? (y/n) n

अगले मैं मालिक जो के साथ एक नया डेटाबेस बनाता हूं:

 $sudo -u postgres psql 
 $CREATE DATABASE myDB OWNER joe;
 $GRANT ALL ON DATABASE myDB TO joe;

उसके बाद, मैं अपने डेटाबेस myDB पर जुड़ने के लिए यूजर जो से जुड़ने की कोशिश करता हूं:

$psql myDB -U joe
psql: FATAL:  Peer authentication failed for user "joe" 

मुझे आगे क्या करना है?


4
यह ऑफ-टॉपिक नहीं है। क्योंकि उबंटू में सॉफ्टवेयर स्थापित करना विषय पर है
अनवर

क्या आपकी समस्या हल हो गई है?
अनवर

जवाबों:


16
  1. /etc/postgresql/9.5/main/pg_hba.confरूट एक्सेस के साथ खोलें

     sudo nano /etc/postgresql/9.5/main/pg_hba.conf
    
  2. बदले peerके लिए md5इन पंक्तियों में।

    बदलने से पहले

    # "local" is for Unix domain socket connections only
    local   all             all                                     peer
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            peer
    # IPv6 local connections:
    host    all             all             ::1/128                 peer
    

    आपके बदलाव के बाद

    # "local" is for Unix domain socket connections only
    local   all             all                                     md5
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            md5
    # IPv6 local connections:
    host    all             all             ::1/128                 md5
    
  3. फ़ाइल को दबाने के साथ सहेजें Ctrl- O। नैनो से बाहर निकलें Ctrl-X

  4. पुन: उपयोग करना postgresql को पुनरारंभ करें

    sudo service postgresql restart
    

1
धन्यवाद, मुझे md5 को लाइन स्थानीय पीयर बदलना पड़ा, उसके बाद मैं सफलतापूर्वक लॉगिन कर सका।
कायचेन

किसी भी संस्करण के लिए अद्यतन करना :, गोपनीय फ़ाइल की जांच करने के लिए:sudo -u postgres psql -c "SHOW config_file"
पीटर क्रस

सहकर्मी के बजाय खदान की पहचान दिखा रहे थे host all all 127.0.0.1/32 ident,host all all ::1/128 ident
जोसेफ के।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.