JDBC Sink Node
Quick Reference
Connection URL
The JDBC connection URL for your database.
ex: jdbc:postgresql://localhost:5432/mydb
Use Credentials Database username and password credentials.
Table Name
The name of the table to write records into.
ex: events_processed
Schema Name
The database schema containing the target table. Leave blank to use the default schema.
ex: public
Write Mode
How to handle incoming records: INSERT (always add a new row) or UPSERT (update if exists, insert if not). Default: INSERT.
Upsert Key Columns (UPSERT mode only)
Comma-separated column names used to identify existing rows for update.
ex: device_id or tenant_id,device_id
Batch Size
Number of rows written per transaction. Default: 1000.
Overview
The JDBC Sink node writes records from your workflow into a relational database table. It supports inserting new rows or upserting (insert or update) based on a key you define. Records are written in batches for efficiency.
Supported databases include PostgreSQL, MySQL, MariaDB, Microsoft SQL Server, and Oracle.
Configuration
| Field | Description | Required | Default |
|---|---|---|---|
| Connection URL | The JDBC URL for your database. Includes the database type, host, port, and database name. | Yes | — |
| Use Credentials | Select or create a Username/Password credential for database authentication. Leave blank if your database does not require a password. | No | — |
| Table Name | The name of the table where records will be written. Column names in your records must match the table's column names. | Yes | — |
| Schema Name | The schema that contains the target table (e.g. public). Leave blank to use the database's default schema. | No | — |
| Write Mode | INSERT adds every record as a new row. UPSERT updates an existing row if a match is found on the key columns, otherwise inserts a new row. | No | INSERT |
| Upsert Key Columns | Required when Write Mode is UPSERT. Enter one or more column names separated by commas. These columns must have a unique constraint or be the primary key in your table. | No | — |
| Batch Size | Number of rows to write in a single transaction. All rows in a batch succeed or fail together. | No | 1000 |
Write Modes
INSERT
Every incoming record is added as a new row. Use this when you always want to append data, such as logging events.
UPSERT
If a record matches an existing row based on the key columns, that row is updated. If no match is found, a new row is inserted. Use this to keep a table in sync with changing data, such as a device status table.
Set Upsert Key Columns to the column (or columns) that uniquely identify a row. For example, if your table has a device_id primary key, enter device_id.
Related Nodes
- JDBC Source: Read records from a relational database
- Kafka Sink: Stream records to a Kafka topic