Every PostgreSQL database on Rock8Cloud includes pgvector, the extension that gives Postgres a native vector type and similarity search. It is preinstalled on versions 14 through 17. There is no separate vector database to provision and no feature to switch on.
Point a framework at it and it works#
You get the full Postgres engine and a database user that owns the database. A framework like Mastra creates the vector extension and its tables on first run, so there is no setup step for you at all.
pgvector or a dedicated vector database?#
| pgvector in your Postgres | Dedicated vector database | |
|---|---|---|
| Provisioning | Already running | A new service to create and connect |
| Cost | Included with the database | A separate line on the bill |
| Filtering by your own data | One query, joined against your tables | Fetch a wider set, filter in app code |
| Consistency | One transaction, one backup | Two stores to keep in agreement |
| Practical ceiling | Thousands to a few million vectors | Hundreds of millions and up |
The filtering row decides it for most teams. Your permission rules already live in Postgres, so when ranking and the WHERE clause run in one query you get the best rows this user is allowed to see. Split across two systems, you over-fetch and hope enough survive the filter.
The same database does more than vectors#
PostGIS when you need to ask what is nearby. pg_cron when work has to run on a schedule. pg_stat_statements when you need the query that is ruining your afternoon.
Each is a statement away in a database that is already running, already backed up, and already paid for. No new service, no new bill, no migration. That is the return on shipping primitives instead of workflows.
Your agent can finish the job#
Hand an agent a database URL and this is a task it takes from end to end.
It creates the extension, builds the tables, writes the embeddings and queries them back, without stopping to ask you to go and enable something first.
When you need a dedicated vector database#
At hundreds of millions of vectors under heavy concurrent search, purpose-built infrastructure earns its price. Below that, Postgres handles thousands to a few million embeddings without drama.
Start where your data already is. If you outgrow it, you will pick the replacement with real numbers instead of a guess made in week one.
