Running initdb¶
TPAは、存在しない場合は最初にpostgres_data_dir
を作成し、正しい所有権、アクセス許可、およびSELinuxコンテキストがあることを確認します。次に、ディレクトリにVERSION
ファイルが既に含まれていない限り、 initdb
を実行してpostgres_data_dir を初期化します。
pre-initdb hook を使用できます
postgres_data_dir が作成され、initdb
が実行される前にタスクを実行します。フックがpostgres_data_dir
を初期化する場合、TPAはVERSION ファイルを見つけ、initdb
自分自身を実行する必要がないことを認識します。
オプションでpostgres_initdb_opts をinitdb
に渡すオプションのリストに設定できます。
cluster_vars:
postgres_locale: de_DE.UTF-8
postgres_initdb_opts:
- --data-checksums
--data-checksums
オプション(デフォルトで含まれています)を常に含めることをお勧めします。
TPAは、initdb を実行するときに、環境にTZ=UTC
を設定し、LC_ALL を指定したpostgres_locale に設定します。
別の構成ディレクトリ¶
デフォルトでは、 postgres_conf_dir はpostgres_data_dir
と等しく、Postgres構成ファイル(postgresql.conf、pg_ident.conf、pg_hba.conf、およびconf.dのインクルードファイル)がデータディレクトリ内に作成されます。
postgres_conf_dir を変更すると、TPAはinitdb
の実行後に生成された構成ファイルを新しい場所に移動します。