Skip to content

PostgreSQL advanced settings

In most cases, the advanced settings won't be required, however Matillion CDC does provide some additional configuration items when setting up your pipelines. Take a moment to understand what these advanced settings are, and what they achieve before incorporating them in your pipeline. If you're unclear about a particular setting, reach out to Matillion for support.


Pipeline advanced settings

At the end of your Add Pipeline journey, advanced settings can be applied in the Data Loader UI. To modify specific advanced settings, see the sections below.

slot.name

This setting must be used if you want to have more than one pipeline using the same source postgres database.

The name of the PostgreSQL logical decoding slot that's created for streaming changes from a particular plug-in for a particular database/schema. A valid replication slot name must contain only digits, lowercase characters, and underscores with a length of <= 63.

A unique identifier (slot name) associated with a replication slot will be generated, and the default name will be matillion_cdc. A replication slot is a feature provided by the PostgreSQL database management system, to facilitate streaming replication and CDC. The agent can connect to the replication slot by referencing the slot name, and consume the captured changes in real-time. When the agent connects, it will look for the replication slot name, matillion_cdc, and if it doesn't find it, then the agent will create one.

time.precision.mode

A simplified explanation of the mappings for temporal types in PostgreSQL based on the time.precision.mode configuration property:

  1. When the time.precision.mode property is set to adaptive, which is the default setting, the connector determines the literal type and semantic type for temporal columns based on their data type definition. This approach guarantees that the events accurately reflect the values stored in the database.
  2. When the time.precision.mode property is set to connect, the connector uses connector-logical types to represent temporal types. This can be beneficial when consumers are limited to handling the standard logical types and cannot handle variable-precision time values. However, it's important to note that choosing this mode may lead to a loss of precision for PostgreSQL columns that have a fractional second precision greater than 3.