Prerequisites
Enable external access
Fly Postgres is not publicly accessible by default. You must allocate a public IP address to your Postgres app before VexiData can connect.your-pg-app-name.fly.dev on port 5432.
Connect Fly.io to VexiData
Get your connection details
Your credentials were shown when you created the Postgres app with Extract the parameters from the connection string:
fly pg create. If you need to retrieve them:| Parameter | Example |
|---|---|
| Host | your-pg-app-name.fly.dev |
| Port | 5432 |
| Database | Your database name |
| Username | postgres |
| Password | Your operator password |
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., “Fly.io Production”) |
| Host | your-pg-app-name.fly.dev |
| Port | 5432 |
| Database | Your database name |
| Schema | public (default) |
| Username | postgres |
| Password | Your operator password |
Troubleshooting
Connection timed out
Connection timed out
- Make sure you’ve allocated a public IPv4 address with
fly ips allocate-v4 -a your-pg-app-name - Verify your Postgres app is running:
fly status -a your-pg-app-name - The
.fly.devhostname must resolve — check withfly ips list -a your-pg-app-name
Authentication failed
Authentication failed
- Retrieve your credentials by SSHing into the app:
fly ssh console -a your-pg-app-name -C "env" - Look for
OPERATOR_PASSWORDin the environment variables
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 - Make sure you’re connecting to the correct database name