Adding Postgres extensions v23.39.0

Default Postgres extensions

By default, TPA adds the following extensions to every Postgres database (and if needed, automatically adds the corresponding entries into shared preload libraries)

  • pg_stat_statements
  • pg_freespacemap
  • pg_visibility
  • pageinspect
  • pgstattuple

User defined extensions

Additional extensions can be configured within config.yml, by specifying the extension name, any required shared preload entries and the package containing the extension.

When adding extensions, be sure to include both the package name to extra_postgres_packages and the extension name under extra_postgres_extensions (or to the extensions list of a database defined under postgres_databases).

If the extension requires, add the shared preload entry name for the extension to the preload_extensions list. Note this name may differ from the extension name itself, so be sure to check the extension's own documentation.

Here is a quick example for an extension that requires to be added to the shared preload extension list with a different entry for extension and library name.

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

The following sections provide further information.

TPA recognized extensions

The following list of extensions only require the extension name to be added in config.yml (either to extra_postgres_extensions OR to the extensions list of a database specified in postgres_databases) and TPA will automatically include the correct package and any required entries to shared_preload_libraries.

  • edb_pg_tuner
  • query_advisor
  • edb_wait_states
  • sql_profiler
  • pg_failover_slots
  • sql_protect
  • edb_stat_monitor
  • autocluster
  • refdata
  • bluefin
  • postgis
  • pgaudit
  • passwordcheck