Skip to content

CDC: PostgreSQL to Azure Synapse | Real-Time Replication Guide

Real-time Change Data Capture from PostgreSQL to Synapse with exactly-once delivery, order-token guards, and tombstone anti-resurrect protection.

Source: PostgreSQL. Destination: Synapse.

CDC apply: MERGE via Tiberius.

Sample config

yaml
skippr:
  workspace: cdc_postgres_to_synapse
pipelines:
  cdc_postgres_to_synapse:
    data_source: data_sources.source
    data_sink: data_sinks.warehouse
    cdc:
      default:
        business_key_columns:
          - id
data_sources:
  source:
    Postgres:
      host: localhost
      port: 5432
      user: replicator
      password: "${POSTGRES_PASSWORD}"
      database: mydb
      cdc_mode: snapshot_then_cdc
data_sinks:
  warehouse:
    Synapse:
      connection_string: "${SYNAPSE_CONNECTION_STRING}"
      schema: dbo

Environment

bash
export SYNAPSE_CONNECTION_STRING="Server=tcp:myserver.sql.azuresynapse.net,1433;Database=mydb;..."

Source connector: postgres. Destination connector: synapse.

See CDC overview.