状態の確認
✅ PowerShell での実行手順
以下のコマンドをコピー&貼り付けして実行: powershellコピーする編集するGet-Service | Where-Object {$_.DisplayName -like "postgresql*"}
Windowsキー を押す
検索ボックスに PowerShell
と入力
出てきた「Windows PowerShell」を右クリック → 「管理者として実行」を選択
※通常起動でも動きますが、権限確認のため管理者モード推奨です
以下のコマンドをコピー&貼り付けして実行:
Get-Service | Where-Object {$_.DisplayName -like "postgresql*"}
✅ 出力結果の見方
Status Name DisplayName
------ ---- -----------
Running postgresql-x64-14 PostgreSQL Server 14
項目 | 意味 |
---|---|
Status | Running なら起動中 |
Stopped | 停止状態 |
Name | サービス名(内部) |
DisplayName | 表示名(サービス一覧での名前) |
Stop状態だった。
✅ 次にやるべきこと
以下の手順でサービスを手動起動してみて、エラーメッセージが表示されるか確認します。
サービスの起動コマンド(PowerShellで実行)
Start-Service -Name "postgresql-x64-14"
実行後:
- 何も表示されず PowerShell が戻ってくれば → 起動成功
- エラーが出る場合 → その内容を確認・共有してください
実際に出たエラー

画像のエラーメッセージから、PostgreSQL サービスが起動できない直接の原因は “サービスが正常に開始されなかった” ことが原因とわかりました。
原因候補(Windowsで多いもの順)
1. postgresql.conf
または pg_hba.conf
の設定エラー
- ファイルの記述ミスや改行の崩れで起動に失敗することがあります。
2. データディレクトリの破損/不整合
- 強制終了やディスク不良などで WAL ログ(トランザクションログ)に矛盾があると起動できません。
3. 実行ユーザーの権限問題
- PostgreSQL サービスの実行ユーザーが、データディレクトリにアクセスできていない。
4. 以前の postmaster.pid
が残っている
- シャットダウン失敗時にこのファイルが残り、起動を妨げる。
✅ 対処ステップ(順番に試してください)
① サービスのエラー詳細をイベントビューアで確認
- Windows + R →
eventvwr.msc
- 「Windowsログ → アプリケーション」を開く
- 「エラー」レベル で、
postgres.exe
や PostgreSQL に関するログを探す
例: pgsqlコピーする編集するApplication Error / PostgreSQL / pg_ctl / postgres.exe の障害
ここに出ている内容が、もっとも直接的な原因になります。
可能であれば、そのログをスクリーンショットまたは内容コピーで教えてください。
② postmaster.pid
の削除
- 以下のフォルダを開きます: kotlinコピーする編集する
C:\Program Files\PostgreSQL\14\data\
postmaster.pid
があれば削除- その後、再度 PowerShell でサービスを起動: powershellコピーする編集する
Start-Service -Name "postgresql-x64-14"
③ 実行ユーザーの確認とアクセス権付与
services.msc
を起動- PostgreSQL サービスを右クリック → プロパティ → 「ログオン」タブ
Local System
かpostgres
ユーザーになっているか確認- もし
postgres
ユーザーなら、data
フォルダにそのユーザーがフルアクセスできるように権限を設定
④ pg_resetwal
によるWAL修復(破損が疑われる場合)
⚠ 最終手段です。事前にフォルダをバックアップしてください。
cmdコピーする編集するcd "C:\Program Files\PostgreSQL\14\bin"
pg_resetwal -D "C:\Program Files\PostgreSQL\14\data"
実行後にサービスを起動してみてください。
コメント