18.3 リモートPostgreSQLデータベースへの接続

PostgreSQLデータベースが別のサーバにインストールされている場合は、リモートデータベースのpostgresql.confおよびpg_hba.confファイルのデフォルト設定を変更する必要があります。

  1. postgresql.confファイルのリスニングアドレスを変更します。

    デフォルトでは、PostgreSQLでlocalhost接続をリスンできます。リモートTCP/IP接続は許可されません。リモートTCP/IP接続を許可するには、C:\NetIQ\idm\apps\postgres\data\postgresql.confファイルに次のエントリを追加します。

    listen_addresses = '*'

    サーバ上に複数のインタフェースがある場合は、リスンされる特定のインタフェースを指定できます。

  2. pg_hba.confファイルにクライアント認証エントリを追加します。

    デフォルトでは、PostgreSQLはlocalhostからの接続のみを受け入れます。リモート接続は拒否します。これは、有効なパスワード(md5キーワード)を入力したユーザにはIPアドレスからのログインを許可する、アクセス制御ルールを適用することによって制御されます。リモート接続を受け入れるには、C:\NetIQ\idm\apps\postgres\data\pg_hba.conffファイルに次のエントリを追加します。

    host all all 0.0.0.0/0 md5

    たとえば、192.168.104.24/26 trustです。

    これはIPv4アドレスでのみ機能します。IPv6アドレスの場合、次のエントリを追加します。

    host all all ::0/0 md5

    特定のネットワーク上にある複数のクライアントコンピュータからの接続を許可する場合は、このエントリにCIDRアドレス形式でネットワークアドレスを指定します。

    pg_hba.confファイルは、次のクライアント認証形式をサポートしています。

    • ローカルデータベースユーザ認証方法[認証オプション]

    • ホストデータベースユーザCIDRアドレス認証方法[認証オプション]

    • hostsslデータベースユーザCIDRアドレス認証方法[認証オプション]

    • hostnosslデータベースユーザCIDRアドレス認証方法[認証オプション]

    CIDRアドレス形式の代わりに、次の形式を使用して別のフィールドにIPアドレスとネットワークマスクを指定できます。

    • ホストデータベースユーザIPアドレスIPマスク認証方法[認証オプション]

    • hostsslデータベースユーザIPアドレスIPマスク認証方法[認証オプション]

    • hostnosslデータベースユーザIPアドレスIPマスク認証方法[認証オプション]

  3. リモート接続をテストします。

    1. リモートPostgreSQLサーバを再起動します。

    2. ユーザ名とパスワードを使用してリモートでサーバにログインします。