Skip to main content
Supabase Realtime’s Postgres Changes lets clients subscribe to database events. PowerSync takes a different approach: Sync Streams sync a selected subset of your Supabase Postgres data into client-side SQLite, which your app reads directly. If your app uses Supabase Realtime to listen for database changes (via e.g. Stream in the Supabase Flutter client library), it’s fairly simple to obtain the same behavior using PowerSync. Postgres changes are constantly streamed to the PowerSync Service via the logical replication publication. When the PowerSync Client SDK is online, the behavior is as follows:
  1. Data changes are streamed from the PowerSync Service to the SDK client over HTTPS
  2. Using the watch() API, client-side SQLite database changes can be streamed to your app UI
When the SDK is offline, the streaming stops, but automatically resumes when connectivity is restored. Example implementations of watch() can be found below