Postgres 9.5'te tüm ayrıcalıklara sahip kullanıcı için eş kimlik doğrulaması başarısız oldu


14

Yalnızca belirli bir veritabanına erişimi olan bir kullanıcı oluşturmak istiyorum. Ancak, tüm izinleri olmalıdır. Ubuntu 14.04'te Postgresql 9.5 kullanıyorum. Her şeyden önce yeni bir kullanıcı oluşturuyorum:

$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

Sonra sahibi joe ile yeni bir veritabanı oluşturmak:

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

Bundan sonra, benim veritabanı myDB bağlanmak için kullanıcı joe ile bağlanmaya çalışın:

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

Bundan sonra ne yapmam gerekiyor?


4
Bu konu dışı değil. çünkü Ubuntu'da yazılım kurmak konuyla ilgili
Anwar

Sorununuz çözüldü mü?
Anwar

Yanıtlar:


16
  1. /etc/postgresql/9.5/main/pg_hba.confKök erişimiyle aç

     sudo nano /etc/postgresql/9.5/main/pg_hba.conf
    
  2. Değişim peeriçin md5bu satırları.

    Değiştirmeden önce

    # "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
    

    Değişiklikten sonra

    # "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- tuşuna basarak dosyayı kaydedin O. Nano'dan Ctrl-X

  4. Postgresql'i kullanarak yeniden başlat

    sudo service postgresql restart
    

1
teşekkür ederim, ben md5 satır yerel eş değiştirmek zorunda kaldı, bundan sonra başarıyla giriş olabilir.
Qeychon

Herhangi bir sürüm için güncelleme :, conf dosyasını kontrol etmek için:sudo -u postgres psql -c "SHOW config_file"
Peter Krauss

Benimki akran yerine kimlik gösteriyordu host all all 127.0.0.1/32 ident,,host all all ::1/128 ident
Joseph K.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.