pg_ident.confファイルの設定方法

pg_ident.conf ファイルは クライアントの認証の方式として Ident 認証 を使用する場合に、 ident のユーザー名を PostgreSQL のロール名にマッピングするために使用するファイルです。ここでは PostgreSQL の環境で pg_ident.conf ファイルを設定する方法について解説します。

(Last modified: )

pg_ident.confファイルの場所

pg_ident.conf は postgresql.conf と同じくデフォルトでは PostgreSQL をインストールしたディレクりの中の data ディレクトリの中に格納されています。

pg_ident.confファイルの場所(1)

pg_ident.conf ファイルはテキストファイルですので内容を確認したり編集したりする場合はテキストエディタでファイルを開いてください。

pg_ident.confファイルの場所(2)

pg_ident.confの設定

pg_ident.conf ファイルの最後を見て頂くと次のような個所があります。

# Put your actual configuration here
# ----------------------------------

# MAPNAME       SYSTEM-USERNAME         PG-USERNAME

現在は何も設定が追加されていない状態です。マッピングを追加する場合、 MAPNAME にマッピングに対する任意の名前を設定し、 SYSTEM-USERNAME に ident のユーザー名、そして PG-USERNAME にPostgreSQL のロール名を指定します。例えば次のように記述します。

# Put your actual configuration here
# ----------------------------------

# MAPNAME       SYSTEM-USERNAME         PG-USERNAME
mymap           nancy                   tom

そして「pg_hba.confファイルの設定方法」で説明した pg_hba.conf ファイルに次のような記述を行います。

host  all  all  127.0.0.1/32   ident map=mymap

先ほどマッピングを追加する時に指定した MAPNAME を指定しています。

これで ident で nancy として認証されたユーザーが tom として PostgreSQL に接続が許可されます。

ただ私の環境では実際にテストすることができなかったので、正しく設定できているのか検証はできていません。

-- --

pg_ident.conf の設定方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。