PostgreSQL postgresユーザーのパスワードを忘れた場合の対処方法

環境
Windows 10 Home 64bit
PostgreSQL 9.6

現象
postgresユーザー(postgres)のパスワードを忘れた

解決方法
1.pg_hba.confを変更しパスワードなしでログインできるように変更します。
pg_hba.confを変更します。
場所 C:\Program Files\PostgreSQL\9.6\data

2.「# IPv4 local connections:」の先頭に次の1行を追加します。

# IPv4 local connections:
host all postgres 127.0.0.1/32 trust

3.管理者権限でコマンドプロンプトを起動します。
以下のコマンドを実行します。

C:\WINDOWS\system32>cd C:\Program Files\PostgreSQL\9.6\bin
C:\Program Files\PostgreSQL\9.6\bin>pg_ctl.exe reload -D "C:\Program Files\PostgreSQL\9.6\data"

4.PostgreSQLに接続します。

>psql -h 127.0.0.1 -U postgres
psql (9.6.5)
"help" でヘルプを表示します.

postgres=#

5.postgresユーザーのパスワードを’新しいパスワード’へ変更します。
操作例

postgres=# alter role postgres with password 'postgres';
ALTER ROLE

6.手順1の追加内容を削除します。
手順2のreloadを実行します。

7.再度PostgreSQLに接続します。

C:\Program Files\PostgreSQL\9.6\bin>psql -h 127.0.0.1 -U postgres
ユーザ postgres のパスワード: #新しいパスワードの入力
psql (9.6.5)
"help" でヘルプを表示します.

postgres=#

 

PowerShell

Posted by arkgame