Adding Postgres extensions
==========================

デフォルトのPostgres拡張機能
----------------------------

デフォルトでは、TPAは次の拡張機能をすべてのPostgresデータベースに追加しますおよび必要に応じて、対応するエントリを共有プリロードライブラリに自動的に追加します

- pg_stat_statements

- pg_freespacemap

- pg_visibility

- pageinspect

- pgstatus

ユーザー定義の拡張機能
----------------------

拡張機能名、必要な共有プリロードエントリ、および拡張機能を含むパッケージを指定することにより、\ ``config.yml``
内で追加の拡張機能を構成できます。

拡張機能を追加するときは、パッケージ名を\ ``extra_postgres_packages``
に含め、拡張機能名の両方を\ ``extra_postgres_extensions``
または\ ``postgres_databases``
の下で定義されたデータベースの\ ``extensions`` リストに含めてください。

拡張機能が必要な場合は、拡張機能の共有プリロードエントリ名を\ ``preload_extensions``
リストに追加します。この名前は拡張機能名自分自身とは異なる場合があることに注意してください、拡張機能自分自身のドキュメントを必ず確認してください。

次に、拡張機能とライブラリ名の別のエントリを使用して共有プリロード拡張機能リストに追加する必要がある拡張機能の簡単な例を示します。

.. code:: yaml

   cluster_vars:
     [...]
     extra_postgres_packages:
       - postgresql-17-my-extension
     extra_postgres_extensions:
       - my-extension
     preload_extensions:
       -  my_extension

以下のセクションでは、詳細な情報を提供します。

- :ref:`Reconciling changes made outside of TPA <Reconciling changes made outside of TPA>` 

- :ref:`Creating Postgres databases <Creating Postgres databases>` 

- :ref:`shared_preload_libraries <shared_preload_libraries>` 

- :ref:`Installing Postgres-related packages <Installing Postgres-related packages>` 

TPA認識される拡張機能
---------------------

次の拡張機能のリストでは、 ``config.yml`` ``extra_postgres_extensions``
または ``postgres_databases`` で指定されたデータベースの\ ``extensions``
リストのいずれかに拡張機能名を追加するだけでよく、TPAは自動的に正しいパッケージと必要なエントリをshared_preload_librariesに含めます。

- edb_pg_tuner

- query_advisor

- edb_wait_states

- sql_profiler

- pg_failover_slots

- sql_protect

- edb_stat_monitor

- オートクラスター

- refdata

- ブルーフィン

- postgis

- pgaudit

- パスワードチェック
