PostgreSQLでパスワードを忘れてしまったとき

2019.12.10 (火)

pg_hba.confでlocalhostからのログインはtrustにすればいったん解決します。バージョンや環境によってちょっと違いますが、概ねこんな感じ。

$ su - postgres
$ vi /var/lib/pgsql/11/data/pg_hba.conf

中身はこんな感じになっているとしたら、

# PostgreSQL Client Authentication Configuration File
# ===================================================
local all all              md5
host  all all 127.0.0.1/32 md5
host  all all ::1/128      md5

md5でパスワードの暗号化をしている部分をtrustにして、ローカルサーバーにログインしている場合はパスワードなしで認証ということにすればOKです。PostgreSQLの再起動を忘れにずに。

local all all              trust
host  all all 127.0.0.1/32 trust
host  all all ::1/128      trust

再起動してから、ログインしましょう。

$ psql
psql (11.0)
"help" でヘルプを表示します。

postgres=#

これでOKです。あとはパスワードのリセットとかやればよいでしょう。