デフォルトでは、PostgreSQL データベース クラスターには、同じコンピューター上で実行されているクライアントのみが接続できます。リモート クライアントがデータベース クラスターに接続できるようにするには、PostgreSQL の pg_hba.conf 構成ファイルを変更します。
PostgreSQL がインストールされているオペレーティング システムに固有の手順に従ってください。
Linux サーバー上にインストールされた PostgreSQL
- pg_hba.conf ファイルを変更する前に、ファイルのバックアップ コピーを作成します。
- PostgreSQL postmaster がすでに実行中の場合は、pg_ctl stop コマンドを使用して停止します。
- テキスト エディターで pg_hba.conf ファイルを開きます。
- 接続クライアント コンピューターの IP アドレスと、接続時に使用するクライアント認証方法を追加します。
たとえば、有効なパスワードを指定するすべてのユーザーが、MD5 認証による接続を使用して 10.2.12 で始まるアドレスから habitat というデータベースに接続できるようにするには、pg_hba.conf ファイルに次の行を追加します。
host habitat all 10.2.12.0/24 md5
有効なパスワードを指定するすべてのユーザーが、100 で始まるアドレスから PostgreSQL インスタンスの任意のデータベースに接続できるようにするには、pg_hba.conf ファイルに次のような行を追加します。
host all all 100.0.0.0/8 md5
以上は IPV4 アドレスの場合の例です。IPV6 アドレスのコンピューターからの接続を受け入れるようにデータベース クラスターを設定する必要がある場合は、次のような形式になります。
host all all fe60::61f9:1253:c522:9b92%10/128 md5
fe60 で始まるアドレスのコンピューターが接続できるようにするには、pg_hba.conf ファイルに次の行を追加します。
host all all fe60::0000:0000:0000:0000%10/8 md5
PostgreSQL データベース クラスターが IPV6 アドレスを持つコンピューター上に設定されており、このアドレスに IPV4 アドレスを持つコンピューターを接続する場合は、pg_hba.conf ファイルの次の行をコメント解除する必要があります。
host all all ::1/128 md5
- pg_hba.conf ファイルを保存して閉じます。
- pg_ctl を使用して PostgreSQL postmaster を開始 (または再開) します。
Windows サーバー上にインストールされた PostgreSQL
pg_hba.conf ファイルは、テキスト エディターで直接開いて変更するか、PgAdminIII を使用して変更することができます。
- pg_hba.conf ファイルを変更する前に、ファイルのバックアップ コピーを作成します。
- pg_hba.conf ファイルを開くには、以下のいずれかの操作を行います。
- PgAdminIII を起動し、PostgreSQL インスタンスに postgres スーパーユーザーで接続し、データベースに接続し、[ツール] をクリックし、[サーバー構成] をポイントして、pg_hba.conf をクリックします。
- メモ帳などのテキスト エディターを起動して、PostgreSQL インストール ディレクトリにある pg_hba.conf ファイルを開きます。
- 接続クライアント コンピューターの IP アドレスと、接続時に使用するクライアント認証方法を追加します。
たとえば、有効なパスワードを指定するすべてのユーザーが、MD5 認証による接続を使用して 10.2.12 で始まるアドレスから habitat というデータベースに接続できるようにするには、pg_hba.conf ファイルに次の行を追加します。
host habitat all 10.2.12.0/24 md5
有効なパスワードを指定するすべてのユーザーが、100 で始まるアドレスから PostgreSQL インスタンスの任意のデータベースに接続できるようにするには、pg_hba.conf ファイルに次のような行を追加します。
host all all 100.0.0.0/8 md5
以上は IPV4 アドレスの場合の例です。IPV6 アドレスのコンピューターからの接続を受け入れるようにデータベース クラスターを設定する必要がある場合は、次のような形式になります。
host all all fe60::61f9:1253:c522:9b92%10/128 md5
fe60 で始まるアドレスのコンピューターが接続できるようにするには、pg_hba.conf ファイルに次の行を追加します。
host all all fe60::0000:0000:0000:0000%10/8 md5
PostgreSQL データベース クラスターが IPV6 アドレスを持つコンピューター上に設定されており、このアドレスに IPV4 アドレスを持つコンピューターを接続する場合は、pg_hba.conf ファイルの次の行をコメント解除する必要があります。
host all all ::1/128 md5
- ファイルに対して行った変更を保存して、ファイルを閉じます。