WindowsでPostgreSQLを起動・停止する方法|初心者向け完全ガイド

Windows

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ビット版
  • 141516:バージョン番号

あなたの環境では、インストールしたバージョンによって数字が変わります。

方法1:GUIでサービスを操作する(初心者におすすめ)

最も安全で分かりやすい方法です。

サービス管理画面を開く

手順1:サービス管理ツールを起動

  1. キーボードで Windows + R を押す
  2. 「ファイル名を指定して実行」が開く
  3. services.msc と入力
  4. 「OK」をクリック

手順2:PostgreSQLサービスを探す

  1. サービス一覧が表示される
  2. 名前順に並んでいるので「P」の部分を探す
  3. postgresql-x64-XX を見つける

PostgreSQLの状態を確認する

状態の見方

状態意味対応
実行中正常に動いているそのまま使える
停止動いていない起動が必要
開始保留中起動処理中少し待つ

PostgreSQLを起動する

  1. postgresql-x64-XX を右クリック
  2. メニューから「開始」を選択
  3. 状態が「実行中」になれば成功

PostgreSQLを停止する

  1. postgresql-x64-XX を右クリック
  2. メニューから「停止」を選択
  3. 状態が「停止」になれば成功

自動起動の設定

パソコン起動時に自動でPostgreSQLを起動させる方法

  1. postgresql-x64-XX を右クリック
  2. 「プロパティ」を選択
  3. 「スタートアップの種類」を確認
  4. 「自動」を選択して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:タスクマネージャーで確認する(参考程度)

緊急時の確認方法として知っておきましょう。

タスクマネージャーでの確認手順

  1. Ctrl + Shift + Esc でタスクマネージャーを開く
  2. 「詳細」タブをクリック
  3. プロセス一覧から 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は既に使用されています

解決方法

  1. 他のアプリケーションがポート5432を使っていないか確認
  2. PostgreSQLが既に起動していないか確認
  3. 必要に応じてポートを変更

原因2:データディレクトリの問題

エラー: データディレクトリにアクセスできません

解決方法

  1. PostgreSQLサービスのログオンアカウントを確認
  2. データフォルダの権限を確認
  3. 必要に応じて管理者として実行

トラブル2:接続できない

症状

  • アプリケーションからPostgreSQLに接続できない
  • 「サーバーに接続できません」エラー

確認ポイント

  1. PostgreSQLサービスが「実行中」になっているか
  2. ファイアウォールがポート5432をブロックしていないか
  3. 接続設定(ホスト、ポート、ユーザー名)が正しいか

トラブル3:自動起動しない

症状

  • パソコンを再起動するとPostgreSQLが停止している

解決方法

  1. サービスのスタートアップの種類を「自動」に設定
  2. 依存関係のあるサービスが先に起動するよう確認

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での接続確認

  1. pgAdminを起動
  2. サーバーに接続を試す
  3. データベース一覧が表示されれば正常

スクリプトでの自動化例

開発環境起動スクリプト

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で正確なサービス名を確認してください。

コメント

タイトルとURLをコピーしました