Tags: postgres-ai/postgres_ai
Tags
Merge branch 'add-k8s-support' into 'main' Add k8s support See merge request postgres-ai/postgres_ai!72
# Release notes for v0.11 This release is tracked in [this merge request](https://gitlab.com/postgres-ai/postgres_ai/-/merge_requests/63). ## Major changes ### Victoria Metrics integration ([bbe4c8d](https://gitlab.com/postgres-ai/postgres_ai/-/commit/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](https://gitlab.com/postgres-ai/postgres_ai/-/commit/6a76444)) Added StatIO metric for indexes ### Made retention period 2 weeks instead of 8 days ([72c65cd](https://gitlab.com/postgres-ai/postgres_ai/-/commit/72c65cd)) ### Bug Fixes - Fixed bug of redundant/unused indexes metrics by adding a clause of granting pg_index to monitoring user ([e59fbbd](https://gitlab.com/postgres-ai/postgres_ai/-/commit/e59fbbd)) - Fixed incorrect display of blk_write_time on the 1st dashboard ([b958fa0](https://gitlab.com/postgres-ai/postgres_ai/-/commit/b958fa0), [444343e](https://gitlab.com/postgres-ai/postgres_ai/-/commit/444343e)) - Fixed a bug of not filtering top_k for aggregated table stats ([6a76444](https://gitlab.com/postgres-ai/postgres_ai/-/commit/6a76444)) - statement_timeout_seconds is now set to 15 seconds for all metrics ([6a76444](https://gitlab.com/postgres-ai/postgres_ai/-/commit/6a76444))
## Postgres version support
- Updated supported Postgres versions from 14-17 to 14-18
### Docker Compose improvements
- Added `BIND_HOST` environment variable for controlling port bindings on internal services
- Added `GRAFANA_BIND_HOST` environment variable for controlling Grafana port bindings
- Added `restart: unless-stopped` policy to pgwatch and Grafana services for automatic recovery
- Improved YAML formatting for better readability
### Port binding security
- All service ports now support configurable binding:
- `${BIND_HOST:-}55432:5432` for target-db
- `${BIND_HOST:-}55433:5432` for sink-postgres
- `${BIND_HOST:-}59090:9090` for Prometheus
- `${BIND_HOST:-}58080:8080` for pgwatch-postgres
- `${BIND_HOST:-}58089:8089` and `${BIND_HOST:-}59091:9091` for pgwatch-prometheus
- `${GRAFANA_BIND_HOST:-}3000:3000` for Grafana
- `${BIND_HOST:-}55000:5000` for flask-backend
- Default behavior: bind to all interfaces (empty value)
- Recommended: set `BIND_HOST=127.0.0.1:` to restrict access to localhost
### AWS infrastructure
- Added complete Terraform infrastructure for AWS EC2 deployment
- Supports single-instance deployment with Docker Compose
- Includes VPC, Security Groups, EBS volumes, optional Elastic IP
- Comprehensive documentation and quick start guides
### Workload examples
- Added `items_updated_at_idx` index to single_index_analysis example
### 🆕 Postgres 18 support - Full compatibility: All new metrics and existing monitoring features now support Postgres 18 - Extended version range: Monitoring now supports Postgres versions 14-18 ### 🎨 New dashboards Dashboard 8 (Aggregated table analysis): - Top tables by sizes (main (excluding TOAST), TOAST, size of indexes associated with the table) - Top tables by tuple operation rates (inserts, deletes, HOT updates, non-HOT updates) - Top tables by estimated bloat - Top tables by shared blocks hit/read types - Top tables by sequential/index live tuple fetches Dashboard 9 (Single table analysis): - Detailed table size distribution breakdown - Estimated bloat analysis - Sequential/index live tuple fetch breakdown - I/O statistics section with shared block hits, reads, and hit ratio analysis - Enhanced tuple operations analysis ### 🚀 pg_index_pilot integration Monitoring of the automated index management solution brought by our team: - New pg_index_pilot metric monitors index states, sizes, and optimization ratios - pg_index_pilot_config metric tracks rebuild thresholds and settings ### 🔍 Other new metrics added Enhanced table monitoring capabilities: - Table size components: table_size_detailed metric - I/O performance tracking: pg_statio_all_tables metric - System catalog access: pg_class metric ### 🔧 Miscellaneous minor fixes and improvements - SQL query optimizations and compatibility enhancements - More consistent styling across the board
# Release Notes v0.8 ## 🚀 New Features - **Background Writer and Checkpointer Monitoring**: Added pg_stat_bgwriter metrics and dashboard visualizations - **Vacuum Progress Tracking and visualisation**: Vacuum operation monitoring with pg_stat_progress_vacuum - **Enhanced Table Statistics**: New comprehensive table stats dashboard - **Query Text Export optimisation**: Added limits to query text export with optimized storage ## 🐛 Bug Fixes - **Metric Collection Errors**: Fixed various metric collection issues - **pg_stat_statements Optimization**: Removed “others” aggregation to improve detalization - **PostgreSQL Sink**: Removed pg_vacuum_progress from postgres sink (kept in Prometheus) - **Query Storage**: Optimized query text storage and export functionality
PreviousNext