Skip to content

Releases: postgres-ai/postgres_ai

0.13

04 Dec 23:37

Choose a tag to compare

postgres_ai monitoring v0.13 - release notes

What's new

Kubernetes support (Helm charts)

Complete Kubernetes deployment support via Helm charts, including: (!72)

  • Full monitoring stack deployment (PGWatch, VictoriaMetrics, Grafana)
  • CronJob-based reporter for automated health checks
  • Configurable ingress with TLS support
  • Persistent storage via StatefulSets
  • Helm chart: postgres-ai-monitoring-0.13.tgz

New dashboard: "13. Lock contention"

New metric and dedicated dashboard for detailed lock contention analysis: (!82, !84, !86)

  • Blocked and blocking process identification
  • Lock modes and types visualization
  • Affected tables and queries
  • Wait duration and transaction time tracking
  • "Database: All" filter option

OAuth support for Grafana

Added OAuth authentication support for Grafana with configurable providers, enabling SSO integration; allows authentication using PostgresAI account (limited to members of specific organization that owns monitoring instance) (!79)

Issue generation API

New issue_generation flag in report file API for automated issue creation workflows. (!69)

Dashboard improvements

  • Dashboard 2 (Aggregated Query Analysis): Added 'per second' to titles and proper XXX/s units; added "Database: All" filter option (!88, !87)
  • Dashboard 3 (Single Query Analysis): Show detailed wait events in Active Session History panel (!76)
  • Dashboard 4 (Wait Sampling): Added "DB name: All" filter, now default selection (!78)
  • Dashboard 12 (SLRU): Renamed title to '12. SLRU cache stats' for consistency (!89)

Performance improvements

  • Reduced VictoriaMetrics load: Metrics now filter queries by current_database() to reduce cardinality and improve query performance (!80)

Fixes

  • Reporter queries: Fixed and improved metric queries for better data reliability (!73)
  • Database discovery: Made DB discovery source-agnostic for better compatibility (!70)
  • H004 report: Now includes index_definition field (consistent with H002) (!71)

Code quality

  • Added pgwatch_generated comment to all SQL queries for traceability (!75)
  • Added checkTitle field to all report JSONs for better organization (!74)
  • Comprehensive test suite for Postgres reporter (!77, !81)

0.12

11 Nov 19:01

Choose a tag to compare

Release Date: November 10, 2025
GitLab Issue: #48

Overview

Version 0.12.0 adds SLRU monitoring, multixact member space exhaustion detection, enhanced dashboard usability, and improved automated reporting for production Postgres databases.

New features

SLRU monitoring dashboard (!65)

New dedicated dashboard for monitoring Simple Least Recently Used (SLRU) caches through pg_stat_slru metrics. Provides visibility into CLOG, subtransaction cache, multixact offset and member cache performance. SLRU contention can cause severe performance degradation that is difficult to diagnose without proper monitoring.

MultiXact member space exhaustion (!66)

Added early warning metric for multixact member space exhaustion by monitoring pg_multixact/members directory size. Provides advance notice before emergency autovacuum triggers. Documentation updated with required permissions for RDS/Aurora and self-managed instances.

High-level troubleshooting metrics (!67)

Redesigned Dashboard 1 to use high-level system metrics instead of granular pg_stat_statements aggregations. Provides faster dashboard load times (2-3x improvement), more intuitive top-down troubleshooting workflow, and better alignment with Four Golden Signals methodology.

Enhanced unused indexes report (!64)

  • Index definitions included for one-command UNDO operations
  • Improved statistics age calculation using database uptime when stats_reset is NULL
  • Enhanced metadata for safer index cleanup decisions

Other minor improvements

  • Active Session History (Dashboard 4) legibility improvements
  • Aggregated table statistics table on Dashboard 8
  • Got rid of hard-coded inner passwords for sink-postgres

Bug fixes

  • Corrected grant statements in documentation
  • Multi-value tooltips on Dashboard 1 enable time-synchronized analysis across all metrics

Linked merge requests

  • !68 — Dashboard improvements (shared tooltips, ASH)
  • !67 — High-level metrics on Dashboard 1
  • !66 — Multixact folder size monitoring
  • !65 — SLRU metrics and dashboard
  • !64 — Unused indexes report improvements

References

0.11

30 Oct 15:54

Choose a tag to compare

Major changes

Victoria Metrics integration (bbe4c8d)

Replaced standard Prometheus with Victoria Metrics for time-series data storage, delivering substantial performance and efficiency improvements:

  • Better compression: Reduced storage footprint for long-term metric retention (from 2 GiB/day to >0.4 GiB/day/instance)
  • Lower memory usage: More efficient resource utilization for large-scale deployments
  • Enhanced performance: Faster query execution for dashboard rendering and analysis
  • Full compatibility: Maintains complete Prometheus query language compatibility
  • Increased capacity: Supports higher cardinality metrics without performance degradation

The migration is seamless with no changes required to existing Grafana dashboards or queries.

Optimized query analysis

  • Improved pg_stat_statements metric collection for more accurate and useful query performance data:

    • Query-level aggregation: Metrics now aggregate by queryid across all users and databases
    • Simplified analysis: Removed per-user ranking in favor of database-wide query patterns
    • Consistent metrics: Unified view of query performance regardless of executing user
    • Better trending: More reliable historical data for query performance analysis
  • Added stats_reset metric which allows to check the last time statistics were reset

New metrics (6a76444)

Added StatIO metric for indexes

Made retention period 2 weeks instead of 8 days (72c65cd)

Bug Fixes

  • Fixed bug of redundant/unused indexes metrics by adding a clause of granting pg_index to monitoring user (e59fbbd)
  • Fixed incorrect display of blk_write_time on the 1st dashboard (b958fa0, 444343e)
  • Fixed a bug of not filtering top_k for aggregated table stats (6a76444)
  • statement_timeout_seconds is now set to 15 seconds for all metrics (6a76444)