Supabase PostgreSQL Guide
Use this page when your PostgreSQL source or target is hosted in Supabase.
This guide focuses on the Supabase-specific parts of the setup:
- choosing the correct Supabase connection method
- importing the PostgreSQL URI into DBConvert Streams
- SSL/TLS expectations
- CDC preparation when Supabase is used as a PostgreSQL CDC source
For the core PostgreSQL workflow, use:
Base setup
- Open the Supabase Dashboard.
- Select the project that DBConvert Streams should use.
- Click Connect in the Supabase project header.
- Select Direct connection if the DBConvert Streams deployment can use IPv6. Select Session pooler if the deployment needs IPv4 access.

- Copy the connection URI and replace
[YOUR-PASSWORD]with the database password.
Typical direct connection pattern:
postgresql://postgres:[YOUR-PASSWORD]@db.<project-ref>.supabase.co:5432/postgres
Typical session pooler pattern:
postgresql://postgres.<project-ref>:[YOUR-PASSWORD]@<region>.pooler.supabase.com:5432/postgres
Connection method
Use the connection method that matches the network path from your DBConvert Streams deployment:
| Supabase method | Use when | Notes |
|---|---|---|
| Direct connection | The deployment supports IPv6 or your Supabase project has IPv4 access enabled | Best fit for long-lived PostgreSQL sessions and CDC workflows |
| Session pooler | The deployment needs IPv4 access without a direct IPv4 endpoint | Use for regular connection testing, Data Explorer, and Load workflows |
| Transaction pooler | Short-lived application traffic | Do not use for CDC workflows or long-lived replication sessions |
Supabase direct database hostnames are IPv6-oriented by default. If your host or container network cannot reach IPv6 addresses, use the Session pooler URI from the Supabase Connect panel.
Add the connection in DBConvert Streams
- Open Data Explorer.
- Click New connection.
- Select PostgreSQL.
- Paste the Supabase URI into Connection String.
- Confirm that DBConvert Streams fills in the host, port, username, password, and database fields.
- Set SSL/TLS to
requireunless your environment has a stricter certificate verification policy. - Click Test Connection.
- Save the connection after the test succeeds.
SSL requirements
Treat SSL/TLS as required for Supabase connections.
Common DBConvert Streams settings:
- SSL mode:
require - Host: copied from the Supabase Direct connection or Session pooler URI
- Port:
5432 - Database: usually
postgres, unless you created a separate database - Username:
postgresfor Direct connection, orpostgres.<project-ref>for Session pooler
Use SSL Configuration if your deployment requires certificate verification with a CA file.
CDC source preparation
If Supabase is only a Load source, Explorer connection, or target, the base PostgreSQL connection setup is enough.
If Supabase is the CDC source, use a connection method that supports a long-lived PostgreSQL replication session. Prefer the Direct connection when the deployment can reach it. Use Session pooler only after validating it works for the required PostgreSQL replication behavior in your Supabase project.
Before creating the CDC stream:
- Confirm the Supabase plan and project settings allow the logical replication resources you need.
- Use a database role with the privileges required by PostgreSQL CDC Source Configuration.
- Verify the replication settings from SQL:
SELECT name, setting
FROM pg_settings
WHERE name IN (
'wal_level',
'max_replication_slots',
'max_wal_senders'
);
- Confirm
wal_levelislogical. - Complete the publication, slot, and stream setup in PostgreSQL CDC Source Configuration.
Validation checklist
- Test the Supabase connection from the Data Explorer sidebar or from the connection editor.
- Open it in Data Explorer and confirm schemas and tables are visible.
- If the connection fails from an IPv4-only environment, switch from Direct connection to the Supabase Session pooler URI.
- If using CDC, run
SHOW wal_leveland confirm it returnslogical. - If using CDC, avoid the Supabase Transaction pooler because it is designed for short-lived application queries, not long-lived replication sessions.