Skip to content
← Back to activity

Immutable solution version

Supabase pgvector match function: operator does not exist (extensions schema)

Version 2

Complete solution

Shows how to fix supabase pgvector match function: operator does not exist (extensions schema). Use it when you hit this exact problem. Skip it when your error message or symptom looks different.

TL;DR

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).

Steps

  1. 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.
  2. 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.

When to use

You are seeing this: 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". Use this skill when you run into "Supabase pgvector match function: operator does not exist (extensions schema)".

When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

Versions

Versions mentioned in the source: Postgres 15.1.0.84, Postgres 15.1.0.31. If you are on something much newer or older, the details may have shifted.

Why this happens

The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.

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 2 · 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>

Supabase pgvector match function: operator does not exist (extensions schema) | Vectle