【PostgreSQL】他のPCから接続する設定を解説します(Windows)
接続設定の方法
ここではPostgreSQLの「他のPCから接続できるための設定の仕方」を説明します。
PostgreSQLのインストール後の初期設定として参考にして下さい。
尚、変更点は2つあり、2つとも必要です。
※ また、自分のPC(ローカル環境)で接続するには、この設定は必要ありません。
1.postgresql.confの設定
①「postgresql.conf」を開く
postgresql.confというファイルを見つけ、メモ帳(などのエディタ)で開きます。
ファイルは初期フォルダでは次の場所にあります。『C:\Program Files\PostgreSQL\13\data』
※ メモ帳で開くには、あらかじめメモ帳を開いておき、
postgresql.confファイルをメモ帳にドラッグ&ドロップすると簡単に開きます。
②1行だけ内容を変更する。
postgresql.confの59行目(バージョンによって違うかもしれません)くらいに、
listen_addressの記述がある行があるので、そこを編集していきます。
(このファイルで、listen_addressの記述は1か所しかありません。)
結果からいうと、変更後の値が「listen_addresses = '*'」になるようにします。
すでにこの状態になっている場合は、この編集操作は必要ありません。
変更点1:先頭に#があったら削除する
変更点2:''の中は、半角のアスタリスク'*'にする
「# what IP …」の箇所はコメントなのでそのままでOKです。
-- 変更前の値
#listen_addresses = 'localhost'
↓
-- 変更後の値(すでにこれになっていた場合は、変更なしでOK)
listen_addresses = '*' # what IP address(es) to listen on;
2.pg_hba.confの設定
2つ目は「pg_hba.conf」の設定です。
①「pg_hba.conf」を開く
pg_hba.confの場所は、この上で紹介しているpostgresql.confと同じ場所にあります。
②「pg_hba.conf」を編集する
基本的に変更するのは、IPの箇所のみで大丈夫だと思います。
「host all all」の箇所と、md5の箇所は初期値のままでOKです。
※ md5のところは認証方式
ここで紹介している変更後の例は、どのIPでも接続可の設定です。
オンプレの社内テスト環境のような場合であれば、これでもOKかと思います。
-- 変更前
# IPv4 local connections:
host all all 127.0.0.1/32 md5
↓
-- 変更後(1行追加)
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
※ PostgreSQL13(もしかしたら他のバージョンでも)では、上の例で「md5」となっている所が、
「scram-sha-256」となっていると思います。
scram-sha-256認証は、以前からある md5 認証よりも安全なものです。
ただし古いバージョンのPostgreSQLでは使用できない点が注意です。
3.PostgreSQLの再起動
設定後、それでも接続がうまくいかない場合は、PostgreSQLの再起動をしてみて下さい。
再起動の方法は、こちらで説明しています。