Can I use SupaHost as a standalone Postgres database?
Partly. Every project is a full Postgres 17 database, but direct Postgres connections are only available on Business and Enterprise through an SSH tunnel. Here's what works on each plan.
Yes, with one big condition: direct Postgres connections (the kind psql, ORMs and Postgres drivers make) are only available on the Business and Enterprise plans, through an SSH tunnel. On Builder and Pro you reach the database over HTTP, through the Data API, Studio's SQL editor or the MCP server. If your app needs plain Postgres wire access from many servers, SupaHost is a weaker fit than a dedicated Postgres host.
What you get
Each SupaHost project has its own Postgres 17 database (named p_<project>) on your instance's Postgres server, plus Auth, Storage, Realtime and the Data API around it. You don't have to use those extras. Many people only use tables, SQL functions, extensions and pg_cron.
How you can reach the database
| Way in | Plans | Good for |
|---|---|---|
| Data API (supabase-js, HTTP) | all | apps, serverless, edge |
| Studio SQL editor | all | ad-hoc SQL, schema changes |
MCP execute_sql / apply_migration |
all | AI agents, migrations |
SSH tunnel to 127.0.0.1:5432 |
Business, Enterprise | psql, pg_dump, ORMs, BI tools |
One-click pg_dump export |
all | backups you keep, moving off |
Port 5432 isn't exposed to the internet on any plan, and there's no connection pooler.
Example: psql on Business
ssh -N -L 6543:127.0.0.1:5432 [email protected] &
psql "postgresql://postgres:<password>@127.0.0.1:6543/p_app_one" -c "select version();"
Add your SSH key under Dashboard → your project → Connect → SSH & CLI, and copy the connection string from Connect → Database → Show connection string.
Example: plain SQL over HTTP on any plan
Wrap the query in a function and call it through the Data API:
create function public.monthly_revenue(month date)
returns numeric language sql stable as $$
select coalesce(sum(total), 0) from public.invoices
where date_trunc('month', issued_at) = date_trunc('month', month)
$$;
const { data } = await supabase.rpc('monthly_revenue', { month: '2026-10-01' })
FAQ
Can I get a Postgres connection string on Builder or Pro?
No. A connection string is only usable through the SSH tunnel, which is a Business and Enterprise feature. On other plans use the Data API, Studio or MCP.
Can I connect a BI tool like Metabase?
On Business, yes, if the tool runs somewhere that can hold an SSH tunnel (many BI tools have an SSH tunnel option). On other plans, export data or query through the Data API.
Is the database shared with other customers?
No. The Postgres server runs on your own instance's VM. Projects on the same instance share that server, but each has its own database.