pg_stat_reset_single_table_counters/pg_stat_reset_single_function_counters only update pg_stat_database column stats_reset. stat_reset shuld update when all the column is reset.
sample: drop database if exists lzzhang_db; create database lzzhang_db; \c lzzhang_db create table lzzhang_tab(id int); insert into lzzhang_tab values(1); insert into lzzhang_tab values(1); select tup_fetched, stats_reset from pg_stat_database where datname='lzzhang_db'; select pg_sleep(1); select pg_stat_reset_single_table_counters('lzzhang_tab'::regclass::oid); select tup_fetched, stats_reset from pg_stat_database where datname='lzzhang_db'; result: tup_fetched | stats_reset -------------+------------------------------- 514 | 2019-05-12 03:22:55.702753+08 (1 row) tup_fetched | stats_reset -------------+------------------------------- 710 | 2019-05-12 03:22:56.729336+08 (1 row) tup_fetched is not reset but stats_reset is reset.
From 4f78735ceab9a410dbd015d1c0b1bf977eddf5b7 Mon Sep 17 00:00:00 2001 From: zhang lian zhuang <zlianzhu...@163.com> Date: Sun, 12 May 2019 18:38:55 +0800 Subject: [PATCH] pg_stat_database update stats_reset only by pg_stat_reset pg_stat_reset_single_table_counters and pg_stat_reset_single_function_counters only update pg_stat_database column stats_reset. stat_reset shuld update when all the column is reset. --- src/backend/postmaster/pgstat.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c index 15852fe24f..cba4450c01 100644 --- a/src/backend/postmaster/pgstat.c +++ b/src/backend/postmaster/pgstat.c @@ -5984,9 +5984,6 @@ pgstat_recv_resetsinglecounter(PgStat_MsgResetsinglecounter *msg, int len) if (!dbentry) return; - /* Set the reset timestamp for the whole database */ - dbentry->stat_reset_timestamp = GetCurrentTimestamp(); - /* Remove object if it exists, ignore it if not */ if (msg->m_resettype == RESET_TABLE) (void) hash_search(dbentry->tables, (void *) &(msg->m_objectid), -- 2.21.0