Prerequisites
Understanding Supabase connection modes
Supabase offers two ways to connect to your database. Choosing the right one matters:| Transaction Pooler | Direct Connection | |
|---|---|---|
| Port | 6543 | 5432 |
| Best for | Serverless, short-lived connections | Persistent, long-running connections |
| Username format | postgres.[project-ref] | postgres |
| Host | aws-0-[region].pooler.supabase.com | db.[project-ref].supabase.co |
Connect Supabase to VexiData
Get your Supabase connection details
- Log in to your Supabase Dashboard
- Select the project you want to connect
- Go to Project Settings (gear icon) > Database
- Under Connection string, select the URI tab
- Choose Transaction Pooler mode (recommended)
- Copy the connection string — it looks like this:
| Parameter | Value | Example |
|---|---|---|
| Host | Everything between @ and the port | aws-0-us-east-1.pooler.supabase.com |
| Port | Number after the host | 6543 |
| Username | Between :// and : | postgres.ynoocxmcrtjifofktnoa |
| Password | Your database password | The password you set when creating the project |
| Database | After the last / | postgres |
Whitelist VexiData's IP addresses
If your Supabase project has network restrictions enabled, add VexiData’s IP addresses to your allowlist:
139.59.53.167165.22.217.42
By default, Supabase allows connections from all IP addresses. You only need this step if you have explicitly enabled network restrictions.
Add the connection in VexiData
- Go to Data Sources in VexiData
- Click PostgreSQL to open the connection form
- Fill in the details:
| Field | Value |
|---|---|
| Display Name | A name to identify this connection (e.g., “Supabase Production”) |
| Host | aws-0-[region].pooler.supabase.com |
| Port | 6543 |
| Database | postgres |
| Schema | public (default — change if your tables are in a different schema) |
| Username | postgres.[project-ref] |
| Password | Your database password |
Finding your database password
If you don’t remember your database password, you can reset it in Supabase:- Go to Project Settings > Database
- Under Database Password, click Reset Database Password
Resetting your database password will break any existing connections using the old password. Update them after resetting.
Troubleshooting
Connection timed out
Connection timed out
- Verify that VexiData’s IP addresses are allowlisted if you have network restrictions enabled
- Check that you’re using the correct host and port for your chosen connection mode
- Ensure your Supabase project is not paused — free-tier projects pause after inactivity
Authentication failed
Authentication failed
- Double-check your username format — the Transaction Pooler requires
postgres.[project-ref], not justpostgres - Verify your password is correct. If unsure, reset it in Supabase Project Settings
- Make sure you’re not mixing up Direct Connection and Transaction Pooler credentials
No tables visible after connecting
No tables visible after connecting
- Confirm your tables are in the
publicschema. If they’re in a custom schema, update the Schema field in VexiData - Check that the database user has
SELECTpermissions on the tables you want to query
Connection works but queries are slow
Connection works but queries are slow
- If your Supabase project is on the free tier, it may be running on shared infrastructure with limited resources
- Consider upgrading your Supabase plan for better performance