Windows11にScoopでPostgreSQLを入れます。
Laravel HerdのPRO版を購入して、HerdでPostgreSQLを入れていたのですが、どうもやや不便でした。どこにいるかよく分からないし、psqlが使えないし。もちろんちょっと探したのですが、なんかいないんですよね。。Herdで入れるメリットはそこまでない気もしますので、シンプルにするために、Scoopで入れなおそうと思います。
とりあえず、Laravel HerdのPostgreSQLを止めます。
Scoopでインストール
> scoop install postgresql
サーバの起動
> pg_ctl start -D "C:\Users\dev\scoop\apps\postgresql\current\data" サーバーの起動完了を待っています....2024-07-26 17:56:43.562 JST [39028] LOG: starting PostgreSQL 16.3, compiled by Visual C++ build 1938, 64-bit 2024-07-26 17:56:43.566 JST [39028] LOG: listening on IPv6 address "::1", port 5432 2024-07-26 17:56:43.567 JST [39028] LOG: listening on IPv4 address "127.0.0.1", port 5432 2024-07-26 17:56:43.633 JST [38124] LOG: database system was shut down at 2024-07-26 15:22:09 JST 2024-07-26 17:56:43.653 JST [39028] LOG: database system is ready to accept connections 完了 サーバー起動完了
Windowsサービスとして登録(自動起動の設定)
管理者権限でPowerShellを開きます。
以下のコマンドを実行してサービスを登録します。
pg_ctl register -N "PostgreSQL" -D "C:\Users\dev\scoop\apps\postgresql\current\data"
サービスの起動タイプを自動に設定します。
sc.exe config "PostgreSQL" start= auto
これで、Windows起動時にPostgreSQLも起動されます。 また、下記で起動したり、停止したりできます。
net start PostgreSQL
net stop PostgreSQL
postgresユーザーのパスワード設定
PostgreSQLのpsqlコマンドラインツールを起動します。
psql -U postgres
以下のSQLコマンドを実行してパスワードを設定します。
ALTER USER postgres PASSWORD 'password';
pg_hba.conf の更新
テキストエディタで C:\Users\dev\scoop\apps\postgresql\current\data\pg_hba.conf
を開きます。
trust
認証方式を md5
に変更します。例:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
ファイルを保存して閉じます。
PostgreSQLサービスの再起動
変更を反映させるため、サービスを再起動します。
net stop PostgreSQL net start PostgreSQL