Creating Postgres databases

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など。