What's New
This major release introduces several significant updates, new features, bug fixes, and enhancements
Important Changes
PostgreSQL 18 Metrics
total_XXX_timecolumns are added totable_statsmetric;read_bytes,write_bytes, andextend_bytesare added tostat_iometric;- use
pg_stat_ioforwal_statsmetric; - use
pg_ls_archive_statusdir()inarchiver_pending_countmetric; num_doneandslru_writtencolumns are added tocheckpointermetric;parallel_workers_to_launchandparallel_workers_launchedcolumns are added todb_statsmetric.
Grafana Dashboards
- New Grafana v12 dashboards have been added for both PostgreSQL and Prometheus sinks;
- Grafana v10 support is discontinued;
- New "Global Database Overview" dashboard with 26 panels, including new panels for replication, connections, and index usage (inspired by postgres.ai);
- New "Database Overview" now has 21 panels with time lag support and improved visualizations;
- New "Query Performance Analysis" dashboard with enhanced table with 17 metrics and 8 visualization panels (inspired by postgres.ai);
- New "Tables Overview" dashboard providing insights into table sizes, bloat, and index usage with treemap visualizations panels.
Metrics
- Realtime metrics have been deprecated and removed from the system.
- Metrics can now be loaded from a specified folder, allowing for better organization and management of metric definitions.
Sinks
- gRPC Sink Enhancements: Basic authentication support has been added to the gRPC sink, along with improved documentation for its usage.
Development and Contribution
- The development experience with Docker Compose has been enhanced, making it easier to set up and manage the environment.
- A new repository, pgwatch-contrib, has been created to host additional contributions and extensions for pgwatch from the community. The
rpcsubdirectory contains sample gRPC sinks implementations.
Changelog
[!]add Grafana v12 dashboards for Prometheus data source by @pashagolub in #933[!]add support for PostgreSQL v18 by @pashagolub in #903[!]deprecate realtime metrics by @pashagolub in #925[!]remove Grafana v10 dashboards due to EOL of Grafana v10 by @pashagolub in #934[!]remove obsoletedb_stats_aurorametric by @pashagolub in #930[*]add note in sizing docs about metrics returning thousands of rows by @0xgouda in #874[*]clarify the usage of docker compose, closes #879 by @pashagolub in #880[*]fixupdateSources()query parameters number by @0xgouda in #875[*]increase Postgres sink partitions to precreate from 0 to 3 by @kylorend3r in #960[*]mentionpgwatch-contrib/rpcin docs by @0xgouda in #922[*]misc minor updates to docs by @0xgouda in #871[*]removeuidfrom datasource by @smiyc in #952[*]remove hard coded metric defs from docs by @0xgouda in #870[*]update docs for metrics yaml folder configs by @0xgouda in #892[+]add "Query Performance Analysis" dashboard by @pashagolub in #916[+]add "Tables Overview" dashboard by @pashagolub in #918[+]add basic auth support to grpc sink by @0xgouda in #862[+]add docs for grpc sink by @0xgouda in #867[+]add PlantUML diagrams by @pashagolub in #926[+]add sample metrics YAML file, closes #883 by @pashagolub in #900[+]allow metrics loading from folder, closes #882 by @0xgouda in #889[+]bumpactions/checkoutfrom 4 to 5 by @dependabot[bot] in #888[+]bumpactions/download-artifactfrom 4 to 5 by @dependabot[bot] in #881[+]bumpactions/setup-gofrom 5 to 6 by @dependabot[bot] in #939[+]bumpactions/setup-nodefrom 4 to 5 by @dependabot[bot] in #936[+]bumpactions/setup-pythonfrom 5 to 6 by @dependabot[bot] in #938[+]bumpactions/stalefrom 9 to 10 by @dependabot[bot] in #937[+]bumpaxiosfrom 1.11.0 to 1.12.0 by @dependabot[bot] in #953[+]bumpdocker/dockerfrom 28.3.2 to 28.3.3 by @dependabot[bot] in #872[+]bumpgo.etcd.io/etcd/client/v3from 3.6.2 to 3.6.5 by @dependabot[bot] in #858 #868 #965[+]bumpgolang-jwt/jwt/v5from 5.2.3 to 5.3.0 by @dependabot[bot] in #876[+]bumpgoogle.golang.org/grpcfrom 1.73.0 to 1.75.1 by @dependabot[bot] in #865 #902 #950[+]bumpgoogle.golang.org/protobuffrom 1.36.6 to 1.36.9 by @dependabot[bot] in #887 #904 #948[+]bumpjackc/pgx/v5from 5.7.5 to 5.7.6 by @dependabot[bot] in #946[+]bumpprometheus/client_golangfrom 1.22.0 to 1.23.2 by @dependabot[bot] in #878 #941[+]bumpshirou/gopsutil/v4from 4.25.6 to 4.25.8 by @dependabot[bot] in #877 #923[+]bumpstretchr/testifyfrom 1.10.0 to 1.11.1 by @dependabot[bot] in #906 #912[+]bumptestcontainers/testcontainers-gofrom 0.38.0 to 0.39.0 by @dependabot[bot] in #964[+]bumpwebui/react-scriptsto v5.0.1 (pinned version) by @pashagolub in #866[+]improve "Global Database Overview" dashboard by @pashagolub in #869[+]improvechange_eventsmetric processing by @pashagolub in #932[+]improve development experience with docker compose by @pashagolub in #927[+]update docs with new v12 dashboards screenshots by @pashagolub in #943[-]do not fail on db resolve error, just log an error, fixes #890 by @pashagolub in #899[-]fix assignment to entry in nil map, fixes #968 by @pashagolub in #969[-]fix dashboard links to single query details, fixes #961 by @pashagolub in #970[-]fix Patroni resolver, fixes #962 by @pashagolub in #973[-]fix source YAML test introduced by #900 by @pashagolub in #901[-]fix weekly partition naming at year boundaries by @pashagolub in #974[-]move to next envelope in Postgres sink ifCOPYfails, fixes #908 by @pashagolub in #911[-]prevent concurrent map read and write inSourceConby @pashagolub in #971[-]removehost_configquerying fromGetSources()by @0xgouda in #863[-]remove double "git checkout" from "README.md" by @smiyc in #942[-]use proper datasource id in Prometheus dashboards by @pashagolub in #972
New Contributors
- @smiyc made their first contribution in #942
- @kylorend3r made their first contribution in #960
Full Changelog: v3.7.0...v4.0.0