SkillAgentSearch skills...

Sequin

Postgres change data capture to streams, queues, and search indexes like Kafka, SQS, Elasticsearch, HTTP endpoints, and more

Install / Use

/learn @sequinstream/Sequin
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <img src="https://sqn-img-svr.eric-65f.workers.dev/?page=readme" alt="Sequin" height="80" /> <p align="center"> <a href="https://sequinstream.com/docs">Documentation</a> · <a href="https://sequinstream.com">Website</a> · <a href="https://discord.gg/BV8wFXvNtY">Discord</a> · <a href="https://join.slack.com/t/sequin-community/shared_invite/zt-37begzach-4aUwR5xt_XgivdvctZDemA">Slack</a> · <a href="https://blog.sequinstream.com/">Blog</a> </p> </div>

Sequin

Sequin is the fastest change data capture (CDC) platform for Postgres. Sequin makes it easy to stream Postgres to streaming platforms, queues, search indexes, and more (e.g. Kafka, GCP Pub/Sub, another Postgres, etc.). You can backfill existing rows and stream new changes in real-time.

Sequin is a standalone Docker container that you can deploy next to your Postgres database.

For production deployments on AWS, see the deployment/ directory for Terraform infrastructure-as-code templates.

Sequin is open source. To help us make this project great, tell us what you're building in our Discord server or Slack community.

Getting started

See our quickstart to get up and running in your dev environment in about 5 minutes.

Performance

Sequin delivers industry-leading performance for change data capture (CDC), sustaining 50k operations per second (40 MB/s) with 55ms average latency.

| Tool / Deployment | Sustained throughput | Avg latency | 99p latency | |-------------------|----------------------|-------------|-------------| | Sequin | >50 k ops / s | 55 ms | 253 ms | | Debezium · MSK | 6 k ops / s | 258 ms | 499 ms | | Debezium · Server | 23 k ops / s | 210 ms  | 440 ms | | Fivetran | - | 5+ minutes | - | | Airbyte | - | 1+ hours | - |

Read more about our benchmarking methodology and performance in our docs.

Use cases

Sequin works great for change data capture use cases like:

  • Streaming events: Stream database changes as events for other services to consume using Kafka, SQS, Pub/Sub and more.
  • Audit logging: Track, enrich, and record every change in your database for compliance or feature development.
  • Maintaining a cache: Keep application caches in sync with your database by streaming changes to Redis compliant caches.
  • Refreshing search indexes: End-to-end tooling to warm search indexes like Typesense and Elasticsearch and keep them in sync with sub-second latency.

Sinks

| Icon | Sink | Docs | Description | |------|------|------|-------------| | <img src="docs/images/introduction/azure.png" alt="Azure EventHubs" width="24" height="24" /> | Azure EventHubs | Reference | Publish messages to Azure EventHubs | | <img src="docs/images/introduction/pub-sub.png" alt="GCP Pub/Sub" width="24" height="24" /> | GCP Pub/Sub | Reference | Publish messages to Google Cloud Pub/Sub topics | | <img src="docs/images/introduction/elastic.png" alt="Elasticsearch" width="24" height="24" /> | Elasticsearch | Reference | Index database changes with Elasticsearch | | <img src="docs/images/introduction/sequin-stream.svg" alt="HTTP Pull" width="24" height="24" /> | Sequin Stream (HTTP GET) | Reference | Consume changes directly from Sequin with exactly-once processing | | <img src="docs/images/introduction/kafka.svg" alt="Kafka" width="24" height="24" /> | Kafka | Reference | Stream changes to Apache Kafka topics | | <img src="docs/images/introduction/kinesis.png" alt="Kinesis" width="24" height="24" /> | Kinesis | Reference | Send messages to Amazon Kinesis streams queues | | <img src="docs/images/introduction/meilisearch.png" alt="Meilisearch" width="24" height="24" /> | Meilisearch | Reference | Index database changes with Meilisearch | | <img src="docs/images/introduction/nats.png" alt="NATS" width="24" height="24" /> | NATS | Reference | Stream changes to NATS subjects | | <img src="docs/images/introduction/rabbit.png" alt="RabbitMQ" width="24" height="24" /> | RabbitMQ | Reference | Publish messages to RabbitMQ exchanges | | <img src="docs/images/introduction/redis-1.png" alt="Redis Stream" width="24" height="24" /> | Redis Stream | Reference | XADD to Redis Streams | | <img src="docs/images/introduction/redis-2.png" alt="Redis String" width="24" height="24" /> | Redis String | Reference | SET to Redis keys | | <img src="docs/images/introduction/s2.png" alt="S2" width="24" height="24" /> | S2 | Reference | Send messages to S2 streams | | <img src="docs/images/introduction/sqs.png" alt="SQS" width="24" height="24" /> | SQS | Reference | Send messages to Amazon SQS queues | | <img src="docs/images/introduction/sns.png" alt="SNS" width="24" height="24" /> | SNS | Reference | Send messages to Amazon SNS | | <img src="docs/images/introduction/typesense.png" alt="Typesense" width="24" height="24" /> | Typesense | Reference | Index database changes with Typesense | | <img src="docs/images/introduction/webhook.png" alt="Webhook" width="24" height="24" /> | Webhooks (HTTP POST) | Reference | Send changes to any HTTP endpoint |

Killer features

  • Bring your database: Sequin is not an extension. It works with any Postgres database version 14+.
  • Never miss a change: Sequin ensures 100% delivery of database changes to sinks with strict ordering.
  • Filters: Write custom filters to exclude or include changes to sink.
  • Transforms: Transform message payloads by writing functions in low-latency Elixir.
  • Routing: Route messages to specific topics, endpoints, or indexes.
  • Exactly-once processing: Sequin ensures exactly-once processing of database changes using idempotency keys.
  • Backfills: Backfill sinks at any point in time. Run partial backfills to only replay specific rows.
  • Infrastructure as code: Manage Sequin as code using a YAML file paired with the Sequin CLI. Or use our Management API.
  • Rich web console: Your team can configure and monitor sinks from a full feature web console.
  • Observability: Sequin ships a Prometheus metrics endpoint.

How Sequin works

Sequin connects to any Postgres database. Specify the schemas and tables you want to stream, as well as optional filters and transformations. Route changes to sinks like Kafka, Google Pub/Sub, Redis, etc.

When you setup a sink, you can opt to backfill data from the source table to the sink.

After setup, Sequin will stream new changes to the sink as they occur in real-time. If there are any issues with delivery, Sequin will automatically retry delivery with exponential backoff.

Sequin comes with a web console/UI for configuration and monitoring. You can also configure Sequin as code using YAML config files and our Management API.

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?

Existing tools like Debezium require significant infrastructure to operate (Kafka), endless guess-and-check configuration, and limited tooling. Other ETL tools (e.g. Fivetran) run in batches and are expensive.

This leads many teams to build brittle, homegrown solutions that are difficult

Related Skills

View on GitHub
GitHub Stars2.0k
CategoryData
Updated2h ago
Forks124

Languages

Elixir

Security Score

100/100

Audited on Mar 26, 2026

No findings