On 11/21/24 09:29, Steeve Boulanger wrote:
> Hello,
>
> I have noticed recently that our databases (ie most but not all) have
> their stats reset on daily basis:
>
> select count(case when stats_reset > (now() - interval '1 day') then 1
> else null end) db_reset_cnt, count(*) db_total_cnt from pg_stat_database;
> db_reset_cnt | db_total_cnt
> --------------+--------------
> 77 | 157
>
> Furthermore, the archiver stats also get reset:
>
> select stats_reset from pg_stat_archiver;
> stats_reset
> -------------------------------
> 2024-11-21 13:52:35.864855+00
>
> Some facts:
> - PostgreSQL v13.16 on Linux Ubuntu 20.04
> - There's no evidence in the logs that any pg_stat_reset* functions have
> been executed
> name | setting
> ----------------------------+---------
> log_min_duration_statement | 0
> log_statement | all
> - we don't have any user procs with a pg_stat_reset call
> - the timestamps of the reset across databases are sometimes close to
> each other, but not always
> Anyone has any insight on what could be doing this daily stats reset, or
> perhaps how to find the root cause?
https://www.postgresql.org/docs/current/monitoring-stats.html#MONITORING-STATS-SETUP
"Cumulative statistics are collected in shared memory. Every PostgreSQL
process collects statistics locally, then updates the shared data at
appropriate intervals. When a server, including a physical replica,
shuts down cleanly, a permanent copy of the statistics data is stored in
the pg_stat subdirectory, so that statistics can be retained across
server restarts. In contrast, when starting from an unclean shutdown
(e.g., after an immediate shutdown, a server crash, starting from a base
backup, and point-in-time recovery), all statistics counters are reset."
>
> Regards,
> Steeve
>
--
Adrian Klaver
adrian.klaver@aklaver.com