【PostgreSQL】他のPCから接続する設定を解説します(Windows)

2021年8月8日PostgreSQLその他

接続設定の方法

ここでは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の再起動をしてみて下さい。

再起動の方法は、こちらで説明しています。