PostgreSQLサービスの起動・停止・再起動方法完全ガイド!初心者でもわかるデータベース管理
生徒
「PostgreSQLをインストールしたんですけど、サービスの起動とか停止ってどうやるんですか?」
先生
「PostgreSQLはデータベースサーバーなので、使うときは起動して、使わないときは停止できます。電気製品のスイッチをオン・オフするイメージですね。」
生徒
「WindowsとMacで操作方法は違うんですか?」
先生
「そうですね。それぞれのOSで操作方法が異なります。でも、どちらも難しくないので安心してください。順番に説明していきます。」
PostgreSQLサービスとは何か?
PostgreSQLサービスとは、データベースを動かすためのプログラムのことです。このサービスが起動していないと、データベースにアクセスしたり、データを保存したりすることができません。
例えるなら、お店の営業と同じです。お店が開いている(サービスが起動している)ときだけ、お客さんが買い物できます。閉まっている(サービスが停止している)ときは、何もできません。PostgreSQLサービスも同じで、起動しているときだけデータベースを使えます。
サービスには主に三つの操作があります。起動(スタート)、停止(ストップ)、再起動(リスタート)です。再起動は、一度停止してからもう一度起動することで、設定を読み込み直したいときなどに使います。
Windowsでのサービス起動・停止・再起動方法
Windowsでは、サービスを管理する専用の画面があります。ここから簡単にPostgreSQLサービスを操作できます。
サービス管理画面を開く方法
まず、キーボードの「Windowsキー」と「R」キーを同時に押します。すると「ファイル名を指定して実行」という小さなウィンドウが開きます。そこに「services.msc」と入力してエンターキーを押してください。これでサービス管理画面が開きます。
PostgreSQLサービスを見つける
サービス管理画面には、たくさんのサービスが一覧で表示されます。その中から「postgresql」という名前が含まれているサービスを探してください。通常は「postgresql-x64-14」のような名前になっています(数字の部分はバージョンによって異なります)。
サービスの起動方法
見つけたPostgreSQLサービスを右クリックして、メニューから「開始」を選択します。これでサービスが起動します。状態が「実行中」になっていれば成功です。
サービスの停止方法
同じようにPostgreSQLサービスを右クリックして、今度は「停止」を選択します。状態が空欄になれば停止完了です。
サービスの再起動方法
再起動したいときは、右クリックして「再起動」を選択します。自動的に停止してから起動し直してくれます。
コマンドプロンプトでの操作方法
Windowsでは、コマンドプロンプトというツールを使っても操作できます。コマンドプロンプトとは、文字で命令を入力するツールのことです。
コマンドプロンプトを「管理者として実行」で開いてから、次のコマンドを入力します。管理者として実行するには、スタートメニューでコマンドプロンプトを右クリックして「管理者として実行」を選んでください。
net start postgresql-x64-14
※「postgresql-x64-14」の部分は、インストールしたPostgreSQLのバージョンに合わせて変更してください。サービス名は、先ほど説明したサービス管理画面で確認できます。
net stop postgresql-x64-14
postgresql-x64-14 サービスを停止中です.
postgresql-x64-14 サービスは正常に停止されました。
このようなメッセージが表示されれば、コマンドが正常に実行されています。
macOSでのサービス起動・停止・再起動方法
macOSでは、ターミナルというツールを使ってPostgreSQLサービスを操作します。ターミナルは、Windowsのコマンドプロンプトと同じように、文字で命令を入力するツールです。
ターミナルを開く方法
Finderを開いて、「アプリケーション」フォルダの中にある「ユーティリティ」フォルダを開きます。その中に「ターミナル」というアプリがあるので、それをダブルクリックして起動してください。または、Spotlight検索(commandキー + スペースキー)で「ターミナル」と入力して開くこともできます。
Homebrewでインストールした場合
HomebrewとはmacOS用のソフトウェア管理ツールのことで、多くの人がこれを使ってPostgreSQLをインストールします。Homebrewでインストールした場合は、次のコマンドでサービスを操作できます。
brew services start postgresql
brew services stop postgresql
brew services restart postgresql
==> Successfully started `postgresql` (label: homebrew.mxcl.postgresql)
このようなメッセージが表示されれば、正常に起動しています。
Linuxでのサービス起動・停止・再起動方法
LinuxでもmacOSと同じようにターミナルを使います。Linuxには様々な種類(ディストリビューション)がありますが、ここでは最も一般的なUbuntuやCentOSでの方法を説明します。
systemctlコマンドを使う方法
最近のLinuxシステムでは、systemctlというコマンドでサービスを管理します。systemctlは、システム全体のサービスを統一的に管理するためのツールです。
sudo systemctl start postgresql
※「sudo」は管理者権限で実行するための命令です。パスワードの入力を求められたら、ログインパスワードを入力してください。
sudo systemctl stop postgresql
sudo systemctl restart postgresql
sudo systemctl status postgresql
● postgresql.service - PostgreSQL database server
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled)
Active: active (running) since Tue 2026-01-20 10:30:15 JST; 2h ago
Main PID: 1234 (postgres)
CGroup: /system.slice/postgresql.service
「Active: active (running)」と表示されていれば、サービスが正常に動作しています。
サービスの自動起動設定について
PostgreSQLサービスは、パソコンを起動したときに自動的に起動するように設定できます。これを「自動起動」といいます。毎回手動で起動するのは面倒なので、普段使いする場合は自動起動の設定をしておくと便利です。
Windowsでの自動起動設定
サービス管理画面でPostgreSQLサービスをダブルクリックすると、プロパティ画面が開きます。そこに「スタートアップの種類」という項目があるので、これを「自動」に設定してOKボタンを押します。これで次回からパソコン起動時に自動的にPostgreSQLも起動するようになります。
macOSでの自動起動設定
Homebrewでインストールした場合、先ほど紹介した「brew services start postgresql」コマンドを実行すると、自動的に自動起動が有効になります。逆に自動起動を無効にしたい場合は「brew services stop postgresql」を実行します。
Linuxでの自動起動設定
Linuxでは次のコマンドで自動起動を有効にできます。
sudo systemctl enable postgresql
逆に自動起動を無効にしたい場合は次のコマンドを使います。
sudo systemctl disable postgresql
サービスが起動しない場合のトラブルシューティング
PostgreSQLサービスが起動しない場合、いくつかの原因が考えられます。ここでは、よくある問題と解決方法を紹介します。
ポートが既に使われている
PostgreSQLはデフォルトで5432番ポートを使用します。ポートとは、通信をするための入口のようなもので、他のプログラムが同じポートを使っていると起動できません。この場合は、他のプログラムを停止するか、PostgreSQLの設定ファイルでポート番号を変更する必要があります。
設定ファイルにエラーがある
PostgreSQLの設定ファイル(postgresql.confなど)に間違った記述があると起動できません。設定ファイルを編集した後に起動しなくなった場合は、編集した内容を確認してください。
ログファイルを確認する
PostgreSQLはエラーが発生したときに、ログファイルに詳しい情報を記録します。ログファイルの場所はインストール方法によって異なりますが、一般的には次のような場所にあります。
- Windows: C:\Program Files\PostgreSQL\14\data\log\
- macOS: /usr/local/var/log/postgres.log
- Linux: /var/log/postgresql/
ログファイルを開いて、エラーメッセージを確認すると原因がわかることが多いです。
サービス操作後のデータベース接続確認方法
サービスを起動した後は、実際にデータベースに接続できるか確認してみましょう。PostgreSQLには「psql」というコマンドラインツールが付属しています。これを使って接続確認ができます。
psqlでの接続方法
コマンドプロンプトまたはターミナルで次のコマンドを実行します。
psql -U postgres
このコマンドは、「postgres」というユーザー名でデータベースに接続することを意味します。postgresは、PostgreSQLインストール時に自動的に作られる管理者ユーザーです。
パスワードの入力を求められたら、インストール時に設定したパスワードを入力してください。接続に成功すると、「postgres=#」のような表示になります。
簡単なSQLコマンドで動作確認
接続できたら、簡単なSQLコマンドを実行してみましょう。例えば、データベースの一覧を表示するコマンドは次の通りです。
\l
このコマンドを実行すると、現在存在するデータベースの一覧が表示されます。
List of databases
Name | Owner | Encoding | Collate | Ctype |
-----------+----------+----------+-------------+-------------+
postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
このように表示されれば、PostgreSQLが正常に動作しています。psqlを終了するには「\q」と入力してエンターキーを押してください。
実際の運用での注意点
PostgreSQLサービスを実際に運用する際には、いくつか注意すべき点があります。
定期的な再起動の必要性
PostgreSQLは安定したデータベースですが、設定変更をした場合や、メモリ使用量が増えてきた場合などには再起動が必要になることがあります。ただし、本番環境で再起動する場合は、利用者が少ない時間帯を選ぶなどの配慮が必要です。
バックアップのタイミング
データベースのバックアップを取る際は、サービスが起動している状態で専用のコマンドを使う方法と、サービスを停止してからファイルをコピーする方法があります。どちらの方法を使うかは、運用方針によって決めます。
突然の停止を避ける
PostgreSQLサービスを停止する際は、必ず正しい手順で停止してください。パソコンの電源を突然切ったり、タスクマネージャーで強制終了したりすると、データベースが壊れる可能性があります。正しい手順で停止すれば、PostgreSQLは処理中のデータを安全に保存してから終了します。
よくある質問と回答
はい、大丈夫です。WindowsやmacOS、Linuxは、シャットダウン時に自動的に全てのサービスを正しい手順で停止してくれます。そのため、わざわざPostgreSQLサービスを停止してからシャットダウンする必要はありません。
いいえ、消えません。サービスを停止しても、データベースに保存されているデータはそのまま残っています。次にサービスを起動すれば、また同じデータにアクセスできます。サービスの停止は、お店の営業を終了するのと同じで、商品(データ)がなくなるわけではありません。
複数のバージョンをインストールしている場合、それぞれ別のサービスとして管理されます。サービス名にバージョン番号が含まれているので、操作したいバージョンのサービスを選んで起動・停止してください。ただし、複数のバージョンを同時に起動する場合は、それぞれ異なるポート番号を使うように設定する必要があります。
PostgreSQLサービスとは何か?" onerror="this.onerror=null; this.src='/img/view/java-exception-introduce.jpg';">
Windowsでのサービス起動・停止・再起動方法" onerror="this.onerror=null; this.src='/img/view/java-exception-introduce.jpg';">
macOSでのサービス起動・停止・再起動方法" onerror="this.onerror=null; this.src='/img/view/java-exception-introduce.jpg';">
Linuxでのサービス起動・停止・再起動方法" onerror="this.onerror=null; this.src='/img/view/java-exception-introduce.jpg';">
サービスの自動起動設定について" onerror="this.onerror=null; this.src='/img/view/java-exception-introduce.jpg';">
サービスが起動しない場合のトラブルシューティング" onerror="this.onerror=null; this.src='/img/view/java-exception-introduce.jpg';">
サービス操作後のデータベース接続確認方法" onerror="this.onerror=null; this.src='/img/view/java-exception-introduce.jpg';">
実際の運用での注意点" onerror="this.onerror=null; this.src='/img/view/java-exception-introduce.jpg';">
よくある質問と回答" onerror="this.onerror=null; this.src='/img/view/java-exception-introduce.jpg';">