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.