> ## Documentation Index
> Fetch the complete documentation index at: https://sequinstream.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# What is Sequin?

> Discover how to use Sequin to build real-time Postgres change data capture pipelines.

Sequin is [the fastest](/performance) change data capture (CDC) tool to stream changes from your Postgres database to streaming platforms, queues, and other destinations.

To use Sequin, you'll configure [sinks](/reference/sinks/overview) 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.

## Use cases

Sequin works great for CDC use cases like:

<CardGroup cols={2}>
  <Card title="Streaming events" icon="arrow-right" href="/how-to/trigger-automated-workflows">
    Stream database changes as events for other services to consume using Kafka, SQS, Pub/Sub and more.
  </Card>

  <Card title="Audit logging" icon="clipboard-list" href="/how-to/create-audit-logs">
    Track, enrich, and record every change in your database for compliance or feature development.
  </Card>

  <Card title="Search indexing" icon="magnifying-glass" href="/how-to/sync-search-indexes">
    End-to-end tooling to warm search indexes like Typesense and Elasticsearch and keep them in sync with sub-second latency.
  </Card>

  <Card title="Managing caches" icon="memory" href="/how-to/maintain-caches">
    Keep application caches in sync with your database by streaming changes to Redis compliant caches.
  </Card>
</CardGroup>

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.

## Get started

Connect to your database and start streaming changes in just a few minutes. Sequin supports the following sinks:

<Card title="Run Sequin" icon="docker" href="/running-sequin" horizontal>
  Install and setup Sequin on your own infrastructure.
</Card>

<CardGroup cols={4}>
  <Card title="Azure Event Hubs" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/azure.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=19d16cd99d7bb73871fa664eade6d2ca" href="/quickstart/azure-event-hubs" width="500" height="500" data-path="images/introduction/azure.png" />

  <Card title="AWS SQS" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/sqs.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=782a982cab4ac448257fc69044682baf" href="/quickstart/sqs" width="500" height="500" data-path="images/introduction/sqs.png" />

  <Card title="AWS SNS" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/sns.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=4a75d975e28591205ceb10ad8c2643fa" href="/quickstart/sns" width="500" height="500" data-path="images/introduction/sns.png" />

  <Card title="AWS Kinesis" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/kinesis.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=ee56191ebab12de19cd6a4974121635e" href="/quickstart/kinesis" width="500" height="500" data-path="images/introduction/kinesis.png" />

  <Card title="Elasticsearch" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/elastic.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=ea76604abc163c2cbcf3a834b88341b4" href="/quickstart/elasticsearch" width="500" height="500" data-path="images/introduction/elastic.png" />

  <Card title="GCP Pub/Sub" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/pub-sub.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=ddf8d506ca2be35e905334e90edb2803" href="/quickstart/gcp-pubsub" width="500" height="500" data-path="images/introduction/pub-sub.png" />

  <Card title="Kafka" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/kafka.svg?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=524bba8e202132f152ac697e6315de97" href="/quickstart/kafka" width="250" height="250" data-path="images/introduction/kafka.svg" />

  <Card title="Meilisearch" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/meilisearch.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=cdca576814afbc601d5b65a49fae5dfc" href="/quickstart/meilisearch" width="500" height="500" data-path="images/introduction/meilisearch.png" />

  <Card title="NATS" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/nats.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=e2d929a77b25a096ff469e1816339a18" href="/quickstart/nats" width="500" height="500" data-path="images/introduction/nats.png" />

  <Card title="RabbitMQ" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/rabbit.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=95ad4ecb866b1e5000ddaa89d7c16780" href="/quickstart/rabbitmq" width="500" height="500" data-path="images/introduction/rabbit.png" />

  <Card title="Redis Streams" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/redis-1.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=f87a73ecbec3f689da8269d6f46d853c" href="/quickstart/redis-stream" width="500" height="500" data-path="images/introduction/redis-1.png" />

  <Card title="Redis Strings" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/redis-2.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=c21a049a40f9a769913c7714449fa691" href="/quickstart/redis-stream" width="500" height="500" data-path="images/introduction/redis-2.png" />

  <Card title="S2" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/s2.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=67745d58e2bc769931ae291fa98e6eec" href="/quickstart/s2" width="500" height="500" data-path="images/introduction/s2.png" />

  <Card title="Sequin Stream" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/sequin-stream.svg?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=981c453130ed73f2df22d517a6f85442" href="/quickstart/sequin-stream" width="250" height="250" data-path="images/introduction/sequin-stream.svg" />

  <Card title="Typesense" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/typesense.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=54e63956465001c06ae1e8e9508a4e9c" href="/quickstart/typesense" width="500" height="500" data-path="images/introduction/typesense.png" />

  <Card title="Webhooks" img="https://mintcdn.com/sequinstream/BsnEA8B24cYdMBsV/images/introduction/webhook.png?fit=max&auto=format&n=BsnEA8B24cYdMBsV&q=85&s=544357fe7e61048a39bd241f7156480a" href="/quickstart/webhooks" width="500" height="500" data-path="images/introduction/webhook.png" />
</CardGroup>

<Card title="More coming soon" icon="plus" href="https://github.com/sequinstream/sequin/issues" horizontal>
  Tell us what sink you'd like to see next.
</Card>

## 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](/concepts/consistency-model) with strict ordering.
* **Filters:** Write custom [filters](/reference/filters) to exclude or include changes to sink.
* **Transforms**: [Transform](/reference/transforms) message payloads by writing functions in low-latency Elixir.
* **Routing:** [Route](/reference/routing) messages to specific topics, endpoints, or indexes.
* **Exactly-once processing:** Sequin ensures exactly-once processing of database changes using [idempotency keys](/reference/messages#idempotency).
* **Backfills:** [Backfill](/reference/backfills) sinks at any point in time. Run partial backfills to only replay specific rows.
* **Observability:** Sequin exposes a [metrics endpoint](/reference/metrics) using Prometheus and comes with a Grafana dashboard.
* **End-to-end tooling:** Start with the Sequin console, then use the [CLI](/reference/cli), [sequin.yml](/reference/sequin-yaml) and [API](/management-api/introduction) to manage your sinks.

## 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.

Existing tools aren't much better. Debezium is complicated to setup, requires Kafka to scale, and caps out at 20,000 changes per second. Other options like Airbyte and Decodable simply wrap Debezium. While ETL tools like Fivetran have limited support for operational destinations and write changes in batches, not in real-time.

Sequin provides the fastest, simplest experience for streaming data from Postgres. It streams changes in real-time and doesn't require complex infrastructure to operate.

## Getting help

<Card title="Join our Discord" icon="discord" href="https://discord.gg/BV8wFXvNtY" horizontal>
  Chat with the Sequin team and get help from the community.
</Card>

<Card title="Join our Slack" icon="slack" href="https://join.slack.com/t/sequin-community/shared_invite/zt-37begzach-4aUwR5xt_XgivdvctZDemA" horizontal>
  Just like Discord, but for those who prefer Slack.
</Card>

<Card title="Open an issue" icon="github" href="https://github.com/sequinstream/sequin" horizontal>
  Report bugs or request features on our GitHub repository.
</Card>

<Card title="Schedule a call" icon="phone" href="https://calendly.com/sequin_io/vip-meeting" horizontal>
  Book a call to discuss your needs.
</Card>
