9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[PostgreSQL]psql: FATAL: Peer authentication failed for user "postgres"エラーが出たときの対処法

Last updated at Posted at 2021-04-30

起きたこと

以下のようなエラーが発生

psql: FATAL: Peer authentication failed for user "postgres"

原因

postgreSQLのhbaファイル(host base authentication)機能で、peer認証がOnになっていたから。

peer認証はローカルでアクセスする時Linuxのユーザーとパスワードがpostgresと同じものでないとエラーになるそうです。

対処法

peer認証をOffにします。
まずpeer認証をしているファイル、pg_hba.confを探します。

$ find / -print |grep pg_hba.conf
-> /var/lib/pgsql/data/pg_hba.conf

vimを使ってファイルを編集しましょう

$ vim /var/lib/pgsql/data/pg_hba.conf

下にスクロールして以下のように表示されている場所を探します。

pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD
 
# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

これを以下のように編集します。

# TYPE  DATABASE        USER            ADDRESS                 METHOD
 
# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

その後postgreSQLを再起動

$ service postgresql restart

すると以下のように接続できるようになりました。

psql -q -U postgres

参考

9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?