postgresql 日志的含义“使用过时的统计数据而不是当前的统计数据,因为统计信息收集器没有响应”

postgresql 日志的含义“使用过时的统计数据而不是当前的统计数据,因为统计信息收集器没有响应”

我在 Debian 7 Wheezy 上运行着 Postgresql 9.1+134wheezy4。从 2015-02-07 开始(我猜它当时已经被移植了,见下文),我经常在 中看到以下行/var/log/postgresql/postgresql-9.1-main.log

2015-02-07 11:08:33 CET LOG:  using stale statistics instead of current ones because stats collector is not responding

我每天都会出现几次,没有什么特别的或值得担心的。但我不明白这行的意思,也找不到关于它的文档。它在变更日志中提到9.3.69.4.1

  • 将“pgstat 等待超时”警告消息更改为 LOG 级别,并重新表述使其更易于理解 (Tom Lane)

    最初认为此消息本质上是一种不可能发生的情况,但它在我们较慢的 buildfarm 成员上经常发生,令人厌烦。将其降低到 LOG 级别,并在措辞上多花点功夫:现在显示为“使用过时的统计数据而不是当前统计数据,因为统计数据收集器没有响应”。

不幸的是,它没有解释含义。WARNING: pgstat wait timeout直到二月份它改变的时候,我才发现它和新消息一样频繁。日志行上的信息也没有帮助/建设性。一个常见的建议是重新启动服务器或删除共享内存段。

这些是 postgresql 重启的日志:

2015-05-25 17:01:39 CEST LOG:  using stale statistics instead of current ones because stats collector is not responding
2015-05-25 18:00:04 CEST LOG:  received fast shutdown request
2015-05-25 18:00:04 CEST LOG:  aborting any active transactions
2015-05-25 18:00:04 CEST LOG:  autovacuum launcher shutting down
2015-05-25 18:00:04 CEST LOG:  shutting down
2015-05-25 18:00:04 CEST LOG:  database system is shut down
2015-05-25 18:00:06 CEST LOG:  database system was shut down at 2015-05-25 18:00:04 CEST
2015-05-25 18:00:06 CEST LOG:  database system is ready to accept connections
2015-05-25 18:00:06 CEST LOG:  autovacuum launcher started
2015-05-25 18:00:07 CEST LOG:  incomplete startup packet

这是否意味着统计信息收集器出现故障或配置错误?出现此现象的原因是什么?如何避免?

相关内容