Replicate Supabase PostgreSQL tables with continuous CDC on Postgres 17+, with batch fallback for older projects.
When Supabase OAuth is available, Embrasure detects the project's Postgres version during onboarding. Projects on Postgres 17 or newer use an initial full load followed by continuous change data capture through AWS DMS. Older projects keep cursor-based or xmin batch ingestion until they are upgraded and reconnected.
Connect with Supabase OAuth. Embrasure keeps catalog discovery on its existing pooled read-only role and provisions a separate direct role with REPLICATION, database CONNECT, schema USAGE, and table SELECT for CDC.
The CDC path requires:
Preflight verifies the direct endpoint, logical replication settings, role privileges, replication capacity, table keys, and supported column types before AWS resources are created. AWS DMS uses Supabase's required test-decoding plugin.
Projects below Postgres 17 use scheduled batch ingestion:
updated_at-style cursor that changes whenever the row changes.xmin only when no reliable cursor is available. It can increase source load because a run may need to scan the table.Cursor and xmin ingestion do not detect hard deletes. Represent deletion state in a source column when downstream users need it.
When OAuth is not available, Ember asks for a read-only Supabase Session pooler connection. In Supabase, open Connect, choose Session pooler, and copy the exact URI. The username must include the project reference, the port should be 5432, and SSL must be required.
Manual Session pooler connections use scheduled batch ingestion rather than continuous CDC. Use a dedicated read-only role with database CONNECT, schema USAGE, and table SELECT only. Do not use the project owner or service role.
Create a Supabase source and follow the connection method shown in Ember. After verification, select the schemas and tables and choose a destination database. OAuth-connected Postgres 17+ projects default to full load and continuous CDC. Older projects and manual Session pooler connections use batch sync.