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 の実行後に生成された構成ファイルを新しい場所に移動します。