PostgreSQL Source Connector
Source connector
PostgreSQL Source Connector
PostgreSQL replication uses the Debezium PostgreSQL connector and PostgreSQL logical decoding. Use the common source workflow for Basic, Database Connection, Snapshot, Signal, Events, Transforms, and Error Handling.
Connector Class
io.debezium.connector.postgresql.PostgresConnector
Parameters
| Category | Parameter | Required | Recommended / Default | Description |
|---|---|---|---|---|
| Basic | name | Yes | User-defined | Unique Kafka Connect connector name. GIFROST derives topic.prefix as <name>-server. |
| Basic | topic.prefix | Generated | <name>-server | Prefix for topics in the form <topic.prefix>.<schema>.<table>. |
| Basic | tasks.max | Yes | 1 | Keep one task for ordered WAL reading. |
| Database Connection | database.hostname | Yes | From Database Store | PostgreSQL host. |
| Database Connection | database.port | Yes | 5432 | PostgreSQL port. |
| Database Connection | database.user | Yes | From Database Store | Replication user. |
| Database Connection | database.password | Yes | Hidden | Password or secret reference. |
| Database Connection | database.dbname | Yes | From Database Store | Database name. |
| Database Settings | plugin.name | Yes | pgoutput | Logical decoding plugin. |
| Database Settings | slot.name | Yes | debezium_<connector-name> | Replication slot used to track WAL position. |
| Database Settings | publication.name | Yes | dbz_publication | PostgreSQL publication used by pgoutput. |
| Database Settings | publication.autocreate.mode | No | all_tables | Allows Debezium to create the publication automatically. |
| Database Settings | slot.drop.on.stop | No | Enabled | Drops slot on graceful stop to avoid WAL retention by abandoned slots. |
| Database Wizard | schema.include.list / schema.exclude.list | No | Generated | Schema filters generated by the wizard. |
| Database Wizard | table.include.list / table.exclude.list | No | Generated | Table filters generated by the wizard. |
| Database Wizard | column.include.list / column.exclude.list | No | Generated | Column filters generated by the wizard. |
| Database Wizard | message.key.columns | Conditional | Generated | Custom message keys for tables without primary keys. |
| Snapshot | snapshot.mode | No | initial | Initial snapshot and streaming mode. |
| Signal | signal.data.collection | Conditional | <schemaName>.<tableName> | Table used for Debezium signals. |
| Notification | notification.sink.topic.name | No | <connector-name>-notifications | Topic for Debezium operation notifications. |
PostgreSQL Notes
The database user must have privileges for logical replication and access to selected schemas and tables. If slot.drop.on.stop is enabled, stopping the connector intentionally removes the replication slot; use this only when the operational process can tolerate recreating the slot on the next start.