A am pleased to announce the very first release of Postgres healthcheck automation tool, postgres-checkup.
postgres-checkup v1 collects data and generates reports in a few minutes, allowing to reduce time of the whole healthcheck procedure from weeks to a few hours.
The tool can be used on Linux and MacOS machines.
Nothing to be installed on Postgres servers ("zero install").
Supports the collection of data using both direct Postgres connections and using server's psql accessed via remote SSH calls.
All checks are light and unobtrusive, tested on production databases with 500k+ tables and 1M+ indexes.
Some reports combine information from multiple nodes, that allows performing complex analysis of the master and all its replicas.
This version contains 27 reports (listed in README), including but not limited to:
analysis of autovacuum and bloat estimations for tables and B-tree indexes (section F);
invalid, unused, and redundant indexes (section H);
detailed query analysis based on pg_stat_statements and pg_stat_kcache (section K).
Limitations
no binaries for now, Go part is to be compiled;
reports are partially automated: only "Observations" sections; "Conclusions" and "Recommendations" are to be completed by an expert (hence, currently, this tool aims to support work of Postgres expert engineers; future versions will be more friendly to non-experts);
reports in K group (Query Analysis) work only with last two snapshots;
there is no integration with cloud APIs yet: "infrastructure" reports are generated only for on-premise Linux setups, where ssh is available; SQL-level reports can work with any cloud setups such as Amazon RDS, Google Cloud SQL, Azure.