> For the complete documentation index, see [llms.txt](https://docs.greennode.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.greennode.ai/vdb/relational-database-service-rds/postgresql-cluster/vdb-postgresql-cluster-extensions.md).

# Extensions for PostgreSQL Cluster

PostgreSQL is renowned for its flexibility. You can extend its core functionality with various Extensions.

By default, when you create a database with vDB PostgreSQL, several extensions are already enabled (listed below). You can also manually enable additional extensions as needed.

***

## 1. Extensions Enabled by Default

The following extensions are automatically installed on every database in the Cluster upon initialization. You do not need to run `CREATE EXTENSION` to use them.

| Name                 | Version | Description                                                   |
| -------------------- | ------- | ------------------------------------------------------------- |
| plpgsql              | 1.0     | PL/pgSQL procedural language                                  |
| pg\_stat\_statements | 1.11    | Track execution statistics of all SQL statements executed     |
| pg\_stat\_kcache     | 2.3.1   | Track kernel-level cache statistics (reads, writes) per query |

## 2. Extensions You Can Enable Manually

You can enable the following extensions with `CREATE EXTENSION` without superuser privileges.

```sql
CREATE EXTENSION <extension_name>;
```

| Name                     | Version | Description                                                          |
| ------------------------ | ------- | -------------------------------------------------------------------- |
| btree\_gin               | 1.3     | Support for indexing common datatypes in GIN                         |
| btree\_gist              | 1.7     | Support for indexing common datatypes in GiST                        |
| citext                   | 1.6     | Data type for case-insensitive character strings                     |
| cube                     | 1.5     | Data type for multidimensional cubes                                 |
| dict\_int                | 1.0     | Text search dictionary template for integers                         |
| dict\_xsyn               | 1.0     | Text search dictionary template for extended synonym processing      |
| earthdistance            | 1.2     | Calculate great-circle distances on the surface of the Earth         |
| fuzzystrmatch            | 1.2     | Determine similarities and distance between strings                  |
| hstore                   | 1.8     | Data type for storing sets of (key, value) pairs                     |
| intarray                 | 1.5     | Functions, operators, and index support for 1-D arrays of integers   |
| isn                      | 1.2     | Data types for international product numbering standards             |
| lo                       | 1.1     | Large Object maintenance                                             |
| ltree                    | 1.3     | Data type for hierarchical tree-like structures                      |
| pg\_partman              | 5.4.3   | Manage time-based and serial-based table partition sets              |
| pg\_permissions          | 1.3     | View object permissions and compare them with the desired state      |
| pg\_repack               | 1.5.3   | Reorganize tables in PostgreSQL databases with minimal locks         |
| pg\_trgm                 | 1.6     | Text similarity measurement and index searching based on trigrams    |
| pgaudit                  | 17.1    | Provides detailed session and/or object audit logging                |
| pgcrypto                 | 1.3     | Cryptographic functions                                              |
| pltcl                    | 1.0     | PL/Tcl procedural language                                           |
| postgis                  | 3.6.3   | PostGIS geometry, geography, and raster spatial types and functions  |
| postgis\_raster          | 3.6.3   | PostGIS raster types and functions                                   |
| postgis\_tiger\_geocoder | 3.6.3   | PostGIS tiger geocoder and reverse geocoder                          |
| postgis\_topology        | 3.6.3   | PostGIS topology spatial types and functions                         |
| postgres\_fdw            | 1.1     | Foreign-data wrapper for remote PostgreSQL servers                   |
| seg                      | 1.4     | Data type for representing line segments or floating-point intervals |
| set\_user                | 4.1.0   | Set user session context with optional logging                       |
| tablefunc                | 1.0     | Functions that manipulate whole tables, including crosstab           |
| tcn                      | 1.0     | Triggered change notifications                                       |
| timescaledb              | 2.27.1  | Enables scalable inserts and complex queries for time-series data    |
| tsm\_system\_rows        | 1.0     | TABLESAMPLE method which accepts number of rows as a limit           |
| tsm\_system\_time        | 1.0     | TABLESAMPLE method which accepts time in milliseconds as a limit     |
| unaccent                 | 1.1     | Text search dictionary that removes accents                          |
| uuid-ossp                | 1.1     | Generate universally unique identifiers (UUIDs)                      |
| vector                   | 0.8.2   | Vector data type and ivfflat and hnsw access methods                 |

***
