PostgreSQLをWindowsで使っていて、こんな困りごとはありませんか?
- 「データベースに接続できない」
- 「PostgreSQLが動いているかどうか分からない」
- 「パソコンを再起動したら動かなくなった」
- 「起動や停止はどうやってやるの?」
PostgreSQLはデータベースサーバーなので、使う前にきちんと起動させる必要があります。
この記事で分かること
- PostgreSQLが動いているかの確認方法
- 起動・停止の3つの方法
- 自動起動の設定方法
- よくあるトラブルの解決方法
PostgreSQLの基本的な操作を覚えて、安心してデータベースを使えるようになりましょう。
PostgreSQLがWindowsで動く仕組み

Windowsサービスとは?
PostgreSQLは、Windowsの「サービス」として動いています。
サービスとは
- バックグラウンド(裏側)で動くプログラム
- ユーザーがログインしていなくても動き続ける
- Windowsが自動で管理してくれる
具体例
- ウイルス対策ソフト
- プリンタのサービス
- ネットワーク関連のサービス
PostgreSQLも、これらと同じように「常に動いているサーバー」として動作します。
PostgreSQLサービスの名前
インストールすると、以下のような名前でサービスが登録されます:
postgresql-x64-14
postgresql-x64-15
postgresql-x64-16
名前の意味
postgresql
:PostgreSQL本体x64
:64ビット版14
、15
、16
:バージョン番号
あなたの環境では、インストールしたバージョンによって数字が変わります。
方法1:GUIでサービスを操作する(初心者におすすめ)
最も安全で分かりやすい方法です。
サービス管理画面を開く
手順1:サービス管理ツールを起動
- キーボードで
Windows + R
を押す - 「ファイル名を指定して実行」が開く
services.msc
と入力- 「OK」をクリック
手順2:PostgreSQLサービスを探す
- サービス一覧が表示される
- 名前順に並んでいるので「P」の部分を探す
postgresql-x64-XX
を見つける
PostgreSQLの状態を確認する
状態の見方
状態 | 意味 | 対応 |
---|---|---|
実行中 | 正常に動いている | そのまま使える |
停止 | 動いていない | 起動が必要 |
開始保留中 | 起動処理中 | 少し待つ |
PostgreSQLを起動する
postgresql-x64-XX
を右クリック- メニューから「開始」を選択
- 状態が「実行中」になれば成功
PostgreSQLを停止する
postgresql-x64-XX
を右クリック- メニューから「停止」を選択
- 状態が「停止」になれば成功
自動起動の設定
パソコン起動時に自動でPostgreSQLを起動させる方法
postgresql-x64-XX
を右クリック- 「プロパティ」を選択
- 「スタートアップの種類」を確認
- 「自動」を選択してOK
スタートアップの種類の違い
設定 | 動作 |
---|---|
自動 | Windows起動時に自動で開始 |
手動 | 必要なときだけ手動で開始 |
無効 | 起動できない状態 |
方法2:コマンドラインで操作する

コマンドプロンプトやPowerShellから操作する方法です。
コマンドプロンプトの場合
起動
net start postgresql-x64-15
停止
net stop postgresql-x64-15
使用例
C:\> net start postgresql-x64-15
postgresql-x64-15 サービスを開始中です。
postgresql-x64-15 サービスは正常に開始されました。
PowerShellの場合
起動
Start-Service -Name "postgresql-x64-15"
停止
Stop-Service -Name "postgresql-x64-15"
状態確認
Get-Service -Name "postgresql*"
実行例
PS C:\> Get-Service -Name "postgresql*"
Status Name DisplayName
------ ---- -----------
Running postgresql-x64-15 postgresql-x64-15 - PostgreSQL Server 15
バッチファイルで自動化
よく使う操作をバッチファイルにしておくと便利です。
start_postgresql.bat
@echo off
echo PostgreSQLを起動しています...
net start postgresql-x64-15
echo 起動完了!
pause
stop_postgresql.bat
@echo off
echo PostgreSQLを停止しています...
net stop postgresql-x64-15
echo 停止完了!
pause
方法3:タスクマネージャーで確認する(参考程度)
緊急時の確認方法として知っておきましょう。
タスクマネージャーでの確認手順
Ctrl + Shift + Esc
でタスクマネージャーを開く- 「詳細」タブをクリック
- プロセス一覧から
postgres.exe
を探す
表示例
名前 PID CPU メモリ
postgres.exe 1234 0.1% 45.2 MB
postgres.exe 1235 0.0% 12.1 MB
postgres.exe 1236 0.0% 8.5 MB
注意:強制終了は危険
絶対にやってはいけないこと
- タスクマネージャーから
postgres.exe
を強制終了 - データが壊れる可能性がある
- 作業中のデータが失われる可能性がある
正しい終了方法
- 必ずサービス管理ツールか、コマンドを使用
- アプリケーションから正常に切断してから停止
よくあるトラブルと解決方法

