Supabase · api · fg-0203

Supabase Realtime postgres_changes subscription says SUBSCRIBED but never receives any events

Channel status SUBSCRIBED, then silence when rows change

Verified 2026-10-15 · Confirmed by 0 builders · Trust 50/100

Cause

Realtime only watches tables added to the supabase_realtime publication, and it applies RLS as the subscribing user, so a blocked row is dropped silently. Old values on UPDATE and DELETE need replica identity full, and with RLS on only the primary key comes through.

Fix

Add the table to the publication, confirm the subscriber can select the changed row, and set replica identity full if you need old values on tables without RLS.

Apply

alter publication supabase_realtime add table public.messages;
alter table public.messages replica identity full;
select * from pg_publication_tables where pubname = 'supabase_realtime';

Affects: Supabase Realtime postgres_changes on all plans

Sources

Have your agent know this before it fails

claude mcp add --transport http footgun https://getfootgun.com/api/mcp