| From: | Dasha via PostgreSQL Announce <announce-noreply(at)postgresql(dot)org> |
|---|---|
| To: | PostgreSQL Announce <pgsql-announce(at)lists(dot)postgresql(dot)org> |
| Subject: | Dasha - performance dashboard |
| Date: | 2026-08-12 07:31:12 |
| Message-ID: | 178651987263.1222.1114848160838159264@wrigleys.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-announce |
Dasha is an open source performance dashboard for PostgreSQL fleets. It connects to your clusters
with a read-only role, shows what the databases are doing right now, and explains what to do about
it. Nothing is installed on the database hosts: no agent, no extension beyond the ones you already
have.
One instance serves many clusters and all of their replicas. Because most PostgreSQL statistics are
per-instance and are *not* replicated, Dasha reads every host of a cluster and reasons over the
combined picture — an index that looks unused on the primary may be serving the entire read
workload on a standby.
---
## Features
* **Health Score** — a composite 0-100 score per instance across eight categories, with
prioritized recommendations and per-database drill-down. Optionally computed from
Prometheus/VictoriaMetrics time series instead of point-in-time SQL, with a trend and seasonal
baseline.
* **Query analysis** — top queries by execution time and WAL, running and blocked queries, and
`pg_stat_statements` snapshots that can be saved to a storage database, shared by URL, and
diffed against another snapshot or against live data.
* **Automatic snapshots** — a separate daemon captures query and lock-contention snapshots on
activity spikes or primary/replica role changes, so the evidence exists the next morning, when
someone asks what happened at 03:00.
* **Index analysis** — bloat, duplicates, invalid indexes, B-tree on arrays, plus a *may I drop
this index?* verdict that accounts for statistics resets, per-host counters and partitioned
indexes, instead of trusting `idx_scan = 0`.
* **Tables and maintenance** — size with TOAST breakdown, per-table describe, autovacuum and
wraparound thresholds computed with PostgreSQL's own formula, vacuum progress, and hot
tables/indexes derived from scheduled delta snapshots.
* **Locks, waits, connections** — lock trees, wait events grouped by type, connection states and
sources, active session details.
* **Access control** — three auth modes (open, static API keys, or OIDC with encrypted session
cookies), Casbin RBAC, personal access tokens and per-identity rate limiting.
* **MCP connector** — a read-only [MCP](https://modelcontextprotocol.io) server that exposes the
fleet diagnostics to AI assistants: 26 tools, 5 prompts, per-user token passthrough, and an
embedded knowledge base of the scoring rules.
The interface is available in English, Russian and German.
## Requirements
* **PostgreSQL 14 or newer** (tested on 14-18) for the monitored clusters, reachable with a role
holding `pg_monitor` and `CONNECT`.
* `pg_stat_statements` for query statistics; `pgstattuple` is optional.
* A separate PostgreSQL database if you want snapshots, hot-object history and personal access
tokens — everything else works without it.
## Documentation
* [README](https://github.com/dbulashev/dasha/blob/main/README.md) — configuration, deployment, Helm values.
* [Health Score scoring model](https://github.com/dbulashev/dasha/blob/main/README-health-score.md)
* [Changelog](https://github.com/dbulashev/dasha/blob/main/CHANGELOG.md)
## License
Dasha is licensed under the **GNU General Public License v3.0**; see
[LICENSE](https://github.com/dbulashev/dasha/blob/main/LICENSE).
Project page: [github.com/dbulashev/dasha](https://github.com/dbulashev/dasha)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | JDBC Project via PostgreSQL Announce | 2026-08-12 07:31:36 | New Modern JDBC Driver for PostgreSQL |
| Previous Message | United States PostgreSQL Association via PostgreSQL Announce | 2026-08-07 08:44:05 | Postgres Summit US 2026 Schedule is now live! |