トラブル1:PostgreSQLが起動しない
症状
- 「開始」をクリックしてもすぐに停止する
- エラーメッセージが表示される
原因と対策
原因1:ポートが使用中
エラー: ポート5432は既に使用されています
解決方法:
- 他のアプリケーションがポート5432を使っていないか確認
- PostgreSQLが既に起動していないか確認
- 必要に応じてポートを変更
原因2:データディレクトリの問題
エラー: データディレクトリにアクセスできません
解決方法:
- PostgreSQLサービスのログオンアカウントを確認
- データフォルダの権限を確認
- 必要に応じて管理者として実行
トラブル2:接続できない
症状
- アプリケーションからPostgreSQLに接続できない
- 「サーバーに接続できません」エラー
確認ポイント
- PostgreSQLサービスが「実行中」になっているか
- ファイアウォールがポート5432をブロックしていないか
- 接続設定(ホスト、ポート、ユーザー名)が正しいか
トラブル3:自動起動しない
症状
- パソコンを再起動するとPostgreSQLが停止している
解決方法
- サービスのスタートアップの種類を「自動」に設定
- 依存関係のあるサービスが先に起動するよう確認
PostgreSQLの正常性を確認する方法
psqlコマンドでの接続テスト
psql -U postgres -h localhost -p 5432
成功時の表示
psql (15.4)
Type "help" for help.
postgres=#
失敗時の表示例
psql: error: connection to server at "localhost" (127.0.0.1), port 5432 failed:
FATAL: password authentication failed for user "postgres"
pgAdminでの接続確認
- pgAdminを起動
- サーバーに接続を試す
- データベース一覧が表示されれば正常
スクリプトでの自動化例

開発環境起動スクリプト
dev_start.bat
@echo off
echo =================================
echo 開発環境を起動しています...
echo =================================
echo PostgreSQLを起動中...
net start postgresql-x64-15
echo Webサーバーを起動中...
cd /d C:\xampp
xampp_start.exe
echo 開発環境の起動が完了しました!
echo PostgreSQL: http://localhost:5432
echo Web: http://localhost:80
pause
開発環境停止スクリプト
dev_stop.bat
@echo off
echo =================================
echo 開発環境を停止しています...
echo =================================
echo PostgreSQLを停止中...
net stop postgresql-x64-15
echo Webサーバーを停止中...
cd /d C:\xampp
xampp_stop.exe
echo 開発環境の停止が完了しました!
pause
まとめ
WindowsでPostgreSQLを使うときの起動・停止方法について説明しました。
重要なポイント
- PostgreSQLはWindowsサービスとして動作
- 3つの操作方法がある(GUI、コマンド、タスクマネージャー)
- 自動起動の設定で再起動後も安心
- トラブル時は順序立てて原因を調査
おすすめの操作方法
- 初心者:サービス管理ツール(GUI)
- 慣れた人:コマンドライン
- 自動化したい人:バッチファイル
覚えておくべきコマンド
# 状態確認
net start | find "postgresql"
# 起動
net start postgresql-x64-15
# 停止
net stop postgresql-x64-15
PostgreSQLの起動・停止をマスターすれば、データベース開発がもっとスムーズになります。
よくある質問
Q: PostgreSQLを起動するのを忘れがちです。どうすればいいですか?
A: サービスのスタートアップの種類を「自動」に設定すると、パソコン起動時に自動で起動します。
Q: 複数のバージョンがインストールされている場合は?
A: それぞれ別のサービス名で管理されます。使いたいバージョンのサービスだけ起動してください。
Q: PostgreSQLを停止するタイミングは?
A: 基本的には停止する必要はありません。メモリを節約したい場合や、メンテナンス時のみ停止すればOKです。
Q: コマンドでエラーが出る場合は?
A: サービス名が間違っている可能性があります。services.msc
で正確なサービス名を確認してください。
コメント