Sequin is a change data capture (CDC) tool that makes it easy to stream changes from your Postgres database to streaming platforms, queues, and other destinations.

To use Sequin, you’ll configure sinks for one or more tables in your database. Sequin will then stream changes to your chosen destinations like Kafka, SQS, Redis, or HTTP endpoints. You can backfill existing rows and stream new changes in real-time.

Sequin works great for CDC use cases like:

Trigger Workflows

Execute custom business logic whenever specific rows are inserted, updated, or deleted in your database.

Stream Events

Make database changes available as events for other services to consume.

Keep Services in Sync

Notify dependent services about data changes to keep systems in sync.

Audit Logging

Track and record all changes made to data in your database for compliance or feature development.

Database Sync

Keep tables synchronized across different database instances in real-time.

Derived Tables

Create and maintain derived tables based on changes to source tables.

Cache Management

Keep application caches up-to-date by streaming database changes.

Redis Integration

Automatically update Redis when your Postgres data changes.

Search Indexing

Keep search indexes fresh by streaming updates from your database.

Sequin is a Docker image you can run next to your Postgres database. Sequin itself is built on Postgres and uses Postgres to store sink state.

Supported Sinks

Sequin supports streaming to:

  • Kafka
  • Amazon SQS
  • Redis Streams
  • Webhooks (HTTP POST)
  • Sequin Stream (HTTP Pull/GET)
  • More coming soon! (NATS, EventHubs, Pub/Sub, SNS, Kinesis, RabbitMQ, RedPanda)

Killer features

  • Never miss a change: Sequin ensures 100% delivery of database changes to sinks.
  • SQL-based routing: Filter and route messages to sinks using SQL where conditions.
  • Backfills: Easily backfill existing rows from your tables to sinks.
  • Bring your database: Sequin is not an extension. It works with any Postgres database version 12+.
  • Transforms (coming soon!): Transform message payloads by writing functions in Lua, JavaScript, or Go.

Why Sequin?

We all know Postgres is great for storing and querying data. But what about when you need to stream changes to other systems?

Postgres has limited support for change streaming. While Postgres supports logical replication, it’s ephemeral and doesn’t support features developers need like exactly-once processing, backfills, or delivery tracking.

Debezium is a popular CDC tool, but is complicated to setup and requires Kafka and Zookeeper to operate. Adding to the complexity, Debezium doesn’t have native sinks, instead relying on Kafka Connect.

ETL tools like Fivetran and Airbyte have limited support for operational destinations. And they write changes in batches, not in real-time.

Sequin is a fast, simple alternative to Debezium. It’s built on Postgres, streams changes in real-time, and doesn’t require Kafka or Zookeeper to operate. Sequin also has native sinks for Kafka, SQS, Redis, and HTTP endpoints. So it’s easy to get started.

Getting started

Sequin is available as a Docker image or cloud service. See the following docs to get up and running:

Run Sequin

If you’re not using Sequin Cloud, install and setup Sequin in about 5 minutes.

Webhooks Quickstart

Stream changes to a webhook endpoint in about 3 minutes.

SQS Quickstart

Stream changes to an Amazon SQS queue in about 3 minutes.

Kafka Quickstart

Stream changes to a Kafka topic in about 3 minutes.

Redis Quickstart

Stream changes to a Redis stream in about 3 minutes.

Sequin Stream Quickstart

Stream changes to a Sequin Stream in about 3 minutes.

Getting help

Was this page helpful?