Managed Postgres in seconds.
Databases is a top-level tab in your dashboard. Pick a plan, create a Postgres 16 database in EU or US, copy the connection string, and use it from anywhere — your services, your laptop, an external app. Live metrics surface slow queries, table sizes, and cache hit ratio so you can tell what's actually slow before you change anything.
From sign-up to a live connection string
1. Open the Databases tab
In the dashboard sidebar, click Databases. If you haven't subscribed yet, three plans are shown side-by-side: Starter ($19/mo, 2 DBs), Pro ($25/mo, 4 DBs), Scale ($39/mo, 8 DBs). Plans gate how many databases you can run.
2. Pick a plan
Click Get Started on the plan you want. Stripe Checkout handles the subscription; the plan attaches to your workspace. Every workspace member with the right role can now create databases under it.
3. Create a database
Click New Database. Enter a name (my-app-db), pick a region — EU (Frankfurt) or US (Ohio) — and confirm. Provisioning takes a few seconds. While the database is provisioning, the dashboard shows a yellow callout; once active, connection details appear.
4. Copy & connect
The detail page shows a masked connection string plus the broken-out fields: host, port, database, username, password. Click the eye icon to reveal, the copy icon to copy. Use the connection string directly in any Postgres client or ORM.
Three plans, picked by database count
Starter — $19/month
2 Postgres databases · EU & US regions · automatic backups · SSL encrypted · instant provisioning. The right plan for a single product with a production DB and a staging DB, or for an MVP.
Pro — $25/month · Popular
4 databases · EU & US · automatic backups · SSL · higher connection limits · instant provisioning. The right plan for a small team running a few projects, or one product with separate prod, staging, dev, and analytics databases.
Scale — $39/month · Best Value
8 databases · EU & US · automatic backups · SSL · highest connection limits · instant provisioning. The right plan for an agency, a multi-product team, or a project that's outgrown 4 databases.
How upgrades and downgrades work
Change plan from Databases → Change Plan. Both upgrades and downgrades take effect immediately with prorated billing. If a downgrade puts you below your current database count, you'll be prompted to delete excess databases first.
Real Postgres, plus the metrics you actually need
PostgreSQL 16
Latest stable Postgres major. jsonb, uuid, full-text search, generated columns — everything modern Postgres ships with. Standard wire protocol; every Postgres client works.
SSL by default
Connection string is configured to require SSL. The database is reachable over the public internet, so encryption in transit is enforced — no plaintext connections.
EU or US region
Pick at create time: EU (Frankfurt) or US (Ohio). Pick the region closest to your users — or the one that satisfies your data residency requirement. Region is set per-database, so you can have an EU prod DB and a US analytics DB on the same plan.
Live metrics on every database
The detail page surfaces database size, active connections, and cache hit ratio right at the top. Below that, a Slowest Queries table (truncated query, avg/max ms, calls, rows) and a Table Sizes table (total size, data, indexes). Refreshable on demand.
Smart query tips
The slow-query table flags patterns automatically: "N+1 pattern — consider batching or a JOIN" when calls are high but avg rows per call is ≤1, "Slow scan — consider adding an index" on slow queries returning many rows, "Very frequent — consider caching results" on hot queries. Hints, not nags.
Independent from services
Databases are workspace-level resources. Use one DB from multiple services, share between API and worker, connect from your laptop, or use it from outside HostingGuru entirely. Deleting a service doesn't delete its database.
What the dashboard surfaces, and what it means
Database size
Total disk used by the database, formatted human-readable (B/KB/MB/GB/TB). The number you watch when planning a migration or worrying about backup time.
Active connections
How many connections are open right now. If this is climbing toward your plan's connection cap, you have a connection-pool leak — investigate which service is opening connections without releasing them.
Cache hit ratio
Percentage of reads served from Postgres's shared buffer cache (not disk). 99%+ is healthy on read-heavy workloads. Below 90% usually means working set exceeds memory or you have queries doing full table scans on cold tables.
Slowest queries
Top queries by execution time, with avg ms, max ms, total calls, total rows. Cells turn amber over 100ms avg and red over 1000ms. Hover/click for the smart tip on the right side.
Table sizes
For each table: estimated row count, total size, data size, index size. A table where indexes are larger than data is usually over-indexed. A table with billions of rows but small total size is suspicious — check for bloat.
Common ways to connect
From a HostingGuru service
Add the connection string as DATABASE_URL in your service's environment variables. Most ORMs and clients (Prisma, Drizzle, TypeORM, SQLAlchemy, Active Record, Ecto, pg, asyncpg) read this variable by default.
From your laptop
psql "$DATABASE_URL" works directly. The database is reachable over the public internet with SSL required, so be on a trusted network for sensitive operations.
For migrations
Run schema migrations from CI, an on-demand script, or your laptop. Tools like Prisma Migrate, Knex, Alembic, Active Record, and Flyway all work — just point them at the connection string.
From outside HostingGuru
The connection string works from anywhere — Vercel, Render, Cloudflare Workers, your own VPS. We don't lock you in. If you migrate off, you keep the data and the connection string until you cancel the subscription.
Common questions
Is the database tied to a specific service?
No. Databases are workspace-level resources. You can attach a database to multiple services, share it across an API and a worker, or use it from outside HostingGuru entirely. Deleting a service does not delete its database, and vice-versa.
What's in the connection details?
The full connection string (masked, copy-on-click), plus the broken-out fields: host, port, database name, username (the dedicated role), and password. Use whichever your client wants.
What happens if I cancel the subscription?
The dashboard hides the connection details on the database detail page and shows an amber "subscription not active" callout. The data isn't deleted immediately — re-subscribe (from Billing or the Databases page) to restore access.
Can I bring my own Postgres?
Yes — services can use any Postgres connection string, including ones from Neon, Supabase, RDS, or your own infrastructure. The Databases tab is a convenience; you're not required to use it.
How do I delete a database?
From the database detail page, click Delete. The dashboard requires you to type the database name to confirm — there's no soft-delete or undo. All data is removed permanently. Deleting frees a slot back to your plan limit.
Why are some metrics empty when I first create a database?
The slow-query table needs query history before it can rank anything. Run some queries and refresh — the data will be there. Cache hit ratio also needs traffic to be meaningful.
Production Postgres for $19 a month.
2 databases, EU or US, automatic backups, live query metrics built in.
Key takeaways
HostingGuru Managed Postgres is PostgreSQL 16 with TLS, daily backups, and live metrics, provisioned in the same region as your application — Frankfurt (EU) or Ashburn (US-East).
- Connection string surfaced as
DATABASE_URL, internal hostname for sub-millisecond latency. - Daily
pg_dumpbackups at 02:00 UTC; 7 retained on Hobby, 30 on Pro. - Point-in-time recovery (PITR) via WAL archiving on Pro plans.
- Dashboard metrics: slow queries, table sizes, cache hit ratio, connection count.
How do I restore a HostingGuru Postgres backup?
From the dashboard, pick the database and the backup timestamp, then click Restore. The restored database is provisioned as a new instance — your current production database is never touched. For PITR, supply a UTC timestamp instead of a backup ID.
Can I connect to HostingGuru Postgres from a serverless function elsewhere?
Yes — the external connection string accepts TLS connections from any source. For high-frequency serverless workloads, prefer connection pooling: HostingGuru exposes both a direct connection and a PgBouncer pooled connection on a separate port.