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

# Extensions for PostgreSQL Standalone

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

For PostgreSQL, newly created databases will have extensions enabled from the **template1** database.

After creating a database, you can check the enabled extensions by running:

```sql
\dx
```

or

```sql
select * from pg_extension;
```

Below is the list of extensions enabled by default:

| No | Name          | Description                                                         |
| -- | ------------- | ------------------------------------------------------------------- |
| 1  | plpgsql       | PL/pgSQL procedural language                                        |
| 2  | btree\_gin    | Support for indexing common datatypes in GIN                        |
| 3  | btree\_gist   | Support for indexing common datatypes in GiST                       |
| 4  | citext        | Data type for case-insensitive character strings                    |
| 5  | cube          | Data type for multidimensional cubes                                |
| 6  | dict\_int     | Text search dictionary template for integers                        |
| 7  | dict\_xsyn    | Text search dictionary template for extended synonym processing     |
| 8  | hstore        | Data type for storing sets of (key, value) pairs                    |
| 9  | isn           | Data types for international product numbering standards            |
| 10 | lo            | Large Object maintenance                                            |
| 11 | ltree         | Data type for hierarchical tree-like structures                     |
| 12 | pg\_trgm      | Text similarity measurement and index searching based on trigrams   |
| 13 | postgis       | PostGIS geometry, geography, and raster spatial types and functions |
| 14 | postgres\_fdw | Foreign-data wrapper for remote PostgreSQL servers                  |
| 15 | unaccent      | Text search dictionary that removes accents                         |
| 16 | vector        | Vector data type and ivfflat and hnsw access methods                |

**Note:** If you want to create a completely blank database, use **template0**.

```sql
CREATE DATABASE dbname TEMPLATE template0;
```

## 2. Extensions You Can Enable Manually

You can enable an Extension by running:

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

| Name                     | Description                                                                              |
| ------------------------ | ---------------------------------------------------------------------------------------- |
| fuzzystrmatch            | Determine similarities and distance between strings                                      |
| intarray                 | Functions, operators, and index support for 1-D arrays of integers                       |
| pgcrypto                 | Cryptographic functions                                                                  |
| postgis\_tiger\_geocoder | PostGIS tiger geocoder and reverse geocoder (requires fuzzystrmatch to be enabled first) |
| seg                      | Data type for representing line segments or floating-point intervals                     |
| tablefunc                | Functions that manipulate whole tables, including crosstab                               |
| tcn                      | Triggered change notifications                                                           |
| 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                         |
| uuid-ossp                | Generate universally unique identifiers (UUIDs)                                          |

***

## 3. Notes

* The **vector** extension is only available for vDB instances created from **01/08/2024** onwards.
* To enable it on instances created before that date, please contact **GreenNode Cloud Support**.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.vngcloud.vn/vng-cloud-document/vdb/relational-database-service-rds/postgresql-standalone/vdb-postgresql-standalone-extensions.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
