Postgres 9.5のすべての特権を持つユーザーのピア認証が失敗しました


13

指定したデータベースにのみアクセスできるユーザーを作成したい。ただし、すべての許可が必要です。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

次に、所有者joeで新しいデータベースを作成します。

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

その後、データベースmyDBに接続するためにユーザーjoeと接続しようとします。

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

次に何をしなければなりませんか?


4
これはオフトピックではありません。Ubuntuでのソフトウェアのセットアップがトピックに対応しているため
Anwar

問題は解決しましたか?
アンワー

回答:


15
  1. /etc/postgresql/9.5/main/pg_hba.confルートアクセスで開く

     sudo nano /etc/postgresql/9.5/main/pg_hba.conf
    
  2. これらの行に変更peermd5ます。

    変更する前に

    # "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- を押してファイルを保存しますOCtrl-でnanoを終了しますX

  4. を使用してpostgresqlを再起動します

    sudo service postgresql restart
    

1
ありがとう、私は正常にログインすることができた後、私は行ローカルピアをmd5に変更しなければなりませんでした。
ケイチョン

任意のバージョンの更新:、confファイルを確認するには:sudo -u postgres psql -c "SHOW config_file"
Peter Krauss

私はピアの代わりにidentを示していましたhost all all 127.0.0.1/32 identhost all all ::1/128 ident
ジョセフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.