--- title: "Add extensions" description: "Add PostgreSQL extensions such as pgvector to a TIR DBaaS database, when you create it or later from Edit, and see which extensions are on offer." content_type: "how-to" product: "tir-dbaas" platform: "TIR" url: "/tir/tir-dbaas/how-to/add-extensions/" topic: ["configure"] --- # Add extensions Extensions add features to PostgreSQL, such as vector similarity search with pgvector. Choose them when you create a database, and add more later from **Edit**. The database keeps running while you add any of the extensions on offer. ## Before you begin - A TIR project in Chennai, where DBaaS is offered. - The DBaaS create permission to choose extensions on a new database, or the update permission to add them to an existing one. See [TIR Access Control](/tir/tir-iam/). - A database in the **Running** state, if you are adding extensions to an existing one. ## Extensions you can add | Extension | What it adds | | ------------------ | ------------------------------------------------- | | pg_stat_statements | Statistics on how queries run | | vector | pgvector, vector similarity search for embeddings | | pg_trgm | Trigram matching for fuzzy text search | | uuid-ossp | Functions that generate UUIDs | | pgcrypto | Cryptographic functions | | hstore | Key and value pairs in a single column | | citext | A case-insensitive text type | | btree_gin | GIN index support for common types | | btree_gist | GiST index support for common types | | ltree | A data type for hierarchical, tree-like data | | unaccent | A text search dictionary that removes accents | pg_stat_statements is installed on every database, whatever you choose. ## Choose extensions when you create a database On the **Create Database** page, open **Advanced Settings** and use **Extensions**. pg_stat_statements and vector are already chosen. To add another, choose it in **Select extensions**; **Search extensions** finds one by name. The extensions you choose are installed in `defaultdb`, the database that the connection details point to, when the database is created. For the rest of the create page, see [Create a database](/tir/tir-dbaas/how-to/create-a-database/). ## Add extensions to an existing database 1. Choose **Edit** in the database's row menu on the **Manage Databases** list, or in the three-dot menu on its details page. While the database is **Running**, **Extensions** under **Configuration** on the **Overview** tab also has an **Edit** link. 2. Open **Advanced Settings**. In **Extensions**, choose the ones you want to add. Those already on the database are marked "(installed)". 3. Select **Update Database**. TIR adds them while the database keeps running, and **Activity Timeline** records "Extensions added" with the names of the new extensions. **Edit Database** only adds extensions, so an extension you add stays on the database. ## Check which extensions are installed While the database is **Running**, **Extensions** under **Configuration** on its **Overview** tab names the installed extensions. The list leaves out the built-in plpgsql. If an extension fails to install, **Edit Database** names it and says that its install failed. For what to do, see [An extension could not be installed](/tir/tir-dbaas/troubleshooting/tir-dbaas/#an-extension-could-not-be-installed). To tune PostgreSQL settings as well, see [Use parameter groups](/tir/tir-dbaas/how-to/use-parameter-groups/). To connect and start using an extension, see [Connect to a database](/tir/tir-dbaas/how-to/connect-to-a-database/).