PostgreSQLを外部から接続できるようにする

PostgreSQL

概要

PostgreSQLのデータベースに、他のPCから接続するための設定について説明します。
設定を変更するには、以下の2つのファイルを編集します。

  • postgresql.conf
  • pg_hba.conf

どちらのファイルもデータベースクラスタのあるフォルダ内にあります。
なお、今回は以下の環境で確認しています。

OSWindows 11
バージョンPostgreSQL 16.4

postgresql.confの編集

「postgresql.conf」の場所ですが、データベースクラスタのあるフォルダにあります。
今回確認した環境ではインストール時にデフォルトから変更しなかったので「C:\Program Files\PostgreSQL\16\data」にありました。

メモ帳などのエディタでファイルを開き、「listen_addresses」を「’*’」にします。
すでに「’*’」となっている場合は編集する必要はありません。
1文字目が「#」でコメントになっている場合は「#」を削除して有効にしてください。

listen_addresses = '*'		# what IP address(es) to listen on;

今回確認した環境では、以下のような感じです。

postgresql.conf listen_addresses

pg_hba.confの編集

「pg_hba.conf」の場所は、「postgresql.conf」と同じ場所にあります。

メモ帳などのエディタでファイルを開きます。
ファイルの末尾付近に外部からの接続を許可するための設定を追加します。
以下の例では「192.168」で始まるIPアドレス(192.168.0.0/16のセグメント)に存在するクライアントから全てのロールで全てのデータベースへの接続を許可しています。(この例では認証方式は「scram-sha-256」となっていますが、各環境に合わせてください)

host    all             all             192.168.0.0/16          scram-sha-256

今回確認した環境では以下の通りです。
(認証方式はこの環境では「md5」となっています。)

pg_hba.conf  外部接続設定

サービスの再起動

設定ファイルを変更したら、サービスを再起動してください。
設定が反映され、外部から接続可能となります。

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