Adding Postgres extensions#
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