パスワードは正しいのにphpPgAdminにログインできない場合

カテゴリ:データベース

パスワードは正しいのにphpPgAdminにログインできない場合、pg_hba.confの設定が適切ではない可能性があります。

まず、以下のようにpsqlコマンドで正常にログインできる状態であることが前提です。

$ psql postgres hoge
Password for user hoge:
psql (14.8 (Ubuntu 14.8-0ubuntu0.22.04.1))
Type "help" for help.

postgres=#

ログを見ると、「FATAL: Peer authentication failed」のエラーが出力されており、その後にpg_hba.confの問題点がヒントとして出力されています。

$ tail /var/log/postgresql/postgresql-14-main.log
2023-07-13 23:18:19.416 JST [4123] hoge@template1 FATAL:  Peer authentication failed for user "hoge"
2023-07-13 23:18:19.416 JST [4123] hoge@template1 DETAIL:  Connection matched pg_hba.conf line 95: "local   all             all                                     peer"

/etc/postgresql/14/main/pg_hba.confを見ると、確かに初期設定では "local all all" 行の METHOD が peer となっているため、以下のように、peer を password や md5 に変更してあげればログインできるようになります。

local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     password
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            scram-sha-256
host    replication     all             ::1/128                 scram-sha-256

設定の変更後は、PostgreSQL を再起動します。

$ sudo systemctl restart postgresql

公開日時:2023年07月14日 12:11:21
最終更新日時:2023年07月15日 03:00:01

なお、VPS選びで迷ったらこちらの記事で主要VPSのメモリ容量ごとの月額、年額料金を比較していますので、是非参考にしてみてください。

データベースに戻る

このページのトップに戻る