JDBC Sink Connector
Target connector
JDBC Sink Connector
JDBC Sink writes Kafka records to relational databases such as PostgreSQL, Oracle, MySQL, SQL Server, and Db2. It is the primary target connector for relational database delivery.
Parameters
| Category | Parameter | Required | Description |
|---|---|---|---|
| Basic | name | Yes | Unique target connector name. |
| Basic | connector.class | Yes | JDBC sink connector class available in Kafka Connect. |
| Basic | tasks.max | Yes | Number of sink tasks. Increase only when topic partitioning and target ordering requirements allow it. |
| Topics | topics / topics.regex | Yes | Kafka topics consumed by the target connector. |
| Connection | connection.url | Yes | JDBC URL for the target database. |
| Connection | connection.username | Yes | Target database user. |
| Connection | connection.password | Yes | Password or secret reference. |
| Write mode | insert.mode | Yes | Insert behavior, commonly insert, upsert, or update depending on connector. |
| Write mode | delete.enabled | No | Enables deletes when tombstone/delete events are received. |
| Keys | primary.key.mode | Yes | Defines how target primary keys are built. |
| Keys | primary.key.fields | Conditional | Primary key fields when required by the selected key mode. |
| Schema | schema.evolution / auto.create / auto.evolve | No | Controls target table creation or schema changes, depending on connector vendor. |
| Table mapping | table.name.format | No | Maps topic names to target table names. |
| Runtime | batch.size | No | Batch size for target writes. |
Notes
When consuming Debezium source topics, target configuration usually needs an SMT such as ExtractNewRecordState so the sink receives the row payload instead of the full Debezium envelope.