Skip to content

postgresql-pgvector

Use when adding vector similarity search to a PostgreSQL database — storing embeddings, querying nearest neighbors, hybrid text+vector search, or indexing with IVFFlat or HNSW. Also use when building RAG systems, semantic search, or recommendation engines on top of Postgres.

ModelSource
sonnetpack: database
Full Reference

┏━ 🔧 postgresql-pgvector ━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ Use when adding vector similarity search to a … ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

Open-source extension that turns Postgres into a vector database. Stores embeddings as native vector columns alongside relational data — no separate vector DB required.

Requires: PostgreSQL 12+ · pgvector 0.7+

ItemValue
Extension enableCREATE EXTENSION IF NOT EXISTS vector;
Cosine distance operator<=>
L2 distance operator<->
Recommended indexHNSW (vector_cosine_ops)
Default ef_search40 (increase to 100–200 for high recall)
text-embedding-3-small dims1536
text-embedding-3-large dims3072
Gemini text-embedding-004 dims768
Cloud supportSupabase, Neon, RDS, AlloyDB
I want to…File
Install pgvector locally or in Dockerreference/installation.md
Create tables, add vector columns, run similarity queriesreference/schema-and-operators.md
Add HNSW or IVFFlat indexes, tune performancereference/indexing.md
Combine vector search with full-text search (RRF)reference/hybrid-search.md
Store and query embeddings from Node.js, Drizzle, or Prismareference/nodejs-integration.md

Usage: Read the reference file matching your current task from the index above. Each file is self-contained with code examples and inline gotchas.

  • supabase — Managed Postgres with pgvector and vector search helpers built in
  • neon — Serverless Postgres with pgvector support
  • drizzle — Type-safe ORM with raw SQL escape hatch for vector queries
  • prisma — ORM requiring $queryRaw for vector operations
  • anthropic-api / openai-api / google-genai — Generate embeddings to store