Overview
CDC/mirrored subsets are private preview/hardening work. Do not enable CDC for customer production data until the production-readiness signoff is approved.
The current public connector path is live_read: Synapsor reads selected tables/views at capability runtime through least-privilege credentials and records evidence/query audit.
CDC means change data capture. The private preview CDC/mirrored-subset path consumes Postgres logical replication or MySQL row binlog changes and updates selected Synapsor mirror rows asynchronously after the worker catches up.
CDC/mirrored subsets are not the current customer setup path. The control plane has preview/dev-test primitives, but customer production CDC still needs monitoring, lag/backpressure handling, retention controls, slot/binlog cleanup, restore semantics, fail-closed operations, and operator signoff.
The example repos show the intended developer shape with local/dev fixtures. Treat them as private preview reference material, not as a claim that hosted controlled beta runs customer CDC mirrors today.
Future Postgres logical replication shape
The private preview Postgres CDC path uses logical replication for selected tables only. It requires a dedicated replication user separate from the read-only inspection user.
Replication slots can retain WAL if they are not consumed. Production CDC needs lag alerts, retention awareness, cleanup, and a documented disable path before it can be a customer-facing path.
-- Private preview CDC shape, not the current public connector path.
CREATE PUBLICATION synapsor_pub
FOR TABLE public.tickets, public.customers, public.policy_chunks;
CREATE ROLE synapsor_repl WITH LOGIN REPLICATION PASSWORD 'REPLACE_WITH_STRONG_PASSWORD';
GRANT CONNECT ON DATABASE appdb TO synapsor_repl;
GRANT USAGE ON SCHEMA public TO synapsor_repl;
GRANT SELECT ON TABLE public.tickets TO synapsor_repl;
GRANT SELECT ON TABLE public.customers TO synapsor_repl;
GRANT SELECT ON TABLE public.policy_chunks TO synapsor_repl;Future MySQL binlog capture shape
The private preview MySQL CDC path requires row-based binary logs and a dedicated replication user separate from the read-only inspection user.
A production mirror worker must track GTID or file/position, lag, and replay checkpoints. Keep CDC out of production workflows until binlog retention, backpressure, and cleanup monitoring are ready.
-- Private preview CDC shape, not the current public connector path.
CREATE USER 'synapsor_repl'@'%' IDENTIFIED BY 'REPLACE_WITH_STRONG_PASSWORD';
GRANT REPLICATION SLAVE, REPLICATION CLIENT
ON *.*
TO 'synapsor_repl'@'%';
FLUSH PRIVILEGES;Developer notes
- Use live-read external mappings for the current public connector path.
- Do not treat CDC/mirrored subsets as available production connector behavior in controlled beta.
- Use dedicated replication credentials for private preview CDC; do not reuse your app owner or write user.
- Select only needed tables and columns, and keep tenant filters explicit in any future mirror.
- Use proposal writeback workers for approved writes back to the existing DB.
- Require lag, retention, backpressure, and cleanup monitoring before relying on CDC mirrors.