WindowsにPostgreSQLをインストールしてサーバー化
目的
自分の身の回りのデータ(特に口座残高などのお金関連)を管理したい。エクセルに書いていってもいいのだが、せっかくなのでDBを使ってやりたいと思い立ちました。PosgreSQLを適当なWindows10端末にインストールしてサーバー化し、外部の端末から使用しようと思います。
環境
- windows10
- Intel i5
- メモリ4GB
過去に使っていた適当な端末を使用。Linux化してやろうかとも思いましたが、そのまま使うことにしました。
PostgreSQLインストール
以下のサイトからwindows版のpostgreSQLをダウンロードします。
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
バージョンは11.5を選択しました。

落としてきたインストーラをダブルクリック。

VC++ Redistributableのセットアップのウィンドウが立ち上がります。勝手に動くので静観します。

Installation Directoryは以下の通りデフォルトパスのまま [Next] 。

Componentsが選択できます。こちらも以下の通りデフォルトの全選択のまま [Next] 。

次のData Directoryのパスもデフォルトパスのまま [Next] 。

Passwordを記入します。忘れると面倒なので、メモなりするのが良いです。

Portもデフォルトのまま [Next] 。セキュリティを気にするなら変更するのもありです。

Advanced Optionsもそのまま [Next] 。

今まで設定したパラメータの確認画面が出てくるので、問題ないことを確認して [Next] 。

Installの準備が整ったので、いざ、[Next]を選択。

インストールが完了したら、FInishを押します。Stack Builderは外しておきました。

外部接続許可設定
以下のパスに移動します。
C:\Program Files\PostgreSQL\11\data
フォルダ内のpg_hba.confをテキストエディタで開きます。

ファイル内に許可するIPを記載します。以下は同一ネットワーク内の192.168.1.1を許可する例です。
# IPv4 local connections:
host all all 127.0.0.1/32 md5
#以下を追加
#IPv4 remote connections:
host all all 192.168.1.1/32 password
次に、編集したconfファイルを反映させるためにサービスを再起動します。windowsのサービスを立ち上げて(左下の検索画面で”サービス”を打つと出てきます)postgresqlを探します。
見つけたら選択し、左側にあるサービスの再起動をクリックします。左のメニューが出てこない場合は、サービスを立ち上げる際に、管理者として実行してみてください。

Firewall開放
コントロールパネル→システムとセキュリティ→Windows Defender ファイヤウォールと開き、詳細設定を選択します。

次に、受信の規則を選択します。

画面の右側にある、新しい規則を選択します。

新規の受信の規則ウィザードが立ち上がるので、ポートを選択して「次へ」。

TCP、特定のローカルポートを選択した状態でPostgreSQLのポートを記入します。(今回はPostgreSQLのデフォルトポートを使用するので5432です)

接続を許可するを選択した状態で「次へ」。

プロファイル選択画面がでます。今回はドメインは使わないためチェックは外して「次へ」。

Firewallの規則に名前が付けられますので、適当な名前を記入します。完了を押して終了。

ここまででPostgreSQL側の設定は終了です。
接続テスト
今回はa5m2というDBへの接続ツールを使って検証します。個人的にかなり重宝しているツールです。
A5M2:https://a5m2.mmatsubara.com/index.en.html
サーバー名にPostgreSQLの端末側のIPアドレスを入力し、データベース名、ユーザー名にPostgreSQLのデフォルトであるpostgresを入力し、「テスト接続」を押します。

無事接続できました。

まとめ
RDBMSのサーバーでもRDBMSが使われることが多いと思いますが、WindowsでもPostgreSQLのサーバーが構築できることが確認できました。