Learn how to setup Postgres change data capture (CDC) to a Redpanda cluster in under 10 minutes. Setup a robust pipeline with backfills, inserts, updates, and deletes.
Use this file to discover all available pages before exploring further.
In this quickstart, you’ll create a real-time data pipeline that streams changes from a Postgres database to a Redpanda cluster. You’ll:
Sign up for a Redpanda account
Create a Redpanda cluster and topic
Boot Sequin
Create a sink to stream changes to Redpanda
See changes flow from a sample database to Redpanda in real-time
By the end, you’ll have hands-on experience setting up Postgres change data capture (CDC) with Sequin. This same pattern can be used to setup your own Postgres CDC pipeline with Redpanda.
This is the quickstart for streaming Postgres to Redpanda. See the how-to guide for an explanation of how to use the Kafka sink or the reference for details on all configuration options.
git clone git@github.com:sequinstream/sequin.gitcd sequin/dockerdocker compose up -d
2
Verify services are running
Check that Sequin is running using docker ps:
docker ps
You should see output like the following:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESbd5c458cabde sequin/sequin:latest "/scripts/start_comm…" 11 seconds ago Up 9 seconds 4000/tcp, 0.0.0.0:7376->7376/tcp sequin-sequin-13bacd89765e7 grafana/grafana "/run.sh" 11 seconds ago Up 11 seconds 0.0.0.0:3000->3000/tcp sequin-sequin_grafana-13ad41319a66c postgres:16 "docker-entrypoint.s…" 11 seconds ago Up 11 seconds (healthy) 0.0.0.0:7377->5432/tcp sequin-sequin_postgres-16139a5fc4e80 redis:7 "docker-entrypoint.s…" 11 seconds ago Up 11 seconds 0.0.0.0:7378->6379/tcp sequin-sequin_redis-17e07a5b052de prom/prometheus "/bin/prometheus --c…" 11 seconds ago Up 11 seconds 0.0.0.0:9090->9090/tcp sequin-sequin_prometheus-1
Sequin, Postgres, Redis, Prometheus, and Grafana should be up and running (status: Up).
Login
The Docker Compose file automatically configures Sequin with an admin user and a playground database.Let’s log in to the Sequin web console:
1
Open the web console
After starting the Docker Compose services, open the Sequin web console at http://localhost:7376:
2
Login with default credentials
Use the following default credentials to login:
Email:
admin@sequinstream.com
Password:
sequinpassword!
View the playground database
To get you started quickly, Sequin’s Docker Compose file creates a logical database called sequin_playground with a sample dataset in the public.products table.Let’s take a look:
1
Navigate to Databases
In the Sequin web console, click Databases in the sidebar.
2
Select playground database
Click on the pre-configured sequin-playground database:
The database “Health” should be green.
3
View contents of the products table
Let’s get a sense of what’s in the products table. Run the following command:
With the playground database connected, you can create a sink. This sink will send changes to the products table to your Redpanda topic:
1
Navigate to Sinks
Click “Sinks” in the sidebar navigation, then click “Create Sink”.
2
Select sink type
Select “Kafka” as the sink type and click “Continue”.
3
Note "Source" configuration
In the “Source” card, note that the sequin-playground database is selected and all schemas and tables are included. Leave these defaults:
4
Setup a backfill
In the Inital backfill card, select the public.products table to initate a backfill when the sink is created.
5
Configure "Kafka Configuration"
In the “Kafka Configuration” card, enter your Redpanda connection details:
Hosts: Your Redpanda bootstrap server (e.g., seed-xxx.redpanda.com:9092)
Find this in “Overview” > “Kafka API” > “Boostrap server URLs”
Topic: products
SASL Mechanism: Select SCRAM-SHA-256
Username: sequin
Password: The auto-generated password for the sequin user
TLS: Toggle ON
6
Test the connection
At the bottom of the form, click the “Test Connection” button. If you provided proper credentials, it should succeed.
Sequin can connect to your Redpanda cluster.
7
Create the sink
You can leave the rest of the defaults. As configured, the Redpanda topic will first receive a backfill of all rows currently in the products table. Then, it will receive all changes to the products table in real-time.Click “Create Sink” to finish setting up your sink.
See changes flow to your Redpanda topic
On the new sink’s overview page, you should see the “Health” status turn green, indicating data is flowing to your topic.Let’s confirm messages are flowing:
1
Messages tab
Click the “Messages” tab. You’ll see a list of the recently delivered messages:
Sequin indicates it backfilled the products table to your Redpanda topic.
2
View in Redpanda Console
In the Redpanda Console, in the “Topics” tab of your cluster, navigate to the products topic. You should see the messages that were sent from Sequin. These are read events from the initial backfill of the products table:
If the messages haven’t appeared yet, refresh the page.
Messages are flowing from Sequin to your Redpanda topic.
3
Make some changes
Let’s make some changes to the products table and see them flow to your topic.In your terminal, run the following command to insert a new row into the products table: