【PostgreSQL】postgresユーザーのパスワードを忘れた場合の手順
postgresユーザーのパスワードを忘れた場合の手順
ここではpostgres ユーザのパスワードがわからなくなった場合に、再設定する方法を紹介します。
ざっくり手順としては、①pg_hba.confを編集しpostgresユーザーでパスなしでログインできるようにする、②パスワードを再設定する、③pg_hba.confを元に戻すという流れになります。
1. pg_hba.confの変更
pg_hba.confを変更しパスワードなしでログインできるように変更します。
pg_hba.confに「# IPv4 local connections:」の先頭に次の1行を加えて下さい。最後の「trust」はパスワードなしで接続可という意味なので一時的なものということをお忘れなく。
host all postgres 127.0.0.1/32 trust
青い行の箇所のようになればOKです。
2. pg_hba.confの設定を適用する
pg_hba.confの設定を適用するためにpg_ctl reloadを実行。次のコマンドはPostgreSQL12の例です(わからなかったらコンピュータごと再起動でも可)。
# PostgreSQL12の場合のreload例
pg_ctl -D "C:\Program Files\PostgreSQL\data" start
3. パスワード設定(ALTER分の実行)
パスワードを変更するALTER分を実行します。
--postgresユーザーのパスワードを'新しいパスワード'へ変更する
ALTER ROLE postgres with PASSWORD '新しいパスワード';
4. pg_hba.confを元に戻し再度reloadを実行
1で加えた1行を削除し、2のreloadを実行でOKです。
手順は以上です。
万が一の場合の手順として捉え頂き、pg_hba.confの変更は戻すことを忘れないでください。