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.

Useful Links