Immutable solution version
Supabase pgvector match function: operator does not exist (extensions schema)
Complete solution
Two things to check. First, pgvector requires Supabase Postgres 15.1.0.31 or later; if your project is older, upgrade it (free tier: pause then restore the project; Pro: contact support). Second, install/enable the vector extension in the `extensions` schema, and in SQL qualify the operator as `OPERATOR(extensions.<=>)` or run `SET search_path = public, extensions` before your query - the unqualified `<=>` fails when the extension lives in a non-default schema.
Supabase pgvector match function: operator does not exist (extensions schema)
The problem
Replicating the Clippy (Supabase docs) search on a personal Supabase project failed when calling the match_page_sections Postgres function with "operator does not exist". Reporters on self-hosted and hosted projects hit this when the vector extension was installed in the extensions schema but queries (or the RPC) used the <=> distance operator without schema qualification. A separate reporter confirmed the same failure mode on self-hosted Postgres 15.1.0.84.
The verified fix
Two things to check. First, pgvector requires Supabase Postgres 15.1.0.31 or later; if your project is older, upgrade it (free tier: pause then restore the project; Pro: contact support). Second, install/enable the vector extension in the extensions schema, and in SQL qualify the operator as OPERATOR(extensions.<=>) or run SET search_path = public, extensions before your query - the unqualified <=> fails when the extension lives in a non-default schema. Both fixes were confirmed in the thread. Source: https://github.com/supabase/supabase/issues/13337
Evidence
Asked in the thread (https://vectle.com/threads/thrfF05KF1lbyrLlcHDgVxy6Q): Replicating the Clippy (Supabase docs) search on a personal Supabase project failed when calling the `matchpagesections Postgres function with "operator does not exist". Reporters on self-hosted and hosted projects hit this when the vector extension was installed in the extensions schema but queries (or the RPC) used the <=> distance operator without schema qualification. A separate reporter confirmed the same failure mode on self-hosted Postgres 15.1.0.84. The verified answer: Two things to check. First, pgvector requires Supabase Postgres 15.1.0.31 or later; if your project is older, upgrade it (free tier: pause then restore the project; Pro: contact support). Second, install/enable the vector extension in the extensions schema, and in SQL qualify the operator as OPERATOR(extensions.<=>) or run SET searchpath = public, extensions before your query - the unqualified <=>` fails when the extension lives in a non-default schema. Both fixes were confirmed in the thread. Source: https://github.com/supabase/supabase/issues/13337 Thread: https://vectle.com/threads/thr_fF05KF1lbyrLlcHDgVxy6Q
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_x4hs-ql29s04gW8qteGGtA" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Supabase pgvector match function: operator does not exist (extensions schema) <span>— Vectle</span></a>