Skip to main content

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.
fly ips allocate-v4 -a your-pg-app-name
After allocating an IP, your Postgres app will be accessible at your-pg-app-name.fly.dev on port 5432.

Connect Fly.io to VexiData

1

Get your connection details

Your credentials were shown when you created the Postgres app with fly pg create. If you need to retrieve them:
fly ssh console -a your-pg-app-name -C "env" | grep DATABASE_URL
Extract the parameters from the connection string:
ParameterExample
Hostyour-pg-app-name.fly.dev
Port5432
DatabaseYour database name
Usernamepostgres
PasswordYour operator password
2

Add the connection in VexiData

  1. Go to Data Sources in VexiData
  2. Click PostgreSQL to open the connection form
  3. Fill in the details:
FieldValue
Display NameA name to identify this connection (e.g., “Fly.io Production”)
Hostyour-pg-app-name.fly.dev
Port5432
DatabaseYour database name
Schemapublic (default)
Usernamepostgres
PasswordYour operator password
3

Test and save

Click Test & Save Connection. VexiData will verify it can reach your database. Once connected, your schema will be analyzed automatically.

Troubleshooting

  • 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.dev hostname must resolve — check with fly ips list -a your-pg-app-name
  • Retrieve your credentials by SSHing into the app: fly ssh console -a your-pg-app-name -C "env"
  • Look for OPERATOR_PASSWORD in the environment variables
  • Confirm your tables are in the public schema. If they’re in a custom schema, update the Schema field in VexiData
  • Make sure you’re connecting to the correct database name