This guide provides step-by-step instructions to connect your Neon database to Sequin.

Provision a Postgres user for Sequin

When in development, it’s probably fine to supply Sequin with an existing user.

However, when in production, you should create a dedicated user for Sequin. The user needs the following permissions:

  1. connect permission on the database.
  2. select permission on all the tables you want to connect to Sequin.
  3. replication permission to read from replication slots.

Here’s how to create a dedicated user with the minimum required permissions:

-- Create user with a secure password
create user sequin_user with password 'REPLACE_WITH_SECURE_PASSWORD';

-- Grant connect permission
grant connect on database your_database to sequin_user;

-- Grant select permission on tables you want to replicate
grant select on table table1, table2, table3 to sequin_user;
-- OR grant select on all tables in a schema
grant select on all tables in schema public to sequin_user;

-- Grant replication permission
alter user sequin_user with replication;

To generate a secure password, if you have OpenSSL installed, you can use the following command:

openssl rand -base64 32

Enable logical replication on Neon

By default, logical replication is not enabled on Neon. To turn it on, follow these steps:

1

Navigate to your project's logical replication settings

Open your project in the Neon console. Then, navigate to the Beta section: “Project settings” > “Logical Replication”.

2

Enable logical replication

Click on the Enable button to activate logical replication.

Learn more about enabling logical replication in Neon here.

Connect Sequin to your Neon database

After enabling logical replication on Neon, you’ll now connect to your Neon database in Sequin.

1

Enter connection details in Sequin

In the Sequin Console, click on the “Connect Database” button and enter the following details for your Neon database:

You can find these connection details in your Neon project dashboard under the “Connection details” section:

  • Host: Your Neon host (e.g., ep-cool-snow-123456.us-east-2.aws.neon.tech)
  • Port: 5432 (default Postgres port)
  • Database: Your database name
  • Username: The sequin database user you created earlier
  • Password: The password for your sequin database user

Make sure to enable the “SSL” option for secure connection.

2

Create a publication

Connect to your database using the SQL client of your choice and execute the following SQL query to create a publication:

CREATE PUBLICATION sequin_pub FOR TABLE table1, table2, table3;

If you want to publish changes from all tables, you can use:

CREATE PUBLICATION sequin_pub FOR ALL TABLES;
3

Create a replication slot

Next, create a replication slot to capture changes from the publication:

SELECT pg_create_logical_replication_slot('sequin_slot', 'pgoutput');
4

Enter the replication slot details in Sequin

Back in the Sequin Console, enter the name of the replication slot (e.g. sequin_slot) and publication (e.g. sequin_pub) you just created. Then, name your database and click Create Database.

Create a sink

With your Neon database connected to Sequin, you are ready to create a sink. Follow one of our guides below to get started:

Was this page helpful?