Prerequisites
- A DigitalOcean account with a managed PostgreSQL database cluster
- A VexiData account
Understanding DigitalOcean connection modes
DigitalOcean managed databases provide two connection modes:| Connection Pool | Direct Connection | |
|---|---|---|
| Port | 25061 | 25060 |
| Best for | Short-lived, on-demand connections | Persistent, long-running connections |
| Host | Same host, different port | Same host, different port |
| SSL | Required | Required |
Connect DigitalOcean to VexiData
Get your DigitalOcean connection details
- Log in to your DigitalOcean Cloud Console
- Go to Databases from the left sidebar
- Select the database cluster you want to connect
- On the cluster’s Overview tab, find the Connection Details panel
- Go to the Connection Pools tab
- If you don’t have a pool yet, click Create Connection Pool — choose a name, select the database, set the mode to Transaction, and pick a pool size
- Once created, click the pool name to view its connection details
| Parameter | Direct Connection Example | Connection Pool Example |
|---|---|---|
| Host | db-postgresql-nyc1-12345-do-user-123456-0.g.db.ondigitalocean.com | Same as direct |
| Port | 25060 | 25061 |
| Database | defaultdb | Your pool name |
| Username | doadmin | doadmin |
| Password | Your database password | Same as direct |
You can toggle between Connection parameters and Connection string views in the Connection Details panel. Use Connection parameters for easier copying.
Add VexiData to Trusted Sources
DigitalOcean managed databases restrict access by default using Trusted Sources. You must add VexiData’s IP addresses to allow connections:
139.59.53.167165.22.217.42
- Go to your database cluster’s Settings tab
- Under Trusted Sources, click Edit
- Add each IP address
- Click Save
Unlike Supabase and Neon, DigitalOcean enables Trusted Sources by default. Your connection will fail if you skip this step.
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., “DO Production”) |
| Host | Your cluster’s hostname (e.g., db-postgresql-nyc1-12345-do-user-123456-0.g.db.ondigitalocean.com) |
| Port | 25061 (pool) or 25060 (direct) |
| Database | defaultdb or your connection pool name |
| Schema | public (default — change if your tables are in a different schema) |
| Username | doadmin (or your database user) |
| Password | Your database password |
Using a dedicated database user
DigitalOcean creates a defaultdoadmin user with full admin privileges. For better security, consider creating a read-only user for VexiData:
- Go to your database cluster’s Users & Databases tab
- Click Add User to create a new user
- Grant
SELECTpermissions on the tables you want to query - Use this user’s credentials when connecting in VexiData
Troubleshooting
Connection timed out
Connection timed out
- This is most commonly caused by missing Trusted Sources. Verify that VexiData’s IP addresses (
139.59.53.167and165.22.217.42) are listed in your cluster’s Settings > Trusted Sources - Check that you’re using the correct port —
25060for direct connections,25061for connection pools - DigitalOcean uses non-standard ports. Make sure you didn’t enter the default PostgreSQL port
5432
Authentication failed
Authentication failed
- Double-check your username and password from the DigitalOcean Connection Details panel
- If using a connection pool, make sure the Database field contains the pool name, not the underlying database name
- You can reset your user password from the Users & Databases tab
No tables visible after connecting
No tables visible after connecting
- If you connected through a Connection Pool, make sure the pool was created against the correct database
- Confirm your tables are in the
publicschema. If they’re in a custom schema, update the Schema field in VexiData - Check that your database user has
SELECTpermissions on the tables
SSL connection errors
SSL connection errors
- DigitalOcean requires SSL for all connections. VexiData handles this automatically, but if you see SSL-related errors, ensure you’re connecting to the correct host and port
- Verify the cluster is in a Running state in the DigitalOcean console