// troubleshooting guide · pgvector
pgvector Dimension Limit: Cannot Index More Than 2000 Dimensions
- Status
- Workaround available
- platforms:
- All
- updated:
- November 15, 2026
- reports:
- 4
- Method
- how we research
RUNBOOK · pgvector/vector-dimension-limit-20003 FIXES
// quick answer
A vector column stores up to 16,000 dimensions but HNSW and IVFFlat index at most 2,000. Use halfvec (4,000) or reduce the embedding size.
Most likely fix: Use halfvec
How to fix it
// try these in order, the most common fix is first
FIX 1Use halfvec
- 01Store as halfvec(n) and index with halfvec ops, supports up to 4,000 dimensions
Did this fix it?FIX 2Request fewer dimensions
- 01Ask the embedding model for a smaller size, one NVIDIA forum fix used 1536
- 02Or apply dimensionality reduction
Did this fix it?FIX 3Skip the index
- 01Exact search works without an index at 16,000 dimensions storage limit, but is slower on large tables
Did this fix it?
Symptoms
CREATE INDEX fails for embeddings such as 3,072 dimensions.
Why it happens
- C-01vector index cap is 2,000
- C-02Embedding model output too large
// this guide also covers
- pgvector max dimensions
- column cannot have more than 2000 dimensions for hnsw index
- pgvector 3072 dimensions
Still not working?
If pgvector keeps failing, you're not alone. See every pgvector problem users report or the alternatives people switch to.
Have an app idea? Our small team builds any software: web and mobile apps, games, desktop, AI tools. Price agreed together.
Talk to usThe same problem in other apps
Other pgvector errors
- pgvector Error: extension "vector" is not available
- pgvector HNSW Index Build Slow
- pgvector "operator does not exist: vector <=>" Error
- pgvector "different vector dimensions" Error
- pgvector Query Returns Fewer Results Than LIMIT With Filter
- pgvector Index Not Being Used
- pgvector HNSW Build Out of Memory or Shared Memory Error
- How to Enable pgvector on Supabase