Admin & Setup Lesson 4 of 63 ⏱ 6 min ▶ Video

Connect a direct database

Lesson summary

PostgreSQL, MySQL, SQL Server, Azure SQL, or Oracle. Pick your database below — the DashboardFox form is the same for all four, with slightly different setup depending on where your data lives.

By the end of this lesson

  • A live, queryable connection to your database
  • An app your reports and dashboards can be built on

You'll need

  • Connection details (host, database, user, password) from your DBA
  • Network path from DashboardFox to your database
  • Admin role in DashboardFox

Background

This page walks you through connecting a PostgreSQL database to DashboardFox. The video uses Supabase as the example, but the same four pieces of info work for any Postgres host — AWS, Google Cloud, Heroku, DigitalOcean, Neon, or your own server.

Postgres is a popular open-source database. If your data lives in Postgres, you're in the right place.

Haven't watched the video yet? Start there. This page is your reference for after.

Stuck anywhere on this page? Email team@dashboardfox.com. We'll help you sort it out.

Before you start

  • Your Postgres connection details — host, database name, username, password. (We'll show you where to find these in step 1.)
  • About 5 minutes.
  • Admin access in DashboardFox (or the App Builder permission).

Do it

  1. Find your connection details

    You need four things from your database host: host (the address), database (the name), user, and password. Where you find these depends on who hosts your database.

    Using Supabase (the video example)

    In your Supabase project, click Project SettingsDatabase. The host and user are listed under Connection info. The database name is always postgres on Supabase (not your project name). Use the password you set when you created the project. If you've forgotten it, you can reset it on the same page.

    Using AWS RDS or Aurora

    Open the AWS console and go to RDS → Databases → click your database. The Endpoint is your host. The database name and master username are on the Configuration tab. The password is the one you set when you created the database. Make sure Public accessibility is set to Yes if you're connecting from outside AWS.

    Using DigitalOcean Managed Databases

    In the DigitalOcean control panel, open Databases → click your Postgres cluster. The host, port, database name, user, and password are all listed under the Connection details dropdown. Pick the Public network option to get the address you'll use from outside their network.

    Heads-up: DigitalOcean uses a non-standard port (25060). See step 3 for how to handle that.

    Using Heroku Postgres

    In your Heroku app, open the Resources tab and click your Heroku Postgres add-on. Go to SettingsView Credentials. Heroku gives you all four values plus a non-standard port — see step 3 for how to handle the port.

    Using another managed provider (Azure, Google Cloud, Neon, Render, Vultr Managed, ElephantSQL, Aiven, etc.)

    The pattern is the same everywhere: open your database in the provider's console, look for a tab or button labeled Connection details, Credentials, Connect, or Connection info. The four values are there.

    Provider-specific notes:

    • Azure Database for PostgreSQL: server name looks like myserver.postgres.database.azure.com.
    • Google Cloud SQL: use the Public IP address from the Overview tab; you'll also need to allow your DashboardFox IP in Connections → Networking.
    • Neon: if you use branches, each branch has its own connection string — pick the one for the branch you want to report on.
    • Render: use the External Database URL, not the internal one.

    Not finding it? Email team@dashboardfox.com with your provider name — we'll point you to the right page.

    Self-hosted (Vultr, Linode, Hetzner, your own server)

    If you installed Postgres yourself on a VPS or your own server, you set the credentials when you installed it. The host is your server's public IP or domain. The database name, user, and password are whatever you configured during setup.

    You'll also need to make sure Postgres is configured to accept remote connections — check postgresql.conf (listen_addresses = '*') and pg_hba.conf (an entry that allows your DashboardFox IP). Whoever set up the server should know this; otherwise email us.

  2. Allow DashboardFox through your firewall

    A firewall is a security gate that blocks unknown visitors. Most cloud-hosted databases have one on by default. You'll need to add DashboardFox's IP address to the allow list so we can reach your data.

    Find your DashboardFox IP: in DashboardFox, go to SettingsIntegrationsFirewall Allow List. Copy the IP shown there. The address is different depending on whether your DashboardFox instance is hosted in our US or EU region — pulling it from your own settings means you always get the right one.

    Where to add it in Supabase

    Project Settings → DatabaseNetwork restrictions. Add the IP and save. Supabase allows all IPs by default — if that's still on, you can skip this. If you've already restricted access, the IP needs to be on the list.

    Where to add it in AWS RDS

    Open your database in the RDS console → Connectivity & security tab → click the VPC security groupInbound rulesEdit inbound rules. Add a rule: type PostgreSQL, source Custom, and paste your DashboardFox IP with /32 on the end (so if your IP is 52.10.20.30, enter 52.10.20.30/32).

    Where to add it in DigitalOcean

    Open your database cluster in the DigitalOcean control panel → Settings tab → Trusted sources. Click Edit, paste your DashboardFox IP, and save. By default, DigitalOcean allows all IPs through — if you haven't restricted yet, you don't have to do anything here. (We'll come back to it in "Make it real" below.)

    Where to add it in another managed provider

    The pattern is the same: find a section called Network, Networking, Firewall, or Trusted sources in your provider's console.

    • Azure Database for PostgreSQL: the database resource → NetworkingFirewall rules. Add a rule with the same start and end IP. Don't forget to also enable Allow public access if it's off.
    • Google Cloud SQL: the instance → ConnectionsNetworkingAdd a network.
    • Heroku: nothing to do — Heroku Postgres is open to the internet by default.
    • Neon, Render, Vultr Managed: usually a Network or IP allow list section in the database settings.
    Where to add it for self-hosted (Vultr VPS, Linode, Hetzner, your own server)

    This is whatever firewall your server runs. Common options:

    • Linux ufw: sudo ufw allow from <your-DBF-ip> to any port 5432.
    • Linux firewalld or iptables: similar rule for port 5432.
    • Cloud provider firewalls (Vultr, Linode, Hetzner all have a separate firewall layer in their consoles): allow inbound TCP from your DashboardFox IP on port 5432.
    • Windows Firewall: an inbound rule for TCP 5432, scoped to your DashboardFox IP.

    You'll also need to make sure Postgres itself accepts the connection — see the self-hosted note in step 1.

  3. Enter the details in DashboardFox and test

    In DashboardFox, go to SettingsIntegrationsNew connection. Pick PostgreSQL as the type, then fill in the four values from step 1. Click Test connection.

    If the test passes, save it. The connection becomes a new app in DashboardFox — that's the term for a configured data source you build reports on.

    What if my Postgres uses a non-standard port?

    DashboardFox uses port 5432 automatically. If your provider uses a different port (Heroku, DigitalOcean, and some self-hosted setups do), open the Additional settings accordion below the form and add Port=NNNN; in the Additional connection string parameters field. Replace NNNN with your actual port number.

  4. Grant access to your new app

    Saving the app doesn't grant access to it — not even to you. Connecting and granting access are deliberately separate steps; that's what stops a new data source from being accidentally exposed before you've decided who should see it.

    Go to Settings → Security → Apps, find your new app, click Edit, and assign yourself the App Builder role. Click Save & Apply.

    Refresh the page; the app appears in App Builder, ready for the semantic-layer work in Module 3. To grant other users: Composer for people who'll build reports on this data, Agent for people who'll just run them. The Roles & permissions lesson covers the model in depth.

  5. Build your first app

    You're connected and you have access. Now you shape the data model — pick which tables you want, name fields in plain English, define relationships. That's a separate lesson because it deserves its own walkthrough: Building your first app →.

    Come back here if you ever need to update the connection itself (password changed, host moved, etc.).

Make it real

The connection above works. Before you let your team or customers loose on it, two things are worth doing.

Use a read-only database user

The credentials you used in step 1 might be your admin login — which means DashboardFox could in theory write to or delete from your database. It won't (DashboardFox only reads), but it's still safer to use a dedicated user that can only read.

Show the SQL to create one
-- Run this in your Postgres console as a superuser
CREATE USER dashboardfox_reader WITH PASSWORD 'pick-a-strong-one';
GRANT CONNECT ON DATABASE your_database TO dashboardfox_reader;
GRANT USAGE ON SCHEMA public TO dashboardfox_reader;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO dashboardfox_reader;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
  GRANT SELECT ON TABLES TO dashboardfox_reader;

Then go back to Settings → Integrations, edit your connection, and swap the user and password to the new one.

Restrict your firewall to DashboardFox's IP

If you allowed all IPs through your firewall in step 2 just to get going, narrow it down now. Only your DashboardFox IP needs through (you'll find it in Settings → Integrations → Firewall Allow List). Everything else stays blocked. Same place you added the IP in step 2 — just remove the wide-open rule.

Need stored procedures, direct SQL, or to adjust query timeouts? See Advanced data source settings.

If you're stuck

Most connection problems fall into one of these. Click the one that matches the error you're seeing.

I see "Connection refused" or "could not connect to server"

The firewall is blocking us. Go back to step 2 and check the IP is on the allow list. On AWS RDS specifically, double-check the security group is the one actually attached to your database (it's possible to edit a different one by mistake).

I see "password authentication failed for user"

Either the username or password is wrong, or both are right but the user isn't allowed to connect from outside. Reset the password in your provider's console, paste it fresh into DashboardFox (no extra spaces), and test again.

I see "database does not exist"

The database name field doesn't match a real database. Check the spelling. On Supabase, the database is always postgres (not your project name). On other providers, it's whatever you named it when you created it.

I see "could not translate host name"

The host address is wrong or has a typo. Hosts usually look like db.abcdefg.supabase.co or mydb.abc123.us-east-1.rds.amazonaws.com — long, with dots. Don't include https:// or any port number.

The connection saved fine, but I can't see the app in App Builder

You skipped step 4 (Grant access). Go to Settings → Security → Apps, find the app, click Edit, assign yourself App Builder, and save. This is the most common first-day surprise — you're not doing anything wrong.

None of these match my error

Email team@dashboardfox.com with a screenshot of the error and your provider name (e.g., "Supabase"). DashboardFox passes your provider's exact error message back unchanged — copy the whole thing and we'll help you decode it. Same business day reply.

7-day free trial — no credit card

Built lean. Priced fairly. Supported by humans.

Full access to all features. No credit card required.

Prefer no subscriptions & full control? Self-hosted from $4,995 one-time →

Click once to extend to 14 days — need more time? Just reach out.

25+ years building BI tools Support from the team that builds it Available in US & EU regions
DashboardFox mascot