Skip to main content
This page covers the self-hosted-specific steps to prepare your PostgreSQL instance for ELT & CDC. After completing them, follow the common setup (sync user grants, heartbeat table, publication, and replication slot) on the PostgreSQL source for ELT & CDC page.

Requirements

  • PostgreSQL version 10 or above.
  • Connect to the primary instance. Logical replication only works on the primary.
  • Tables with a PRIMARY KEY.
  • Network access from Integrate.io to your database (direct, SSH tunnel, or reverse SSH tunnel).

Enable logical replication

Set wal_level to logical:
ALTER SYSTEM SET wal_level TO 'logical';
Restart the database for the change to take effect.

Allow the sync user to replicate

In pg_hba.conf, ensure the sync user has both regular and replication connection entries from the Integrate.io source IPs, for example:
host    <database>    integrateio    <integrateio_ip>/32    md5
host    replication   integrateio    <integrateio_ip>/32    md5
Reload PostgreSQL after editing pg_hba.conf. After creating the sync user (see the common setup), grant the replication attribute:
ALTER ROLE integrateio WITH REPLICATION;

Next: common setup

Continue with the canonical PostgreSQL setup for the remaining steps — sync user privileges (USAGE, SELECT, REFERENCES), heartbeat table, publication, and replication slot:

PostgreSQL source for ELT & CDC

SSH Tunnel

Reverse SSH Tunnel

Last modified on June 2, 2026