You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

pg_stats_all_table数值重置的其他原因及相关排查问题咨询

PostgreSQL统计收集值意外重置的排查方案

额外触发统计值重置的原因

  • pg_stat_statements扩展参数变更:修改pg_stat_statements.track、pg_stat_statements.max等核心参数后,部分统计数据会被重置或截断。
  • 跨大版本升级:PostgreSQL跨大版本升级(如12→15)时,统计系统存储结构变更,原有统计数据会被重置。
  • 进程被OOM终止后重启:PostgreSQL进程因内存不足被系统OOM killer终止,若配置了自动重启,短暂的重启可能未被察觉,导致统计值重置。
  • 统计数据文件损坏:pg_stat目录下的统计存储文件损坏,PostgreSQL检测到后会自动重置统计收集。
  • 执行pg_resetwal工具:重置预写日志时,会连带清理部分统计元数据,触发统计值重置。

备份操作对统计值的影响

常规物理备份(如pg_basebackup)、逻辑备份(如pg_dump)不会直接重置原实例的统计值。仅当基于备份搭建新实例或进行恢复操作时,新实例的统计值会从零开始,这不属于原实例的统计值重置。

排查步骤

  1. 检查PostgreSQL日志:搜索日志中restart、crash、OOM、statistics reset、pg_stat_statements_reset等关键字,确认是否有未察觉的异常或重启。
  2. 核对参数变更记录:查看postgresql.conf的修改历史,确认pg_stat_statements相关参数、track_counts等统计收集参数是否有变更。
  3. 查看系统日志:检查操作系统日志(如/var/log/messages、syslog),确认PostgreSQL进程是否被OOM killer终止,或存在其他系统级异常。
  4. 验证统计文件完整性:检查$PGDATA/pg_stat目录下的文件大小、可读性,对比正常实例的该目录状态,排查文件损坏情况。
  5. 审计数据库操作:若开启审计功能,查看是否有用户执行pg_stat_statements_reset()或其他影响统计的操作。

内容的提问来源于stack exchange,提问作者BadProgrammer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 16:40:54