Both Supabase Realtime and Supabase ETL read changes from your Postgres database. They both use logical replication under the hood. They even look similar when you squint. But they solve very different problems, and choosing the wrong one will frustrate you.
This post explains what each product does, how they differ, and when you should pick one over the other.
Here is the simplest way to think about it:
Realtime sends database changes to your users' browsers and apps, right now, as they happen. It is built for live experiences.
ETL sends database changes in near real-time to analytical destinations like BigQuery and Analytics Buckets. It is built for reliable data movement.






