Database Status
Connection pool metrics for the Config DB (PostgreSQL), Results DB (TimescaleDB), and Jobs DB (PostgreSQL). Shows pool utilization, active/idle connections, waiting queries, and query latency. All three databases run on the isolated internal network with no outbound internet access. Pool exhaustion causes queries to queue, degrading performance across the entire system.
Fields & Columns
| Name | Description |
|---|---|
| Connection Pool | Current connections vs. maximum pool size, shown as a count and percentage |
| Active / Idle | Active connections are running queries; idle connections are available for immediate use |
| Waiting Queries | Queries waiting for a free connection — should always be 0 in normal operation |
| Query Latency | Round-trip time for a simple health-check query. Green under 20ms, yellow 20-100ms, red over 100ms |
| Pool Utilization | Visual bar showing what percentage of the connection pool is in use. Red above 80% |
Gotchas
- Any waiting queries indicate all pool connections are busy. Investigate slow queries or increase the connection pool size via the DB_POOL_MAX environment variable in the service configuration.
- The Results DB (TimescaleDB) handles high-volume scan data and typically shows higher utilization than Config DB.
- All three databases are on the internal network only — they cannot reach the internet and cannot be reached from outside the Docker environment.
- The "Waiting Queries" badge shows the most recent 1-second sampler reading, not a live read — reading the pool live would skew its own measurement. The chip next to the badge shows the highest waiting count seen in the last 60 seconds, useful for spotting a burst that has since resolved. During the first second after manager startup, the card may show "Sampler initializing…" until the first sample lands. Under heavy event-loop pressure the sampler interval can drift longer than 1 second, so "60 samples" represents at least 60 wall-clock seconds but possibly more.
API Calls (1)
| Method | Path | Description |
|---|---|---|
| GET | /api/health/infra/db-status | Fetch connection pool stats for Config and Results databases |
Related Pages
- Overview — Architecture diagram showing database connections
- Manager — Manager connects to the Config database
- Backup — Backup system dumps all three databases via pg_dump
- Ingest Health Check — Ingest nodes check all three database pools on their /health endpoint