All configuration properties for the Debezium PostgreSQL connector across versions 2.4–3.5. Cells highlighted in green are additions, red are removals, yellow are default changes.
| Property | Description | 2.4 | 2.5 | 2.6 | 2.7 | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | 3.5 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| binary.handling.mode | Specify how binary (blob, binary, etc.) columns should be represented in change events, including: 'bytes' represents bi.. | bytes | bytes | bytes | bytes | bytes | bytes | bytes | bytes | bytes | bytes |
| column.exclude.list | Regular expressions matching columns to exclude from change events | null | null | null | null | null | null | null | null | null | null |
| column.include.list | Regular expressions matching columns to include in change events | null | null | null | null | null | null | null | null | null | null |
| column.propagate.source.type | A comma-separated list of regular expressions matching fully-qualified names of columns that adds the column’s original .. | null | null | null | null | null | null | null | null | null | null |
| converters | Optional list of custom converters that would be used instead of default ones. The converters are defined using '<conver.. | null | null | null | null | null | null | null | null | null | null |
| custom.metric.tags | The custom metric tags will accept key-value pairs to customize the MBean object name which should be appended the end o.. | null | null | null | null | null | null | null | null | null | null |
| database.dbname | The name of the database from which the connector should capture changes | null | null | null | null | null | null | null | null | null | null |
| database.hostname | Resolvable hostname or IP address of the database server. | null | null | null | null | null | null | null | null | null | null |
| database.initial.statements | A semicolon separated list of SQL statements to be executed when a JDBC connection to the database is established. Note .. | null | null | null | null | null | null | null | null | null | null |
| database.password | Password of the database user to be used when connecting to the database. | null | null | null | null | null | null | null | null | null | null |
| database.port | Port of the database server. | null | null | null | null | null | null | null | null | null | null |
| database.sslcert | File containing the SSL Certificate for the client. See the Postgres SSL docs for further information | null | null | null | null | null | null | null | null | null | null |
| database.sslfactory | A name of class to that creates SSL Sockets. Use org.postgresql.ssl.NonValidatingFactory to disable SSL validation in de.. | null | null | null | null | null | null | null | null | null | null |
| database.sslkey | File containing the SSL private key for the client. See the Postgres SSL docs for further information | null | null | null | null | null | null | null | null | null | null |
| database.sslmode | Whether to use an encrypted connection to Postgres. Options include: 'disable' (the default) to use an unencrypted conne.. | prefer | prefer | prefer | prefer | prefer | prefer | prefer | prefer | prefer | prefer |
| database.sslpassword | Password to access the client private key from the file specified by 'database.sslkey'. See the Postgres SSL docs for fu.. | null | null | null | null | null | null | null | null | null | null |
| database.sslrootcert | File containing the root certificate(s) against which the server is validated. See the Postgres JDBC SSL docs for furthe.. | null | null | null | null | null | null | null | null | null | null |
| database.tcpKeepAlive | Enable or disable TCP keep-alive probe to avoid dropping TCP connection | true | true | true | true | true | true | true | true | true | true |
| database.user | Name of the database user to be used when connecting to the database. | null | null | null | null | null | null | null | null | null | null |
| datatype.propagate.source.type | A comma-separated list of regular expressions matching the database-specific data type names that adds the data type's o.. | null | null | null | null | null | null | null | null | null | null |
| decimal.handling.mode | Specify how DECIMAL and NUMERIC columns should be represented in change events, including: 'precise' (the default) uses .. | precise | precise | precise | precise | precise | precise | precise | precise | precise | precise |
| errors.max.retries | The maximum number of retries on connection errors before failing (-1 = no limit, 0 = disabled, > 0 = num of retries). | null | null | null | null | null | null | null | null | null | null |
| event.processing.failure.handling.mode | Specify how failures during processing of events (i.e. when encountering a corrupted event) should be handled, including.. | fail | fail | fail | fail | fail | fail | fail | fail | fail | fail |
| field.name.adjustment.mode | Specify how field names should be adjusted for compatibility with the message converter used by the connector, including.. | none | none | none | none | none | none | none | none | none | none |
| flush.lsn.source | (Deprecated) Boolean to determine if Debezium should flush LSN in the source postgres database. Use 'lsn.flush.mode' ins.. | true | true | true | true | true | true | true | true | true | true |
| hstore.handling.mode | Specify how HSTORE columns should be represented in change events, including: 'json' represents values as string-ified J.. | json | json | json | json | json | json | json | json | json | json |
| include.schema.changes | Whether the connector should publish changes in the database schema to a Kafka topic with the same name as the database .. | true | true | true | true | true | true | true | true | true | true |
| include.schema.comments | Whether the connector parse table and column's comment to metadata object. Note: Enable this option will bring the impli.. | false | false | false | false | false | false | false | false | false | false |
| include.unknown.datatypes | Specify whether the fields of data type not supported by Debezium should be processed: 'false' (the default) omits the f.. | false | false | false | false | false | false | false | false | false | false |
| incremental.snapshot.allow.schema.changes | Detect schema change during an incremental snapshot and re-select a current chunk to avoid locking DDLs. Note that chang.. | false | false | false | false | false | false | false | false | false | false |
| incremental.snapshot.chunk.size | The maximum size of chunk (number of documents/rows) for incremental snapshotting | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 |
| interval.handling.mode | Specify how INTERVAL columns should be represented in change events, including: 'string' represents values as an exact I.. | numeric | numeric | numeric | numeric | numeric | numeric | numeric | numeric | numeric | numeric |
| max.batch.size | Maximum size of each batch of source records. Defaults to . | null | null | null | null | null | null | null | null | null | null |
| max.queue.size | Maximum size of the queue for change events read from the database log but not yet recorded or forwarded. Defaults to , .. | null | null | null | null | null | null | null | null | null | null |
| max.queue.size.in.bytes | Maximum size of the queue in bytes for change events read from the database log but not yet recorded or forwarded. Defau.. | null | null | null | null | null | null | null | null | null | null |
| message.key.columns | A semicolon-separated list of expressions that match fully-qualified tables and column(s) to be used as message key. Eac.. | null | null | null | null | null | null | null | null | null | null |
| message.prefix.exclude.list | A comma-separated list of regular expressions that match the logical decoding message prefixes to be excluded from monit.. | null | null | null | null | null | null | null | null | null | null |
| message.prefix.include.list | A comma-separated list of regular expressions that match the logical decoding message prefixes to be monitored. All pref.. | null | null | null | null | null | null | null | null | null | null |
| money.fraction.digits | Number of fractional digits when money type is converted to 'precise' decimal number. | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| notification.enabled.channels | List of notification channels names that are enabled. | null | null | null | null | null | null | null | null | null | null |
| plugin.name | The name of the Postgres logical decoding plugin installed on the server. Supported values are '' and ''. Defaults to ''.. | decoderbufs | decoderbufs | decoderbufs | decoderbufs | decoderbufs | decoderbufs | decoderbufs | decoderbufs | decoderbufs | decoderbufs |
| poll.interval.ms | Time to wait for new change events to appear after receiving no events, given in milliseconds. Defaults to 500 ms. | null | null | null | null | null | null | null | null | null | null |
| provide.transaction.metadata | Enables transaction metadata extraction together with event counting | false | false | false | false | false | false | false | false | false | false |
| publication.autocreate.mode | Applies only when streaming changes using pgoutput.Determine how creation of a publication should work, the default is a.. | all_tables | all_tables | all_tables | all_tables | all_tables | all_tables | all_tables | all_tables | all_tables | all_tables |
| publication.name | The name of the Postgres 10+ publication used for streaming changes from a plugin. Defaults to '' | null | null | null | null | null | null | null | null | null | null |
| query.fetch.size | The maximum number of records that should be loaded into memory while streaming. A value of '0' uses the default JDBC fe.. | null | null | null | null | null | null | null | null | null | null |
| replica.identity.autoset.values | Applies only when streaming changes using pgoutput.Determines the value for Replica Identity at table level. This option.. | null | null | null | null | null | null | null | null | null | null |
| retriable.restart.connector.wait.ms | Time to wait before restarting connector after retriable exception occurs. Defaults to ms. | null | null | null | null | null | null | null | null | null | null |
| schema.name.adjustment.mode | Specify how schema names should be adjusted for compatibility with the message converter used by the connector, includin.. | none | none | none | none | none | none | none | none | none | none |
| schema.refresh.mode | Specify the conditions that trigger a refresh of the in-memory schema for a table. 'columns_diff' (the default) is the s.. | columns_diff | columns_diff | columns_diff | columns_diff | columns_diff | columns_diff | columns_diff | columns_diff | columns_diff | columns_diff |
| signal.data.collection | The name of the data collection that is used to send signals/commands to Debezium. For multi-partition mode connectors, .. | null | null | null | null | null | null | null | null | null | null |
| signal.enabled.channels | List of channels names that are enabled. Source channel is enabled by default | source | source | source | source | source | source | source | source | source | source |
| signal.poll.interval.ms | Interval for looking for new signals in registered channels, given in milliseconds. Defaults to 5 seconds. | 5000 | 5000 | 5000 | 5000 | 5000 | 5000 | 5000 | 5000 | 5000 | 5000 |
| skip.messages.without.change | Enable to skip publishing messages when there is no change in included columns.This would essentially filter messages to.. | false | false | false | false | false | false | false | false | false | false |
| skipped.operations | The comma-separated list of operations to skip during streaming, defined as: 'c' for inserts/create; 'u' for updates; 'd.. | t | t | t | t | t | t | t | t | t | t |
| slot.drop.on.stop | Whether or not to drop the logical replication slot when the connector finishes orderly. By default the replication is k.. | false | false | false | false | false | false | false | false | false | false |
| slot.max.retries | How many times to retry connecting to a replication slot when an attempt fails. | null | null | null | null | null | null | null | null | null | null |
| slot.name | The name of the Postgres logical decoding slot created for streaming changes from a plugin. Defaults to 'debezium | null | null | null | null | null | null | null | null | null | null |
| slot.retry.delay.ms | Time to wait between retry attempts when the connector fails to connect to a replication slot, given in milliseconds. De.. | null | null | null | null | null | null | null | null | null | null |
| slot.stream.params | Any optional parameters used by logical decoding plugin. Semi-colon separated. E.g. 'add-tables=public.table,public.tabl.. | null | null | null | null | null | null | null | null | null | null |
| snapshot.custom.class | When 'snapshot.mode' is set as custom, this setting must be set to specify a fully qualified class name to load (via the.. | null | null | — | — | — | — | — | — | — | — |
| snapshot.delay.ms | A delay period before a snapshot will begin, given in milliseconds. Defaults to 0 ms. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| snapshot.fetch.size | The maximum number of records that should be loaded into memory while performing a snapshot. | null | null | null | null | null | null | null | null | null | null |
| snapshot.include.collection.list | This setting must be set to specify a list of tables/collections whose snapshot must be taken on creating or restarting .. | null | null | null | null | null | null | null | null | null | null |
| snapshot.lock.timeout.ms | The maximum number of millis to wait for table locks at the beginning of a snapshot. If locks cannot be acquired in this.. | null | null | null | null | null | null | null | null | null | null |
| snapshot.max.threads | The maximum number of threads used to perform the snapshot. Defaults to 1. | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| snapshot.mode | The criteria for running a snapshot upon startup of the connector. Select one of the following snapshot options: 'always.. | initial | initial | initial | initial | initial | initial | initial | initial | initial | initial |
| snapshot.select.statement.overrides | This property contains a comma-separated list of fully-qualified tables (DB_NAME.TABLE_NAME) or (SCHEMA_NAME.TABLE_NAME).. | null | null | null | null | null | null | null | null | null | null |
| snapshot.tables.order.by.row.count | Controls the order in which tables are processed in the initial snapshot. A `descending` value will order the tables by .. | disabled | disabled | disabled | disabled | disabled | disabled | disabled | disabled | disabled | disabled |
| sourceinfo.struct.maker | The name of the SourceInfoStructMaker class that returns SourceInfo schema and struct. | null | null | null | null | null | null | null | null | null | null |
| status.update.interval.ms | Frequency for sending replication connection status updates to the server, given in milliseconds. Defaults to 10 seconds.. | null | null | null | null | null | null | null | null | null | null |
| table.ignore.builtin | Flag specifying whether built-in tables should be ignored. | true | true | true | true | true | true | true | true | true | true |
| time.precision.mode | Time, date, and timestamps can be represented with different kinds of precisions, including: 'adaptive' (the default) ba.. | adaptive | adaptive | adaptive | adaptive | adaptive | adaptive | adaptive | adaptive | adaptive | adaptive |
| tombstones.on.delete | Whether delete operations should be represented by a delete event and a subsequent tombstone event (true) or only by a d.. | true | true | true | true | true | true | true | true | true | true |
| topic.naming.strategy | The name of the TopicNamingStrategy class that should be used to determine the topic name for data change, schema change.. | null | null | null | null | null | null | null | null | null | null |
| topic.prefix | Topic prefix that identifies and provides a namespace for the particular database server/cluster is capturing changes. T.. | null | null | null | null | null | null | null | null | null | null |
| unavailable.value.placeholder | Specify the constant that will be provided by Debezium to indicate that the original value is unavailable and not provid.. | null | null | null | null | null | null | null | null | null | null |
| xmin.fetch.interval.ms | Specify how often (in ms) the xmin will be fetched from the replication slot. This xmin value is exposed by the slot whi.. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| incremental.snapshot.watermarking.strategy | Specify the strategy used for watermarking during an incremental snapshot: 'insert_insert' both open and close signal is.. | — | INSERT_INSERT | INSERT_INSERT | INSERT_INSERT | INSERT_INSERT | INSERT_INSERT | INSERT_INSERT | INSERT_INSERT | INSERT_INSERT | INSERT_INSERT |
| post.processors | Optional list of post processors. The processors are defined using '<post.processor.prefix>.type' config option and conf.. | — | null | null | null | null | null | null | null | null | null |
| event.converting.failure.handling.mode | Specify how failures during converting of event should be handled, including: 'fail' throw an exception that the column .. | — | — | warn | warn | warn | warn | warn | warn | warn | warn |
| snapshot.locking.mode | Controls how the connector holds locks on tables while performing the schema snapshot. The 'shared' which means the conn.. | — | — | none | none | none | none | none | none | none | none |
| snapshot.locking.mode.custom.name | When 'snapshot.locking.mode' is set as custom, this setting must be set to specify a the name of the custom implementati.. | — | — | null | null | null | null | null | null | null | null |
| snapshot.mode.configuration.based.snapshot.data | When 'snapshot.mode' is set as configuration_based, this setting permits to specify whenever the data should be snapshot.. | — | — | false | false | false | false | false | false | false | false |
| snapshot.mode.configuration.based.snapshot.on.data.error | When 'snapshot.mode' is set as configuration_based, this setting permits to specify whenever the data should be snapshot.. | — | — | false | false | false | false | false | false | false | false |
| snapshot.mode.configuration.based.snapshot.on.schema.error | When 'snapshot.mode' is set as configuration_based, this setting permits to specify whenever the schema should be snapsh.. | — | — | false | false | false | false | false | false | false | false |
| snapshot.mode.configuration.based.snapshot.schema | When 'snapshot.mode' is set as configuration_based, this setting permits to specify whenever the schema should be snapsh.. | — | — | false | false | false | false | false | false | false | false |
| snapshot.mode.configuration.based.start.stream | When 'snapshot.mode' is set as configuration_based, this setting permits to specify whenever the stream should start or .. | — | — | false | false | false | false | false | false | false | false |
| snapshot.mode.custom.name | When 'snapshot.mode' is set as custom, this setting must be set to specify a the name of the custom implementation provi.. | — | — | null | null | null | null | null | null | null | null |
| snapshot.query.mode | Controls query used during the snapshot | — | — | select_all | select_all | select_all | select_all | select_all | select_all | select_all | select_all |
| snapshot.query.mode.custom.name | When 'snapshot.query.mode' is set as custom, this setting must be set to specify a the name of the custom implementation.. | — | — | null | null | null | null | null | null | null | null |
| database.query.timeout.ms | Time to wait for a query to execute, given in milliseconds. Defaults to 600 seconds (600,000 ms); zero means there is no.. | — | — | — | 600000 | 600000 | 600000 | 600000 | 600000 | 600000 | 600000 |
| read.only | Switched connector to use alternative methods to deliver signals to Debezium instead of writing to signaling table | — | — | — | false | false | false | false | false | false | false |
| streaming.delay.ms | A delay period after the snapshot is completed and the streaming begins, given in milliseconds. Defaults to 0 ms. | — | — | — | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| transaction.metadata.factory | Class to make transaction context & transaction struct/schemas | — | — | — | null | null | null | null | null | null | null |
| slot.failover | Whether or not to create a failover slot. This is only supported when connecting to a primary server of a Postgres clust.. | — | — | — | — | false | false | false | false | false | false |
| snapshot.isolation.mode | Controls which transaction isolation level is used. The default is '', which means that serializable isolation level is .. | — | — | — | — | serializable | serializable | serializable | serializable | serializable | serializable |
| connection.validation.timeout.ms | The maximum time in milliseconds to wait for connection validation to complete. Defaults to 60 seconds. | — | — | — | — | — | — | null | null | null | null |
| executor.shutdown.timeout.ms | The maximum time in milliseconds to wait for task executor to shut down. | — | — | — | — | — | — | null | null | null | null |
| lsn.flush.timeout.action | Action to take when an LSN flush timeout occurs. Options include: 'fail' (default) to fail the connector; 'warn' to log .. | — | — | — | — | — | — | fail | fail | fail | fail |
| lsn.flush.timeout.ms | Maximum time in milliseconds to wait for LSN flush operation to complete. If the flush operation does not complete withi.. | — | — | — | — | — | — | null | null | null | null |
| publish.via.partition.root | A boolean that determines whether the connector should publish changes via the partition root. When true, changes are pu.. | — | — | — | — | — | — | false | false | false | false |
| guardrail.collections.limit.action | Specify the action to take when a guardrail collections limit is exceeded: 'warn' (the default) logs a warning message a.. | — | — | — | — | — | — | — | warn | warn | warn |
| guardrail.collections.max | The maximum number of collections or tables that can be captured by the connector. When this limit is exceeded, the acti.. | — | — | — | — | — | — | — | 0 | 0 | 0 |
| lsn.flush.mode | Determines the LSN flushing strategy. Options include: 'connector' (default) for Debezium managed LSN flushing (replaces.. | — | — | — | — | — | — | — | — | null | null |
| offset.mismatch.strategy | Determines behavior when the connector's stored offset LSN differs from the replication slot's confirmed LSN. 'no_valida.. | — | — | — | — | — | — | — | — | no_validation | no_validation |
| snapshot.max.threads.multiplier | The factor used to scale the number of snapshot chunks per table. The default behavior is to take 'row_count/snapshot.ma.. | — | — | — | — | — | — | — | — | — | 1 |