Debezium sink connector doesn't delele rows in destination postgres

13 views Asked by At

I have a debezium source connector from Postgres 15 (source) to Kafka and debezium sink connector to Postgres 15 (dest) from the same Kafka. The connector from source works fine. Its configuration:

{
    "name": "source-1",
    "config": {
        "connector.class": "io.debezium.connector.postgresql.PostgresConnector",
        "database.hostname": "10.80.251.250",
        "database.port": "6432",
        "database.user": "postgres",
        "database.password": "123456",
        "database.dbname": "postgres",
        "table.include.list": "public.random_data",
        "signal.kafka.bootstrap.servers": "kafka:9092",
        "plugin.name": "pgoutput",
        "topic.prefix": "data",
        "tombstones.on.delete": "false"
    }
}

It sends insert, update, delete messages to Kafka. But sink connector can't apply delete messages to dest, ignoring it totally. Sink connector config:

{
    "name": "sink-1",
    "config": {
        "connector.class": "io.debezium.connector.jdbc.JdbcSinkConnector",
        "tasks.max": "1",
        "topics": "data.public.random_data",
        "connection.url": "jdbc:postgresql://10.80.251.250:6432/replica",
        "transforms": "unwrap",
        "transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState",
        "auto.create": "true",
        "connection.username": "postgres",
        "connection.password": "123456",
        "insert.mode": "upsert",
        "primary.key.fields": "num",
        "primary.key.mode": "record_key",
        "table.name.format": "ods.random_data",
        "schema.evolution": "basic",
        "batch.size": 5000,
        "delete.enabled": "true"
    }
}

I see delete events in Kafka in suitable format but they don't apply to dest.

How to improve this behaviour?

0

There are 0 answers