Supabase Error PGRST203: Ambiguous Function Overload

Supabase error PGRST203 (Ambiguous Function Overload) explained: what it means, why it happens, and how to fix it — with copy-paste code examples.

Error code PGRST203 Supabase Last verified 2026-08-19

Quick Answer

Rename one of the overloaded functions to disambiguate. If that does not apply, use distinct argument names across overloads — the full checklist is below.

Error Code

Error code: PGRST203
Official name: Ambiguous Function Overload
Service: Supabase

What does this error mean?

Caused by requesting overloaded functions with the same argument names but different types, or by using a POST verb to request overloaded functions with a JSON or JSONB type unnamed parameter.

Common Causes

How to Fix

  1. Rename one of the overloaded functions to disambiguate
  2. Use distinct argument names across overloads
  3. For POST RPC calls, use named parameters instead of unnamed JSON/JSONB
  4. Call the function with an explicit argument map: rpc('fn', { param: value })

Code Examples

Avoid unnamed JSON parameters sql
CREATE OR REPLACE FUNCTION public.handle_event(payload JSONB)
RETURNS void AS $$
BEGIN
  -- ...
END;
$$ LANGUAGE plpgsql;

-- call with a named argument from the client:
-- supabase.rpc('handle_event', { payload: {...} })

Named arguments keep RPC calls unambiguous even when overloads exist.

Framework-Specific Fixes

supabase-js

Pass arguments as a named object so overloads can be distinguished.

const { data, error } = await supabase.rpc('my_func', {
  input_id: 42,        // named, typed parameter
})
if (error?.code === 'PGRST203') {
  console.error('function overload is ambiguous - rename or retype arguments')
}

You Might Also Like

Frequently Asked Questions

Why am I seeing Supabase error PGRST203?

Most often this happens when two SQL functions with the same name and argument names but different argument types, or when rPC call via POST with an unnamed JSON/JSONB parameter.

How do I fix Supabase error PGRST203?

Rename one of the overloaded functions to disambiguate.

Which frameworks have documented fixes for error PGRST203?

This page documents fixes for: supabase-js.

Official Sources

This page is based on the official Supabase documentation linked below and adds practical troubleshooting guidance on top.