225 words, 2 min read

First, we check which version is installed in the database. We can do this by checking the pg_extension catalog or by using the \dx command:

defaultdb=> select * from pg_extension;
oid | extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
-------+---------+----------+--------------+----------------+------------+-----------+--------------
14571 | plpgsql | 10 | 11 | f | 1.0 | |
16517 | vector | 10 | 2200 | t | 0.5.0 | |
(2 rows)
defaultdb=> \dx
List of installed extensions
Name | Version | Schema | Description
---------+---------+------------+--------------------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
vector | 0.5.0 | public | vector data type and ivfflat access method
(2 rows)

To update the vector extension, you can use:

ALTER EXTENSION vector UPDATE;

Checking the version again shows that the version is now the latest one:

defaultdb=> \dx
List of installed extensions
Name | Version | Schema | Description
---------+---------+------------+--------------------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
vector | 0.7.4 | public | vector data type and ivfflat access method
(2 rows)

If you want to get a list of the available extensions, you can query the pg_available_extensions catalog:

select * from pg_available_extensions;

If you are using the managed PostgreSQL database service from Digital Ocean, you can also find the list of supported extensions here.

The pgvector changelog can be found here.