すでに説明したpostgresql.confファイルに加え、PostgreSQLは、(19章クライアント認証で使用方法が説明されている)クライアント認証の管理を行うために、他の2つの手作業で編集される設定ファイルを使用します。
全ての3つの設定ファイルは、デフォルトではデータベースクラスタのdataディレクトリに格納されます。
本節で説明するパラメータにより、設定ファイルを何処にでも置くことが可能です。
(そのようにすると管理がしやすくなります。
具体的には、設定ファイルを分けて保存することで、設定ファイルの適切なバックアップを確実に行うことが容易になります。)
data_directory (string)
データ格納に使用するディレクトリを指定します。 このパラメータはサーバ起動時のみ設定可能です
config_file (string)
メインサーバ設定ファイルを指定します(通例postgresql.confと呼ばれます)。
このパラメータはpostgresコマンドライン上でのみ設定可能です。
hba_file (string)
ホストベース認証(HBA)用のファイルを指定します(通例pg_hba.confと呼ばれます)。
このパラメータはサーバ起動時のみ設定可能です。
ident_file (string)
19.2. ユーザ名マップユーザ名マッピングの設定ファイルを指定します(通例pg_ident.confと呼ばれます)。このパラメータはサーバ起動時のみ設定可能です。
external_pid_file (string)
サーバ管理プログラムの使用のためにサーバが作成しなくてはならない、追加のプロセス識別子(PID)ファイルの名前を指定します。 このパラメータはサーバ起動時のみ設定可能です。
デフォルトのインストールでは、上記のいかなるパラメータも明示的に設定されません。
その代わり、data ディレクトリは-Dコマンドラインオプション、またはPGDATA環境変数で指定され、設定ファイル全てはその data ディレクトリ内に格納されます。
dataディレクトリ以外の場所に設定ファイルを格納したいのであれば、postgresの-Dコマンドラインオプション、またはPGDATA環境変数で設定ファイルの場所を指し示し、そしてdataディレクトリが実際どこに存在するのかを示すため、postgresql.confの(もしくはコマンドライン上で)data_directoryパラメータを設定しなければなりません。
data_directoryは、設定ファイルの場所ではなく、data ディレクトリの位置に関して、-DおよびPGDATAを上書きすることに注意してください。
必要に応じて、パラメータconfig_file、hba_file、そして/もしくは ident_fileを使用し、設定ファイルの名前と場所を個別に指定することができます。
config_fileはpostgresコマンドラインによってのみ指定されますが、その他は主設定ファイル内で設定できます。
全ての3つのパラメータとdata_directoryが明示的に設定されていれば、-DまたはPGDATAを指定する必要はありません。
これらのパラメータのいずれかを設定する場合、相対パスは、postgresが起動されるディレクトリから見た相対パスとして解釈されます。