Easily collect and report PostgreSQL metrics for scripting, automation and troubleshooting.
pgmetrics is an open-source, zero-dependency, single-binary tool that can collect a lot of information and statistics from a running PostgreSQL server and display it in easy-to-read text format or export it as JSON and CSV for scripting.
Collects information about WAL archiving, BG writer, backends (waiting, idling, transaction too long), vacuum progress, replication (primary, standby, publications, subscriptions), replication slots (physical, logical)
Gathers stats about tablespaces (location, disk and inode usage), database sizes, transaction ID wraparound age, commit ratios, bloat, deadlocks, conflicts, cache hit ratio, installed extensions, disabled triggers, pg_stat_statements, blocked queries
Collects stats about last vacuum and analyze runs, changes since last vacuum, HOT update ratio, ins/upd/del ratios, seq and idx scan efficiency, table size and bloat, index hit ratio, inheritance, partition
Written in Go (Golang). pgmetrics is a zero-dependency, statically-linked single binary executable, available on Linux, Windows, macOS and FreeBSD.
Understands most of the same command-line flags and environment variables that psql and other PostgreSQL-bundled CLI tools use. No need to install any PostgreSQL extension.
Released under the Apache 2.0 Open Source license. Lives on GitHub at rapidloop/pgmetrics. Contributions via issues and pull requests welcome.