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;
- 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;
- 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 obsolete
db_stats_aurora
metric by @pashagolub in #930 - [+] 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
- [+] bump
actions/checkout
from 4 to 5 by @dependabot[bot] in #888 - [+] bump
actions/download-artifact
from 4 to 5 by @dependabot[bot] in #881 - [+] bump
actions/setup-go
from 5 to 6 by @dependabot[bot] in #939 - [+] bump
actions/setup-node
from 4 to 5 by @dependabot[bot] in #936 - [+] bump
actions/setup-python
from 5 to 6 by @dependabot[bot] in #938 - [+] bump
actions/stale
from 9 to 10 by @dependabot[bot] in #937 - [+] bump
docker/docker
from 28.3.2 to 28.3.3 by @dependabot[bot] in #872 - [+] bump
go.etcd.io/etcd/client/v3
from 3.6.2 to 3.6.4 by @dependabot[bot] in #858 #868 - [+] bump
golang-jwt/jwt/v5
from 5.2.3 to 5.3.0 by @dependabot[bot] in #876 - [+] bump
google.golang.org/grpc
from 1.73.0 to 1.75.0 by @dependabot[bot] in #865 #902 - [+] bump
google.golang.org/protobuf
from 1.36.6 to 1.36.8 by @dependabot[bot] in #887 #904 - [+] bump
prometheus/client_golang
from 1.22.0 to 1.23.2 by @dependabot[bot] in #878 #941 - [+] bump
shirou/gopsutil/v4
from 4.25.6 to 4.25.8 by @dependabot[bot] in #877 #923 - [+] bump
stretchr/testify
from 1.10.0 to 1.11.1 by @dependabot[bot] in #906 #912 - [+] bump
webui/react-scripts
to v5.0.1 (pinned version) by @pashagolub in #866 - [+] improve "Global Database Overview" dashboard by @pashagolub in #869
- [+] improve
change_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
- [*] 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
- [*] fix
updateSources()
query parameters number by @0xgouda in #875 - [*] mention
pgwatch-contrib/rpc
in docs by @0xgouda in #922 - [*] misc minor updates to docs by @0xgouda in #871
- [*] remove hard coded metric defs from docs by @0xgouda in #870
- [*] update docs for metrics yaml folder configs by @0xgouda in #892
- [-] do not fail on db resolve error, just log an error, fixes #890 by @pashagolub in #899
- [-] fix source YAML test introduced by #900 by @pashagolub in #901
- [-] move to next envelope in Postgres sink if
COPY
fails, fixes #908 by @pashagolub in #911 - [-] remove
host_config
querying fromGetSources()
by @0xgouda in #863 - [-] remove double "git checkout" from "README.md" by @smiyc in #942
New Contributors
Full Changelog: v3.7.0...v4.0.0-beta