Get started with Redpanda
Stream Postgres changes to a Redpanda cluster
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.
Setup Redpanda
First, let’s get your Redpanda cluster ready:
Create a Redpanda account
Sign up for or sign in to your Redpanda account.
Redpanda provides a generous free tier.
Create a topic
Once your cluster is ready, create a new topic called products
. A single partition is fine.
Create a user for Sequin
- Navigate to “Security” and click “Create User”.
- Enter
sequin
as the username. - Copy the auto-generated password. You’ll need this in a moment.
- For SASL Mechanism, select
SCRAM-SHA-256
. - Click “Create”.
Create an ACL for the Sequin user
Now, create an ACL for the Sequin user to allow it to publish to the products
topic:
- Navigate to “Security” and to the “ACLs” tab.
- Click “Create ACL”.
- For “User / Principal”, enter
sequin
. - For “Host”, enter
*
. This will letsequin
connect from any host. - In the “Topics” section, under “Operations”, toggle “All” to “Allow”.
- You can leave the rest of the ACL sections set to their defaults (“Not set”).
- Click “Ok”.
You’ve created a Redpanda cluster, topic, and user.
Run Sequin
The easiest way to get started with Sequin is with our Docker Compose file. This file starts a Postgres database, Redis instance, and Sequin server.
Create directory and start services
- Download sequin-docker-compose.zip.
- Unzip the file.
- Navigate to the unzipped directory and start the services:
Verify services are running
Check that Sequin is running using docker ps
:
You should see output like the following:
All three containers 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:
Open the web console
After starting the Docker Compose services, open the Sequin web console at http://localhost:7376:
Login with default credentials
Use the following default credentials to login:
- Email:
- Password:
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:
Navigate to Databases
In the Sequin web console, click Databases in the sidebar.
Select playground database
Click on the pre-configured sequin-playground
database:
The database “Health” should be green.
View contents of the products table
Let’s get a sense of what’s in the products
table. Run the following command:
This command connects to the running Postgres container and runs a psql
command.
You should see a list of the rows in the products
table:
We’ll make modifications to this table in a bit.
Create a Kafka Sink
With the playground database connected, you can create a sink. This sink will send changes to the products
table to your Redpanda topic:
Navigate to Sinks
Click “Sinks” in the sidebar navigation, then click “Create Sink”.
Select sink type
Select “Kafka” as the sink type and click “Continue”.
Note "Source" configuration
In the “Source” card, note that the sequin-playground
database and products
table are pre-selected. Leave these defaults:
Setup a backfill
In the “Initial backfill” card, click the toggle to enable an initial backfill. You can leave the default start position, which will backfill all existing rows in the products
table:
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
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.
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:
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.
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.
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:
Check your Redpanda Console. After refreshing, you should see a new message corresponding to the inserted row.
Feel free to try other changes:
Each change will appear in your Redpanda topic within a few seconds.
Great work!
You’ve successfully:
- Set up a complete Postgres change data capture pipeline
- Created a Redpanda cluster and topic
- Loaded existing data through a backfill
- Made changes to the
products
table - Verified changes are flowing to your Redpanda topic
Ready to stream
Now you’re ready to connect your own database to Sequin and start streaming changes:
Was this page helpful?