Creating Postgres databases
===========================

デプロイ中にPostgresデータベースを作成するには、
config.ymlの\ ``cluster_vars`` または特定のインスタンスの\ ``vars``
の下の\ ``postgres_databases`` のリストにエントリを追加します。

.. code:: yaml

   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``
ですが、任意の有効なユーザー名に設定できます :ref:`Creating Postgres users <Creating Postgres users>` のユーザー

この時点で作成されています）。

``encoding`` 、\ ``lc_collate`` 、および\ ``lc_ctype``
値は、デフォルトでinitdbの実行時に設定された\ ``postgres_locale``
になりますデフォルトは、ターゲットシステムのLC_ALLまたはLANG設定を使用します。デフォルト以外のロケール設定でデータベースを作成する場合、\ ``template: template0``
も指定する必要があります。

オプションで、データベースのデフォルトの\ ``tablespace``
を指定できます。表領域は既に存在する必要があります
:ref:`Creating Postgres tablespaces <Creating Postgres tablespaces>` を参照してください。

``extensions`` および\ ``languages``
のオプションのリストを指定して、各データベース内で作成することができますテンプレートデータベースから継承した拡張機能または言語に加えて。必要なパッケージは、たとえば
:ref:`Installing Postgres-related packages <Installing Postgres-related packages>` 
に含めることにより、既にインストールされている必要があります。

TPAは、 ``postgres_databases``
で言及されていない既存のデータベースをドロップせず、必要に応じて追加のデータベースを作成する場合がありますBDRなど。
