Pigsty监控系统中PostgreSQL 17的pg_stat_statements扩展适配
PostgreSQL 17版本对pg_stat_statements扩展进行了多项重要改进,这对Pigsty监控系统的适配工作提出了新的要求。作为PostgreSQL性能监控的核心组件,pg_stat_statements的升级将显著提升数据库性能分析能力。
pg_stat_statements扩展的改进点
PostgreSQL 17中对pg_stat_statements扩展的改进主要集中在以下几个方面:
-
参数占位符替换:现在CALL参数、保存点名称和两阶段提交GID都会被自动替换为占位符,这大大减少了需要记录的条目数量,特别是对于频繁使用SAVEPOINT、RELEASE SAVEPOINT、ROLLBACK TO SAVEPOINT以及两阶段提交命令的场景。
-
新增DEALLOCATE语句跟踪:扩展现在能够跟踪DEALLOCATE语句,这对于监控预处理语句的使用情况非常有价值。
-
本地I/O统计增强:新增了"local_blk_read_time"和"local_blk_write_time"两个列,用于记录本地块读写时间统计,完善了I/O性能分析能力。
-
JIT执行统计:增加了JIT deform_counter详细信息,帮助分析即时编译执行的效果。
-
统计重置功能增强:pg_stat_statements_reset()函数新增了minmax_only可选参数,允许仅重置最小/最大统计信息而不影响其他数据。
-
时间戳跟踪:新增"stats_since"和"minmax_stats_since"列,分别记录条目创建时间和上次最小/最大统计重置时间。
Pigsty监控系统的适配方案
针对这些改进,Pigsty监控系统需要进行以下适配工作:
-
指标收集器更新:需要修改pg_exporter的配置,以正确采集新增的本地I/O统计指标和JIT执行统计信息。
-
查询重写处理:由于参数占位符替换的改变,监控系统需要调整对SQL语句指纹识别的处理逻辑。
-
时间维度分析:利用新增的时间戳列,可以更精确地分析统计信息的收集周期和趋势变化。
-
统计重置优化:支持选择性重置最小/最大统计信息的功能,可以在不影响整体监控数据的情况下进行部分重置。
这些改进将使Pigsty能够更全面、更精确地监控PostgreSQL数据库的性能特征,特别是在复杂事务处理、预处理语句执行和JIT编译等高级功能方面提供更深入的洞察。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00
idea-claude-code-gui一个功能强大的 IntelliJ IDEA 插件,为开发者提供 Claude Code 和 OpenAI Codex 双 AI 工具的可视化操作界面,让 AI 辅助编程变得更加高效和直观。Java01
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00