anchor.diff:  |`TSTZRANGE`
   |`STRING`
   |n/a
  -|Contains the string representation of a timestamp range with the local system  time zone.
  +|Contains the string representation of a timestamp range with the local system time zone.
   
   |`DATERANGE`
   |`STRING`
  
positive.code: 
  * The {link-prefix}:{link-postgresql-connector}#postgresql-server-configuration[PostgreSQL server] is configured to support logical replication.
  
  * The {link-prefix}:{link-postgresql-connector}#postgresql-output-plugin[logical decoding plug-in] is installed.
  
  * The PostgreSQL connector is installed. 
  
  
negative.code: 
  As of release 12, PostgreSQL allows logical replication slots _only on primary servers_. This means that you can point a {prodname} PostgreSQL connector to only the active primary server of a database cluster.
  Also, replication slots themselves are not propagated to replicas.
  If the primary server goes down, a new primary must be promoted. 
  
  ifdef::community[]
  The new primary must have the {link-prefix}:{link-postgresql-connector}#installing-postgresql-output-plugin[logical decoding plug-in] installed and a replication slot that is configured for use by the plug-in and the database for which you want to capture changes. Only then can you point the connector to the new server and restart the connector. 
  endif::community[]
  
  ifdef::product[]
  The new primary must have a replication slot that is configured for use by the `pgoutput` plug-in and the database in which you want to capture changes. Only then can you point the connector to the new server and restart the connector. 
  endif::product[]
  
  There are important caveats when failovers occur and you should pause {prodname} until you can verify that you have an intact replication slot that has not lost data. After a failover: 
  
  