Skip to content

CDC: DynamoDB to PostgreSQL | Real-Time Replication Guide

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

Source: DynamoDB. Destination: PostgreSQL.

CDC apply: Staging table + INSERT ON CONFLICT.

Sample config

yaml
skippr:
  workspace: cdc_dynamodb_to_postgres
pipelines:
  cdc_dynamodb_to_postgres:
    data_source: data_sources.source
    data_sink: data_sinks.warehouse
    cdc:
      default:
        business_key_columns:
          - id
data_sources:
  source:
    Dynamodb:
      table_name: my_table
      region: us-east-1
      cdc_mode: snapshot_then_cdc
data_sinks:
  warehouse:
    Postgres:
      host: localhost
      port: 5432
      user: ${POSTGRES_USER}
      password: ${POSTGRES_PASSWORD}
      database: analytics
      schema: public

Environment

bash
export POSTGRES_HOST="localhost"
export POSTGRES_USER="myuser"
export POSTGRES_PASSWORD="mypassword"
export AWS_ACCESS_KEY_ID="your-key"
export AWS_SECRET_ACCESS_KEY="your-secret"

Source connector: dynamodb. Destination connector: postgres-warehouse.

See CDC overview.