anchor.diff:  This can lead to unexpected conflicts when the logical server name, schema names, and table names contain other characters, and the only distinguishing characters between table full names are invalid and thus replaced with underscores.
   ====
   
  -Debezium and Kafka Connect are designed around _continuous streams of event messages_, and the structure of these events may change over time. This could be difficult for consumers to deal with, so to make it very easy Kafka Connect makes each event self-contained. Every message key and value has two parts: a _schema_ and _payload_. The schema describes the structure of the payload, while the payload contains the actual data.
  +Debezium and Kafka Connect are designed around _continuous streams of event messages_, and the structure of these events may change over time. This could be difficult for consumers to deal with, so to make it easy Kafka Connect makes each event self-contained. Every message key and value has two parts: a _schema_ and _payload_. The schema describes the structure of the payload, while the payload contains the actual data.
   
   [[change-events-key]]
   ==== Change event's key
  
positive.code:     "kafkaPartition": null
  ----
  
  The PostgreSQL connector uses only 1 partition for its events and it places these events into 1 Kafka partition. Therefore, the name of the `sourcePartition` will always default to the name of the `database.server.name` configuration property, while the `kafkaPartition` has the value `null` which means that the connector does not use a specific Kafka partition.
  
  The `sourceOffset` portion of the message contains information about the location of the server where the event occurred:
  
  
negative.code: Since this is a relatively new feature, it has some limitations which are also reflected by the connector:
  
  . Logical Decoding does not support DDL changes: this means that the connector is unable to report DDL change events back to consumers.
  . Logical Decoding replication slots are only supported on `master` servers: this means that when there is a cluster of PostgreSQL servers, the connector can only run on the active `master` server. It cannot run on `hot` or `warm` standby replicas. If the `master` server fails or is demoted, the connector will stop. Once the `master` has recovered the connector can simply be restarted. If a different PostgreSQL server has been promoted to `master`, the connector configuration must be adjusted before the connector is restarted. Make sure you read more about how the connector behaves link:#when-things-go-wrong[when things go wrong].
  
  [[setting-up-PostgreSQL]]
  == Setting up PostgreSQL
  
  Before using the Debezium PostgreSQL connector to monitor the changes committed on a PostgreSQL server, first install the logical decoding plugin into the PostgreSQL server, enable a replication slot, and configure a user with sufficient privileges to perform the replication.
  
  The following sections outline how to do this in PostgreSQL.
  
  [[output-plugin]]
  === Installing the logical decoding output plugin
  
  As of PostgreSQL 9.4, the only way to read changes to the write-ahead-log is to first install a logical decoding output plugin. Plugins are written in C, compiled, and installed on the machine which runs the PostgreSQL server. Plugins use  a number of PostgreSQL specific APIs, as described by the https://www.postgresql.org/docs/9.6/static/logicaldecoding-output-plugin.html[_PostgreSQL documentation_].
  
  Debezium's PostgreSQL connector works with Debezium's logical decoding plugin to encodes the changes in https://github.com/google/protobuf[_Protobuf format_]. The https://github.com/debezium/postgres-decoderbufs/blob/master/README.md[_on the plugin's documentation_] describes the plugin's requirements, limitations, and how to compile it.
  
  For simplicity, Debezium also provides a Docker image based on a vanilla PostgreSQL server image on top of which it compiles and installs the plugin. We recommend https://github.com/debezium/docker-images/tree/master/postgres/9.6[_using this image_] as an example of the detailed steps required for the installation.
  
  [WARNING]
  ====
  The Debezium logical decoding plugin has only been installed and tested on _Linux_ machines. For Windows and other OSes it may require different installation steps  
  ====
  
  [[server-configuration]]
  ==== Configuring the PostgreSQL server 
  
  Once the link:#output-plugin[plugin] has been installed, configure the server to load the plugin at startup and to define  replication slots: 
  
  *postgresql.conf*
  [source]
  