---
title: "Vector search out of the box. In every PostgreSQL we run."
description: "Every PostgreSQL database on Rock8Cloud ships with pgvector. Keep embeddings next to your relational data, with no second service to run and no permission wall to get past."
seoTitle: "Managed Postgres With pgvector Built In - Rock8Cloud"
seoDescription: "Every PostgreSQL database on Rock8Cloud ships with pgvector preinstalled on versions 14 to 17. Store embeddings and run vector search without a separate vector database."
pubDate: 2026-08-19
updatedDate: 2026-08-21
author: "Rock8Cloud"
image: "/blog/og/vector-search.png"
imageAlt: "Vector search built into every Rock8Cloud PostgreSQL database"
tags: ["Databases", "Agent-First", "Platform Design"]
faq:
  - q: "Does Rock8Cloud support pgvector?"
    a: "Yes. pgvector is preinstalled on every PostgreSQL service on Rock8Cloud, on every supported version from 14 through 17. There is nothing to install, no extension to request from support, and no toggle to find in a dashboard."
  - q: "Do I need a separate vector database for RAG?"
    a: "For most applications, no. Postgres with pgvector stores embeddings and runs similarity search in the same database as your relational data, so a retrieval query can filter and join against your existing tables instead of coordinating two systems."
  - q: "Can I use one database for vectors and another for application data?"
    a: "Yes. A project can run as many PostgreSQL services as your plan's cube allowance covers, so a dedicated vector database is a supported setup and gives that workload its own storage and resources. The tradeoff is that embeddings and application data can no longer be filtered together in a single query."
  - q: "How do I enable pgvector on a Rock8Cloud database?"
    a: "Run CREATE EXTENSION IF NOT EXISTS vector once per database, or let your framework do it. The user in your connection string owns the database, so it already has permission to create the extension without any elevation."
  - q: "Does it work with RAG frameworks like Mastra?"
    a: "Yes, with no setup step. Mastra's PgVector store creates the vector extension and its tables the first time it builds an index. Because your database user owns the database, that call succeeds instead of failing on a permission error."
  - q: "Which PostgreSQL versions include pgvector?"
    a: "All of them on Rock8Cloud: 14, 15, 16 and 17. The extension is built into the database image rather than added per service, so the version you pick when you create the service does not change what is available."
  - q: "How many embeddings can Postgres handle before I need something else?"
    a: "Most applications run comfortably from thousands to a few million embeddings on Postgres. At hundreds of millions of vectors under heavy concurrent search, purpose-built vector infrastructure starts to earn its cost."
---

Every PostgreSQL database on Rock8Cloud includes [pgvector](https://github.com/pgvector/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](https://mastra.ai/reference/vectors/pg) creates the `vector` extension and its tables on first run, so there is no setup step for you at all.



Provision a Postgres with vector search included - free for 30 days.

[Try Rock8Cloud](https://app.rock8.cloud)



## 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](/blog/agent-first-primitives).

## Your agent can finish the job

Hand an agent a database URL and this is a task it takes from end to end.



**task agent (docs-api):** add semantic search over our docs



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.

[See what is included with every database](https://docs.rock8.cloud/docs/databases-and-storage/vector-search).
