はじめに
Windows環境で既に5432ポートでPostgreSQLが動作している場合に、別のインスタンスを5433ポートで追加・起動する方法をまとめます。
- OS:Windows 10/11
- PostgreSQL:バージョン共通(13〜16想定)
- 目的:既存インスタンスに影響を与えず、別ポートのPostgreSQLを動かす
🎯 ゴール
PostgreSQLを 5432と5433の2インスタンス 並行で動作させる
サービスとしてそれぞれ起動・停止ができるようにする
手順
1. 📁 新しいデータディレクトリを作成
任意の場所に新しいデータディレクトリを作成します。
例:
C:\PostgreSQL\data_5433
2. ⚙️ initdbで初期化
- 管理者権限でコマンドプロンプトを開きます。
- PostgreSQLの bin ディレクトリへ移動:
cd "C:\Program Files\PostgreSQL\16\bin"
- 以下のコマンドで新しいデータディレクトリを初期化:
initdb -D "C:\PostgreSQL\data_5433"
※ パスは環境に合わせて変更してください。
3. 🔧 ポート番号を5433に変更
C:\PostgreSQL\data_5433\postgresql.conf
をテキストエディタで開きます。
# 修正前
#port = 5432
# 修正後
port = 5433
4. 🛡️ pg_hba.conf の接続設定(必要に応じて)
data_5433
内の pg_hba.conf
を開いて、必要なら接続ルールを追加します(ローカルからの接続など)。
5. 📦 サービス登録(5433ポート用)
以下のコマンドで新しいPostgreSQLサービスを登録します。
pg_ctl register -N "PostgreSQL5433" -D "C:\PostgreSQL\data_5433" -S auto -o "-p 5433"
-
-N
:サービス名(自由に変更可) -
-D
:新しいデータディレクトリ -
-S auto
:自動起動 -
-o "-p 5433"
:ポート指定
6. ▶️ サービスを起動
サービスマネージャーまたはコマンドで起動できます。
net start PostgreSQL5433
7. ✅ 動作確認
ターミナルまたはpgAdminから5433に接続して確認:
psql -h localhost -p 5433 -U postgres
🎉 おわりに
この手順で、5432ポートとは別に5433ポートでPostgreSQLインスタンスを起動できます。
- テスト用の環境を分けたいとき
- マルチバージョン運用をしたいとき
- 同一マシン上で複数プロジェクトを分けて管理したいとき
に役立ちます!