サーバーエラー: No pg_hba.conf Entry for Host

このエントリでは、PostgreSQL データベースにリモート接続しようとした際に発生するこのエラーの解決方法をご紹介します。

Date Entered: 3/18/2020    Last Updated: 3/18/2020    Author: Garrett Bird

CData が提供する PostgreSQL コネクタを使用している場合、リモートの PostgreSQL データベースに初めて接続する際に、以下のようなエラーが発生することがあります。

Server error: no pg_hba.conf entry for host "10.0.1.128", user "postgres", database "postgres", SSL off Connection was forcibly closed

このエラーは、ローカルの PostgreSQL インスタンスの Server 接続プロパティに「localhost」ではなく実際の IP アドレスを指定した場合にも発生する可能性があります。いずれの場合も、PostgreSQL インスタンス自体にアクセスできるか、管理者に連絡できれば、すぐに解決できます。以下の手順で、お使いのマシンからサーバーへのリモート接続を有効にしてみてください。

  1. ファイルエクスプローラーで、PostgreSQL インストールディレクトリの「data」フォルダに移動します。Windows システムでは、通常 C:\Program Files\PostgreSQL\10\data のようなパスになります(番号付きのフォルダは PostgreSQL のバージョンによって異なります)。
  2. このディレクトリ内に「pg_hba.conf」というファイルがあります。このファイルをお好みのテキストエディタで開いてください。
  3. ファイルを開いたら、ファイルの下部に以下の行を追加します。特に、「IPv4 local connections」グループ内に配置してください(指定する IP アドレスは、接続元のマシンの IP アドレスです)。
    host    all             all             10.0.1.128/32           md5
  4. 変更を保存してファイルを閉じます。次に、マシン上でサービスウィンドウを開きます。
  5. 現在実行中のサービス一覧から、PostgreSQL サーバーのサービスを見つけて再起動します。これにより、conf ファイルで行った変更が PostgreSQL サーバーに適用されます。

上記の手順が完了すると、CData が提供するコネクタを使用して、お使いのマシンから PostgreSQL サーバーにリモートでクエリを実行できるようになります。


We appreciate your feedback.  If you have any questions, comments, or suggestions about this entry, please contact our support team at support@cdata.co.jp.