Skip to main content

Extensions on Aiven for PostgreSQL®

The following PostgreSQL® extensions are available. Please note that some of the extensions have dependencies and they need to be created in the proper order. Some extensions may require disconnecting the client connection and reconnecting before they are fully available.

To check the details, including the version number of the extension, run select * from pg_available_extensions in your Aiven for PostgreSQL server.


Not all extensions listed in pg_available_extensions are able to be installed. See Superuser-only Extensions for more.

Data types

  • chkpass. Data type for auto-encrypted passwords. PG10 only
  • citext. Data type for case-insensitive character strings.
  • cube. Data type for multidimensional cubes.
  • hll. Type for storing hyperloglog data. PG11 and newer
  • hstore. Data type for storing sets of (key, value) pairs.
  • isn. Data types for international product numbering standards.
  • ltree. Data type for hierarchical tree-like structures.
  • pgvector. Type for vector similarity search. PG13 and newer
  • seg. Data type for representing line segments or floating-point intervals.
  • timescaledb. Enables scalable inserts and complex queries for time-series data.
  • unit. SI units extension.
  • uuid-ossp. Generate universally unique identifiers (UUIDs).

Search and text handling

  • bloom. Bloom access method - signature file based index.
  • btree_gin. Support for indexing common data types in GIN.
  • btree_gist. Support for indexing common data types in GiST.
  • dict_int. Text search dictionary template for integers.
  • fuzzystrmatch. Determine similarities and distance between strings.
  • pg_similarity. Support similarity queries. PG13 and newer
  • pg_trgm. Text similarity measurement and index searching based on trigrams.
  • pgcrypto. Cryptographic functions.
  • rum. RUM index access method.
  • unaccent. Text search dictionary that removes accents.


  • tcn. Triggered change notifications.

Geographical features

Procedural language

  • plcoffee. PL/CoffeeScript (v8) trusted procedural language. PG10 only
  • plls. PL/LiveScript (v8) trusted procedural language. PG10 only
  • plperl. PL/Perl procedural language.
  • plpgsql. PL/pgSQL procedural language.
  • plv8. PL/JavaScript (v8) trusted procedural language. PG10 only


  • dblink. Connect to other PostgreSQL databases from within a database.
  • postgres_fdw. Foreign-data wrapper for remote PostgreSQL servers.


  • aiven_extras. This extension is meant for use in environments where you want non-superusers to be able to use certain database features.
  • bool_plperl. Transform between bool and plperl. PG13 and newer
  • intagg. Integer aggregator and enumerator (obsolete).
  • intarray. Functions, operators, and index support for 1-D arrays of integers.
  • jsonb_plperl. Transform between jsonb and plperl.
  • lo. Large Object maintenance.
  • pageinspect. Inspect the contents of database pages at a low level.
  • pg_buffercache. Examine the shared buffer cache.
  • pg_cron. Job scheduler for PostgreSQL.
  • pg_partman. Extension to manage partitioned tables by time or ID.
  • pg_prewarm. Prewarm relation data. PG11 and newer
  • pg_prometheus. Prometheus metrics for PostgreSQL. PG12 and earlier
  • pg_repack. Reorganize tables in PostgreSQL databases with minimal locks.
  • pg_stat_statements. Track planning and execution statistics of all SQL statements executed.
  • pgrowlocks. Show row-level locking information.
  • pgstattuple. Show tuple-level statistics.
  • sslinfo. Information about SSL certificates.
  • tablefunc. Functions that manipulate whole tables, including crosstab.
  • timetravel. Functions for implementing time travel. PG11 and earlier
  • tsm_system_rows. TABLESAMPLE method which accepts number of rows as a limit.
  • tsm_system_time. TABLESAMPLE method which accepts time in milliseconds as a limit.

Superuser-only extensions

The following extensions can only be installed by superusers, and are not generally available.

  • amcheck. Functions for verifying relation integrity.
  • autoinc. Functions for auto-incrementing fields.
  • bool_plperlu. Transform between bool and plperlu. PG13 and newer
  • dict_xsyn. Text search dictionary template for extended synonym processing.
  • file_fdw. Foreign-data wrapper for flat file access.
  • hstore_plperl. Transform between hstore and plperl.
  • hstore_plperlu. Transform between hstore and plperlu.
  • insert_username. Functions for tracking who changed a table.
  • jsonb_plperlu. Transform between jsonb and plperlu.
  • moddatetime. Functions for tracking last modification time.
  • old_snapshot. Utilities in support of old_snapshot_threshold. PG14 only
  • pageinspect. Inspect the contents of database pages at a low level.
  • pg_freespacemap. Examine the free space map (FSM).
  • pg_surgery. Extension to perform surgery on a damaged relation. PG14 only
  • pg_visibility. Examine the visibility map (VM) and page-level visibility info.
  • plperlu. PL/PerlU untrusted procedural language.
  • refint. Functions for implementing referential integrity (obsolete).