pgadminなど、外部からPostgreSQLに接続しようとして接続できない場合、いくつかの設定ファイルで設定値を追加、変更の必要があります。以下の設定例に従って値を変更してみてください。
この設定例は、セキュリティを考慮しないPCのローカル環境を想定した設定例です。それ以外の環境で設定する場合、マニュアルで適切な設定方法を確認してください。
PostgreSQL 設定ファイルの変更
PostgreSQL サーバーがリモート接続を許可するように設定を変更します。
PostgreSQL の設定ファイル (postgresql.conf) を開き、listen_addressesはデフォルトでは localhost になっているため、を以下のように設定します
listen_addresses = '*'
pg_hba.conf の編集
pg_hba.conf ファイルを編集して、リモートクライアントの接続を許可します。
host all all 0.0.0.0/0 md5
host all all ::/0 md5
上の行がIPv4アドレス、下の行がIPv6のアドレスの設定です。設定は順番に
- host: TCP/IP 接続を許可する
- all (データベース): すべてのデータベースへの接続を許可
- all (ユーザー): すべてのユーザーによる接続を許可
- 0.0.0.0/0(::/0): すべての IPv4(IPv6) アドレス範囲
- md5: パスワード認証方式
PostgreSQL サービスの再起動
上記設定を行い、サービスの再起動を行います。
sudo systemctl restart postgresql