What is Sequin?
Start streaming changes from Postgres in under five minutes
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?