Windows Server 2022上でのPostgreSQLのセットアップを行う手順を整理します。
| 項目 | バージョン |
|---|---|
| OS | Windows Server 2022 評価版 |
| PostgreSQL | 16.4 |
■ダウンロードとインストール
https://www.postgresql.org/download/windows/ へアクセスしてダウンロードを行います。

2024/8/28時点の最新であるバージョンが「16.4」のWindows x86-64を選択します。

ダウンロードできたらダブルクリックでインストールを開始します。

「Next」をクリック。

インストールフォルダを指定します。ここではデフォルトのままとします。

インストールするコンポーネントを指定します。「PostgreSQL Server」と「Command Line Tools」は必須と思います。「pgAdmin 4」ツールはGUIで便利なDB管理者用ツールなので選択をします。

データの保存先を指定します。デフォルトはインストールフォルダ配下の「data」フォルダとなります。

管理者ユーザ「postgres」のパスワードを設定します。

PostgreSQLが待ち受けするポートを指定します。ここではPostgreSQLデフォルトの「5432」のままとします。

言語環境等のロケール設定を指定します。明示的に「日本語」を示すものを選択してもよいですが、デフォルト選択されている「Default locale」のままとします。

インストール内容のサマリを確認し、Nextをクリック。

「Next」クリックでインストールを開始します。

しばらくしてインストールが完了します。

Windowsスタートメニューに下記の通りPostgreSQL関連の表示がされました。

■psql用設定と管理者ユーザ「postgres」での接続確認
コマンドラインツール「psql」を用いるための準備を行います。コマンドプロンプトから実行できるようにするために環境変数「PATH」にインストールディレクトリ「C:\Program Files\PostgreSQL\16\bin」を追加します。設定後、コマンドプロンプトを開いて「psql –version」でバージョンが表示されればOKです。

インストール時に作成した管理者ユーザ「postgres」で接続してみます。「-h」オプションは接続先ホストを指定し、「-U」で接続に用いるユーザを指定します。接続後、表示が「postgres=#」となれば接続ができている状態となります。
psql -h localhost -U postgres

終了は「\q」と入力して行います。
以下にpsqlツールのコマンドを整理しているので参考にしてみてください。
■PostgreSQLサーバホスト外からアクセスを許可する
PostgreSQLデータベースをデータベースを構築したサーバ以外からアクセスさせるために必要な設定を行います。この記事ではWindows環境での手順ですが、Linux系でも考え方は同じです。
デフォルトではlocalhost以外からのアクセスができないようになっており、DBサーバ以外からのアクセスのためには以下の作業が必要となります。
- pg_hba.confの修正
- サービスの再起動
- OSのファイアウォールの許可
- 接続確認
▼pg_hba.confの修正
ここでは「192.168.0.0/16」のネットワークからであればすべてのホスト、データベース、ユーザに接続を許可する、という設定としました。
# TYPE DATABASE USER ADDRESS METHOD
host all all 192.168.0.0/16 scram-sha-256
▼PostgreSQLデータベースサービスの再起動
Windowsの場合、サービス画面から起動をすればOKなのでわかりやすいです。

▼ファイアウォール設定でポートの許可
PostgreSQLで利用するポートを外部ホストから許可します。以下はWindowsでの例です。5432のポートで待ち受けしているのでそこへの接続を許可してやればOKです。

TCPの5432です。

PostgreSQL側でホストの範囲を指定していますが、Windowsのファイアウォールでも同様の設定ができます。(ここではホスト指定はしない形としています)

▼接続確認
PostgreSQLデータベース以外のホストからDBツールやアプリケーションから接続を確認します。
GUIのDBツールも豊富にあるので、助かります。参考までに私はA5:SQL Mk2やDBeaverというツールを使っています。
A5:SQL Mk2 : https://a5m2.mmatsubara.com/
DBeaver : https://dbeaver.io/
コメントを残す