Class PostgresConnector

java.lang.Object
org.apache.kafka.connect.connector.Connector
org.apache.kafka.connect.source.SourceConnector
io.debezium.connector.common.RelationalBaseSourceConnector
io.debezium.connector.postgresql.PostgresConnector
All Implemented Interfaces:
org.apache.kafka.connect.components.Versioned

public class PostgresConnector extends RelationalBaseSourceConnector
A Kafka Connect source connector that creates tasks which use Postgresql streaming replication off a logical replication slot to receive incoming changes for a database and publish them to Kafka.

Configuration

This connector is configured with the set of properties described in PostgresConnectorConfig.

Author:
Horia Chiorean
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • props

      private Map<String,String> props
  • Constructor Details

    • PostgresConnector

      public PostgresConnector()
  • Method Details

    • version

      public String version()
    • taskClass

      public Class<? extends org.apache.kafka.connect.connector.Task> taskClass()
      Specified by:
      taskClass in class org.apache.kafka.connect.connector.Connector
    • start

      public void start(Map<String,String> props)
      Specified by:
      start in class org.apache.kafka.connect.connector.Connector
    • taskConfigs

      public List<Map<String,String>> taskConfigs(int maxTasks)
      Specified by:
      taskConfigs in class org.apache.kafka.connect.connector.Connector
    • stop

      public void stop()
      Specified by:
      stop in class org.apache.kafka.connect.connector.Connector
    • config

      public org.apache.kafka.common.config.ConfigDef config()
      Specified by:
      config in class org.apache.kafka.connect.connector.Connector
    • validateConnection

      protected void validateConnection(Map<String,org.apache.kafka.common.config.ConfigValue> configValues, Configuration config)
      Specified by:
      validateConnection in class RelationalBaseSourceConnector
    • exactlyOnceSupport

      public org.apache.kafka.connect.source.ExactlyOnceSupport exactlyOnceSupport(Map<String,String> connectorConfig)
      Overrides:
      exactlyOnceSupport in class org.apache.kafka.connect.source.SourceConnector
    • checkLoginReplicationRoles

      private static void checkLoginReplicationRoles(PostgresConnection connection) throws SQLException
      Throws:
      SQLException
    • checkWalLevel

      private static void checkWalLevel(PostgresConnection connection, PostgresConnectorConfig config) throws SQLException
      Throws:
      SQLException
    • testConnection

      private static void testConnection(PostgresConnection connection) throws SQLException
      Throws:
      SQLException
    • validateAllFields

      protected Map<String,org.apache.kafka.common.config.ConfigValue> validateAllFields(Configuration config)
      Specified by:
      validateAllFields in class RelationalBaseSourceConnector