Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.dbhost.app/llms.txt

Use this file to discover all available pages before exploring further.

Creating a database

  1. Click + New Database from the dashboard
  2. Enter the database name you want to see in the dashboard
  3. Click Create
DBHost generates the internal PostgreSQL identifier automatically from the display name and your account, provisions the database immediately, and shows the connection details on the detail page.

Dashboard list

The main dashboard shows every database you can access.
  • Owned databases appear normally
  • Shared databases stay in the same list and include your effective access role
  • Search and status filters help when the list grows
  • Size values are hydrated from live agent metrics when the VPS is reachable

Database detail page

Click any database card to see its details:
  • Connection details — Host, port, database name, username
  • Connection string — Copy-paste ready (password masked, click to reveal)
  • Metrics — Current size, live clients, waiting clients, and last connection seen
  • Actions — A dedicated SQL Explorer card plus a separate operations card for backups, lifecycle, password resets, and destructive actions
  • Team access — Owner plus any shared members and their database role
  • IP whitelist — Per-database CIDR rules applied at the PgBouncer layer
  • Connection activity — Recent observed client connections
  • Recent activity — Audit-log history for the database
  • Backups — View backup history, trigger new backups, download backup files, delete backup files
DBHost stores tenant database passwords encrypted at rest in the control plane. When you reveal or reset a password from the detail page, DBHost is decrypting or rotating that database secret for the current authorized session.

Team access

Every database detail page includes a Team Access section. Owners and database admins can add an existing DBHost user by email and assign one of these roles:
RoleWhat it can do
adminManage collaborators, lifecycle, network policy, backups, and credentials
developerView credentials and backups
viewerView the database detail page and connection activity only
The owner is always shown separately and cannot be removed from the database.

IP whitelist

The IP Whitelist section controls which client networks can connect through PgBouncer.
  • Add CIDR blocks such as 203.0.113.0/24
  • Optional labels help explain why a rule exists
  • If the allowlist is empty, the database accepts connections from any IP
  • As soon as you add one or more CIDR blocks, only matching networks can connect
These rules affect direct database connections through port 6432. They do not change dashboard sign-in behavior.

Start, stop, and restart

The operations menu on the detail page includes lifecycle controls when your role allows it.
  • Start re-enables a stopped database and waits until pooled client connections are usable again
  • Stop prevents new pooled connections and moves the database into the stopped state
  • Restart refreshes the pooled runtime without deleting the database
Stopping a database is operational, not destructive. Data remains on disk until you explicitly delete the database.

Connection activity

The detail page includes a Connection Activity section with the most recent observed PgBouncer client connections for that database. Each row includes:
  • database username
  • client IP address
  • application name when provided by the client
  • connection timestamp
  • source label
The metrics card above it also surfaces live client counts and waiting clients from PgBouncer when the agent is reachable.

Data Explorer

Every database detail page includes a dedicated SQL Explorer action card, so the query workspace is always a first-class path instead of being hidden inside the operations menu. The explorer has two tabs:
  • Tables — List public tables and preview rows with pagination
  • SQL Query — Run one guarded read-only SQL statement at a time against the selected database
The explorer header makes the current database explicit and lets owners switch to another owned database without leaving the page. In the SQL tab, the editor stays central while a companion utility rail keeps selected table context, saved queries, recent history, and starter snippets nearby through Suggested, Saved, and Recent panes. Typing / opens a command drawer inside the editor for quick inserts, and using / after FROM or JOIN turns that drawer into a scoped table picker so you do not have to leave the explorer to remember names. A small editor settings menu lets each user turn slash commands, table suggestions, and the helper rail on or off on their own device. Saved queries are stored per user and per database. The Saved pane lets you create named presets, mark favorites so they stay first, and reopen or edit the SQL already in the editor. The Recent pane shows the latest query runs for the current database and lets you choose how many recent runs DBHost should remember for your account. The explorer also supports a safe inspect subset inspired by psql:
  • \dt, \dv, \di, and \d <relation>
  • Matching /dt, /dv, /di, and /d <relation> aliases
  • Optional convenience forms such as \d FROM "analytics_downloads" and /dt FROM "analytics_downloads"
The editor shortcut hints reflect the current behavior:
  • / opens commands
  • Esc dismisses the open helper
  • Ctrl+Enter or Cmd+Enter runs the current query
  • Ctrl+C clears the editor when no text is selected
Saved presets and recent history use the latest explorer persistence migration when it is available. If that migration is still pending, DBHost falls back to browser-local storage for the current user and database until server-backed persistence is ready. Explorer queries are limited to the selected database and the public schema. The in-app guardrails allow:
  • SELECT
  • EXPLAIN SELECT
The explorer blocks multi-statement input, INSERT, UPDATE, DELETE, CREATE, DROP, TRUNCATE, ALTER, transaction/session control, and system-schema access.
Explorer guardrails only apply inside the dashboard explorer. Direct database connections still use your normal database credentials.

Resetting a password

If you need a new password:
  1. Go to the database detail page
  2. Click Reset Password
  3. A new password is generated and the old one stops working immediately
The replacement secret is stored encrypted at rest, and the previous password is invalidated as part of the rotation.
All active connections using the old password will be disconnected. Update your application’s connection string before resetting.

Deleting a database

  1. Go to the database detail page
  2. Click Delete Database
  3. Confirm the deletion
Deletion is permanent. The PostgreSQL database, user, and all data are removed. Existing backup files remain in backup storage, but restore is still operator-run and cannot be initiated from the dashboard.

Database statuses

StatusMeaning
activeRunning and accepting connections
creatingBeing provisioned (usually seconds)
stoppedProvisioned but not accepting new pooled connections
deletingBeing removed
errorSomething went wrong during provisioning