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?