anchor.diff:  :source-highlighter: highlight.js
   
   toc::[]
  +
  +{prodname}'s PostgreSQL connector captures row-level changes in the schemas of a PostgreSQL database. PostgreSQL versions 9.6, 10, 11, and 12 are supported. 
   endif::community[]
  -
  +ifdef::product[]
   {prodname}'s PostgreSQL connector captures row-level changes in the schemas of a PostgreSQL database. PostgreSQL versions 10, 11, and 12 are supported. 
  +endif::product[]
   
   The first time it connects to a PostgreSQL server or cluster, the connector takes a consistent snapshot of all schemas. After that snapshot is complete, the connector continuously captures row-level changes that insert, update, and delete database content and that were committed to a PostgreSQL database. The connector generates data change event records and streams them to Kafka topics. For each table, the default behavior is that the connector streams all generated events to a separate Kafka topic for that table. Applications and services consume data change event records from that topic. 
   
  
positive.code: |`TSTZRANGE`
  |`STRING`
  |n/a
  |Contains the string representation of a timestamp range with the local system  time zone.
  
  |`DATERANGE`
  |`STRING`
  
negative.code: [[postgresql-custom-snapshot]]
  === Custom snapshotter SPI
  
  For more advanced uses, you can provide an implementation of the `io.debezium.connector.postgresql.spi.Snapshotter` interface. This interface allows control of most of the aspects of how the connector performs snapshots. This includes whether or not to take a snapshot, the options for opening the snapshot transaction, and whether to take locks. 
  
  Following is the full API for the interface. All built-in snapshot modes implement this interface.
  
  