すでに説明したpostgresql.confファイルに加え、PostgreSQLは、クライアント認証の管理を行うために、他の2つの手作業で編集される設定ファイルを使用します(これらの使用方法は第20章で説明します)。
全ての3つの設定ファイルは、デフォルトではデータベースクラスタのdataディレクトリに格納されます。
本節で説明するパラメータにより、設定ファイルを他の場所に置くことが可能になります。
(そのようにすると管理がしやすくなります。
とりわけ、設定ファイルを分けて保存することで、設定ファイルの適切なバックアップを確実に行うことがしばしば容易になります。)
data_directory (string)
データ格納に使用するディレクトリを指定します。 このパラメータはサーバ起動時のみ設定可能です
config_file (string)
メインサーバ設定ファイルを指定します(通例postgresql.confと呼ばれます)。
このパラメータはpostgresコマンドライン上でのみ設定可能です。
hba_file (string)
ホストベース認証(HBA)用のファイルを指定します(通例pg_hba.confと呼ばれます)。
このパラメータはサーバ起動時のみ設定可能です。
ident_file (string)
ユーザ名マッピングの設定ファイルを指定します(通例pg_ident.confと呼ばれます)。
このパラメータはサーバ起動時のみ設定可能です。
20.2もご覧ください。
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が起動されるディレクトリから見た相対パスとして解釈されます。