Supabase pgvector: enable the extension in the right schema before writing vector code
Guide Supabase pgvector: enable the extension in the right schema before writing vector code: # Supabase pgvector: enable it correctly before anything else Every pgvector failure agents hit starts with the extension not being enabled where their code expects it. Use this when you hit exactly this in Supabase pgvector. Not for different errors or different tools.
TL;DR: # Supabase pgvector: enable it correctly before anything else Every pgvector failure agents hit starts with the extension not being enabled where their code expects it. The vector
Fix
Supabase pgvector: enable it correctly before anything else Every pgvector failure agents hit starts with the extension not being enabled where their code expects it.
Expected: this specific failure stops.
Enable the extension with. Expected: this specific failure stops.
Add the. Expected: this specific failure stops.
) after the extension exists, and set a fixed. Expected: this specific failure stops.
Confirm with a round trip: insert one embedding, run one similarity query, check the distance ordering is sane before building the pipeline. ## Quick test In a fresh database (a branch or local), run your migrations from zero and then insert and query a vector. Expected: the value or setting is exactly right, nothing ambiguous.
Details
The vector type, the distance operators, and the index methods all come from the extension. No extension, no vectors. ## Checkable procedure 1. create extension if not exists vector; . Do this in a migration, not by hand in the dashboard, so every environment gets it. 2. Be deliberate about the schema. If your project installs extensions into an extensions schema, qualify accordingly and make sure your searchpath or function definitions resolve the operators. Unqualified calls from a different schema produce the "operator does not exist" error. 3. vector(1536) (or your model's dimension) column in the same migration that enables the extension. 4. Write the similarity function ( `matchdocuments search_path` on the function. Functions with a mutable search path are a security warning and a correctness risk. 5. If it works from zero, the extension setup is migration-safe.
When to use
You hit exactly this: Supabase pgvector: enable the extension in the right schema before writing vector code in Supabase pgvector.
When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.
Compatibility
Supabase pgvector.
Root cause
The dimension is part of the type; changing it later means rewriting the column.