We are thrilled to announce that the FINAL version of pgwatch2 v1.9 is now ready for your production environment! pgwatch provides a secure, open-source, flexible, self-contained PostgreSQL metrics monitoring/dashboarding solution. pgwatch2 v1.9 supports monitoring PG versions 9.0 to 14 out of the box. Upgrade, or install pgwatch today to see how fantastic it really is. Download it from Github.

pgwatch2 v1.9 – Feature Highlights

pgwatch supports monitoring PostgreSQL versions 9.0 to 14 out of the box

New Features

It has been a long time since our previous release. And even though pgwatch2 v1.9 is not considered a major upgrade, there are a lot of impressive changes.

First of all, we have a new maintainer for pgwatch2. That’s me, Pavlo Golub. I hope Kaarel Moppel, the author of pgwatch2, will still work on the project – but now without the extra burden of support and maintenance.

We’ve used the fresh Go v1.17 for all binaries and Docker images.

We now have full PostgreSQL v14 support and support for the latest Grafana v8 visualization solution. For those who still use the previous versions of Grafana, we also added support for v7 and v6 dashboards.

To improve our CI/CD experience and automate some tasks, we’ve introduced three GitHub Actions in a series of planned workflows:

  • Release
  • CodeQL analysis
  • Close Stale Issues and PRs
  • The Release workflow will automatically build all artifacts, including Docker images, and publish the release.

CodeQL analysis stands guard over code security. It will thoroughly investigate each pull request and each push.

It’s not a surprise that many issues are created for open-source projects which never get a follow-up contribution from the topic starter. We have enabled a Close Stale Issues and PRs workflow to keep up with the continuous storm of new issues and PRs. It will mark issues and PRs with no activity as stale, and eventually close them.

We added many more cool features, like new gatherer options, e.g. --try-create-listed-exts-if-missing. Or like new metrics for monitoring “wait_events”.

Performance

  • We provided many code modifications to improve performance.
  • Prometheus-mode monitoring is now one of the essential optimizations.
  • We rewrote the gatherer code to skip tables without waiting for AccessExclusiveLock.
  • We’ve added a new --min-db-size-mb flag to ignore “empty” databases. It allows the gatherer to skip measures fetching for empty or for small-sized databases.
  • pgwatch2 v1.9 comes with fully redesigned connection pooling, which will hardly rely on sqlx.DB from now on.
  • Timeouts have been greatly increased for database and table size fetching – to 5min.
  • Metric fetching was made less disruptive by setting a short lock_timeout.
  • The new --no-helper-functions parameter allows you to skip metric definitions which rely on helper functions. This mode makes working with managed instances more fluid, with fewer errors in logs. It uses the SU or superuser version of a metric immediately when available, and not after the first failed call.
  • The new --emergency-pause-triggerfile flag aims to quickly shut down collectors. The main idea of the feature is to quickly free monitored databases and networks of any extra “monitoring effect” load.

pgwatch2 v1.9 – Additional Features

You’ll find many other new features and improvements in pgwatch2 v1.9. Some may be more important to your use case than those highlighted above. For the latest documentation see here. 

pgwatch2 v.19 – What’s Changed

New Contributors

Full Changelogv1.8.5...v1.9.0

See also our new blog about using pgwatch v1.9 with Google Cloud PostgreSQL!