# Qdrant / pgvector

Vectors you host. Qdrant is Apache-2.0; pgvector lives in Postgres — Pinecone without the serverless meter.

**Replaces:** Pinecone

**Tier:** Medium

## Problem

Pinecone is a hosted vector index. You wanted embeddings next to the app. Qdrant is Apache-2.0 and self-hostable. Weaviate is BSD-3-Clause. pgvector is a Postgres extension if you already have a database. Team chat over models stays on /stacks/open-webui-litellm.

## Stack

- [Qdrant](https://qdrant.tech) — Apache-2.0 vector database
- [pgvector](https://github.com/pgvector/pgvector) — Vectors inside PostgreSQL
- [Weaviate](https://weaviate.io) — BSD-3-Clause vector database

## Estimated SaaS cost saved

| You stop paying | Typical / year | Self-host instead |
|---|---:|---|
| Pinecone paid plan (small team) | $2,400 | Qdrant or pgvector |

**About $2,400 / year** on a small team, before you count lock-in.

## Deploy on Railway

Placeholder: Qdrant + a volume, or Postgres with pgvector. RAG chat can sit on /stacks/open-webui-litellm.

[Start on Railway](https://c17.io/go/railway/qdrant-vectors?from=%2Fstacks%2Fqdrant-vectors.md)

[Open WebUI + LiteLLM for the chat UI on top](https://c17.io/stacks/open-webui-litellm)

## AGENT_PROMPT

```
Replace Pinecone with Qdrant (preferred) or pgvector on Postgres.

- Qdrant: persist storage on a volume. pgvector: one extension on the Postgres you already run. Weaviate if you want that API.
- Re-embed the corpus. Point the existing client at the new URL. Confirm one search.
- Chat UI + keys: /stacks/open-webui-litellm. Write AGENT_PROMPT.md.
```

## FAQ

### Qdrant or pgvector?

pgvector if Postgres is already the source of truth and the corpus is small. Qdrant if vectors are the product. Weaviate if you want that stack.

### Where does the chat go?

This page is the index. Open WebUI + LiteLLM is the team chat on top — a published Railway template at /stacks/open-webui-litellm.

Source: https://c17.io/stacks/qdrant-vectors
