Pgbot: A 5.9 MB read-only Postgres tool for humans and agents
sashash
47 points
9 comments
August 25, 2026
Related Discussions
Found 5 related stories in 57.9ms across 4,390 title embeddings via pgvector HNSW
- PostgreSQL for Everything karlmush · 333 pts · August 19, 2026 · 57% similar
- The startup's Postgres survival guide abelanger · 366 pts · July 22, 2026 · 55% similar
- PGSimCity - How PostgreSQL Works jonbaer · 356 pts · July 27, 2026 · 53% similar
- Pg_re2: Postgres extension for fast, RE2-powered regular expressions in Postgres saisrirampur · 16 pts · July 14, 2026 · 52% similar
- Pgtestdb's template cloning approach to testing is fast peterldowns · 19 pts · July 30, 2026 · 52% similar
Discussion Highlights (5 comments)
sashash
Hi HN, I’m Alex, a longtime PostgreSQL and Rails/Go/Rust engineer. I built pgbot because I often needed a quick explanation of what was happening inside a database without first deploying a dashboard, collector, telemetry stack, or separate database. pgbot is an open-source 5.9 MB Go binary that connects directly to PostgreSQL and returns useful findings in seconds: pgbot inspect — database health pgbot queries — expensive queries pgbot indexes — risky and unused indexes pgbot ask — answers for humans and agents MCP — lets coding agents inspect PostgreSQL directly The diagnostic findings are computed deterministically in Go. They are not invented by an LLM. pgbot is also read-only by design: it inspects the database but never applies changes. An agent can explain and prioritize the evidence, but it cannot silently modify production through pgbot. Source: https://github.com/pgrundev/pgbot I’d especially appreciate feedback about missing diagnostic checks, false positives, and the read-only safety model for coding agents.
sashash
Read-only by design: no DDL, DML, or automatic fixes.
sashash
It works anywhere you have a standard PostgreSQL connection string.
znnajdla
I don't understand what this tool offers over simply querying pg directly and reading pg logs?
michael-sumner
Be careful as it might be telemetrying the database. How do we know that it is not?