On Fri, May 01, 2020 at 07:10:23PM +0900, Atsushi Torikoshi wrote:
Hi,
When I tried to reset a counter in pg_stat_slru using
pg_stat_reset_slru(name),
not only the specified counter but all the counters were reset.
postgres=# SELECT * FROM pg_stat_slru ;
name | blks_zeroed | blks_hit | blks_read | blks_written |
blks_exists | flushes | truncates | stats_reset
------------------+-------------+----------+-----------+--------------+-------------+---------+-----------+-------------------------------
async | 3 | 0 | 0 | 3 |
0 | 0 | 0 | 2020-05-01 17:36:26.073433+09
clog | 0 | 56 | 0 | 0 |
0 | 0 | 0 | 2020-05-01 17:36:26.073433+09
commit_timestamp | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 2020-05-01 17:36:26.073433+09
(snip)
postgres=# SELECT pg_stat_reset_slru('clog');
postgres=# SELECT * FROM pg_stat_slru ;
name | blks_zeroed | blks_hit | blks_read | blks_written |
blks_exists | flushes | truncates | stats_reset
------------------+-------------+----------+-----------+--------------+-------------+---------+-----------+-------------------------------
async | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 2000-01-01 09:00:00+09
clog | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 2020-05-01 17:37:02.525006+09
commit_timestamp | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 2000-01-01 09:00:00+09
(snip)
Attached a patch.
Yeah, that memset is a left-over from some earlier version of the patch.
Thanks for the report and patch, I'll push this shortly.
regards
--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services