What's New
This major release introduces several significant updates, new features, bug fixes, and enhancements
Important Changes
PostgreSQL 18 Metrics
total_XXX_time
columns are added totable_stats
metric;read_bytes
,write_bytes
, andextend_bytes
are added tostat_io
metric;- use
pg_stat_io
forwal_stats
metric; - use
pg_ls_archive_statusdir()
inarchiver_pending_count
metric; num_done
andslru_written
columns are added tocheckpointer
metric;parallel_workers_to_launch
andparallel_workers_launched
columns are added todb_stats
metric.
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
rpc
subdirectory 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_aurora
metric 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/rpc
in docs by @0xgouda in #922[*]
misc minor updates to docs by @0xgouda in #871[*]
removeuid
from 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/checkout
from 4 to 5 by @dependabot[bot] in #888[+]
bumpactions/download-artifact
from 4 to 5 by @dependabot[bot] in #881[+]
bumpactions/setup-go
from 5 to 6 by @dependabot[bot] in #939[+]
bumpactions/setup-node
from 4 to 5 by @dependabot[bot] in #936[+]
bumpactions/setup-python
from 5 to 6 by @dependabot[bot] in #938[+]
bumpactions/stale
from 9 to 10 by @dependabot[bot] in #937[+]
bumpaxios
from 1.11.0 to 1.12.0 by @dependabot[bot] in #953[+]
bumpdocker/docker
from 28.3.2 to 28.3.3 by @dependabot[bot] in #872[+]
bumpgo.etcd.io/etcd/client/v3
from 3.6.2 to 3.6.5 by @dependabot[bot] in #858 #868 #965[+]
bumpgolang-jwt/jwt/v5
from 5.2.3 to 5.3.0 by @dependabot[bot] in #876[+]
bumpgoogle.golang.org/grpc
from 1.73.0 to 1.75.1 by @dependabot[bot] in #865 #902 #950[+]
bumpgoogle.golang.org/protobuf
from 1.36.6 to 1.36.9 by @dependabot[bot] in #887 #904 #948[+]
bumpjackc/pgx/v5
from 5.7.5 to 5.7.6 by @dependabot[bot] in #946[+]
bumpprometheus/client_golang
from 1.22.0 to 1.23.2 by @dependabot[bot] in #878 #941[+]
bumpshirou/gopsutil/v4
from 4.25.6 to 4.25.8 by @dependabot[bot] in #877 #923[+]
bumpstretchr/testify
from 1.10.0 to 1.11.1 by @dependabot[bot] in #906 #912[+]
bumptestcontainers/testcontainers-go
from 0.38.0 to 0.39.0 by @dependabot[bot] in #964[+]
bumpwebui/react-scripts
to v5.0.1 (pinned version) by @pashagolub in #866[+]
improve "Global Database Overview" dashboard by @pashagolub in #869[+]
improvechange_events
metric 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 ifCOPY
fails, fixes #908 by @pashagolub in #911[-]
prevent concurrent map read and write inSourceCon
by @pashagolub in #971[-]
removehost_config
querying 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