/

Postgres

Database connector

Postgres

Stream every insert, update and delete from Postgres into Tessel as a typed event. Use it to trigger workflows, enrich runs and write results back to your tables.

Connect Postgres
Connect Postgres
See setup steps
See setup steps

Database

Category

CDC

Sync mode

p95 380 ms

Latency

6 min

Setup time

What it can do

Triggers · 3
  • Row insertedCDC
  • Row updatedCDC
  • Row deletedCDC
Actions · 4
  • Run a read queryRead
  • Insert a rowWrite
  • Update rowsWrite
  • Upsert by keyWrite

Overview

The Postgres connector reads changes straight from the write-ahead log, so workflows react to what happened in your database without polling. Each change arrives as a typed event with the table schema attached, and every event shows up in the trace of the run it started.

Teams use it to start invoice matching when a payment row lands, to sync account changes into Salesforce and to alert a channel when an order sits unpaid for too long.

Supported versions

  • Postgres 12 to 17, self-hosted or managed

  • Amazon RDS and Aurora, Google Cloud SQL, Azure Database, Supabase and Neon

  • Connections over TLS, with optional SSH tunnel or AWS PrivateLink

How CDC works

Tessel creates a publication for the tables you choose and a logical replication slot that it reads continuously. Changes are decoded with pgoutput, checked against the schema and delivered in commit order. If Tessel pauses, the slot holds your place, so no change is skipped.

CREATE PUBLICATION tessel_pub
  FOR TABLE public.invoices, public.payments;

SELECT pg_create_logical_replication_slot(
  'tessel_slot', 'pgoutput');
CREATE PUBLICATION tessel_pub
  FOR TABLE public.invoices, public.payments;

SELECT pg_create_logical_replication_slot(
  'tessel_slot', 'pgoutput');
CREATE PUBLICATION tessel_pub
  FOR TABLE public.invoices, public.payments;

SELECT pg_create_logical_replication_slot(
  'tessel_slot', 'pgoutput');

Backfill

On first connect, Tessel can snapshot existing rows so a new workflow starts with full history. Snapshots run in batches of 10,000 rows and do not lock your tables.

Permissions needed

Create a dedicated role for Tessel. It needs replication and read access to the tables in the publication. Write access is only required if a workflow uses the insert, update or upsert actions.

  • REPLICATION on the role, or rds_replication on RDS

  • SELECT on every table in the publication

  • INSERT and UPDATE only on tables you write back to

Setup

Five steps. About six minutes.

Most of the time goes into creating the role. Tessel checks each step before you move on.

  1. Set wal_level to logical and restart if neededPostgres2 min
  2. Create a tessel role with replication and selectPostgres1 min
  3. Allow Tessel's static IPs for your regionNetwork1 min
  4. Paste the connection string and pick tablesTessel1 min
  5. Insert a test row and watch the event arriveVerify380 ms

Your tables, in a workflow today.

Connect Postgres on the free plan. Up to three builders and 10,000 runs a month, no card required.

Connect Postgres
Connect Postgres
All integrations
All integrations

One email a month. Only what shipped.

A1

Product

C1

Layouts

D1

Company

E1

Template

F1

All systems operational
fra41 ms
iad38 ms
sin52 ms

C2

Elsewhere

XLinkedInGitHubYouTube

E2

Move across the wordmark168 blocks · iso 30°

One email a month. Only what shipped.

A1

Product

C1

Layouts

D1

Company

E1

Template

F1

All systems operational
fra41 ms
iad38 ms
sin52 ms

C2

Elsewhere

XLinkedInGitHubYouTube

E2

Move across the wordmark168 blocks · iso 30°

One email a month. Only what shipped.

A1

Product

C1

Layouts

D1

Company

E1

Template

F1

All systems operational
fra41 ms
iad38 ms
sin52 ms

C2

Elsewhere

XLinkedInGitHubYouTube

E2

Move across the wordmark168 blocks · iso 30°

Create a free website with Framer, the website builder loved by startups, designers and agencies.