Creating Postgres databases#
デプロイ中にPostgresデータベースを作成するには、
config.ymlのcluster_vars または特定のインスタンスのvars
の下のpostgres_databases のリストにエントリを追加します。
cluster_vars:
postgres_databases:
- name: exampledb
- name: complexdb
owner: example
encoding: UTF8
lc_collate: de_DE.UTF-8
lc_ctype: de_DE.UTF-8
template: template0
extensions:
- name: hstore
- name: dblink
languages:
- name: plperl
- name: plpython
tablespace: exampletablespace
上記の例では、2つのデータベースを作成しますbdr_database
など、TPA自分自身が作成することを決定したデータベースとは別に。
各エントリは、作成するデータベースのname
を指定する必要があります。他のすべての属性はオプショナル。
owner はデフォルトでpostgres
ですが、任意の有効なユーザー名に設定できます Creating Postgres users のユーザー
この時点で作成されています)。
encoding 、lc_collate 、およびlc_ctype
値は、デフォルトでinitdbの実行時に設定されたpostgres_locale
になりますデフォルトは、ターゲットシステムのLC_ALLまたはLANG設定を使用します。デフォルト以外のロケール設定でデータベースを作成する場合、template: template0
も指定する必要があります。
オプションで、データベースのデフォルトのtablespace
を指定できます。表領域は既に存在する必要があります
Creating Postgres tablespaces を参照してください。
extensions およびlanguages
のオプションのリストを指定して、各データベース内で作成することができますテンプレートデータベースから継承した拡張機能または言語に加えて。必要なパッケージは、たとえば
Installing Postgres-related packages
に含めることにより、既にインストールされている必要があります。
TPAは、 postgres_databases
で言及されていない既存のデータベースをドロップせず、必要に応じて追加のデータベースを作成する場合がありますBDRなど。