Initialize SLRU stats entries to zero.
authorFujii Masao
Wed, 13 May 2020 13:19:25 +0000 (22:19 +0900)
committerFujii Masao
Wed, 13 May 2020 13:19:25 +0000 (22:19 +0900)
Previously since SLRUStats was not initialized, SLRU stats counters
could begin with non-zero value. Which could lead to incorrect results
in pg_stat_slru view.

Author: Fujii Masao
Reviewed-by: Tomas Vondra
Discussion: https://postgr.es/m/976bbb73-a112-de3c-c488-b34b64609793@oss.nttdata.com

src/backend/postmaster/pgstat.c

index 3f8105c6ebc496a2d06cc1557aa71c4f4964e4d7..416f86fbd6633754237036b88f28bf17ff1b2ac7 100644 (file)
@@ -2900,6 +2900,9 @@ pgstat_initialize(void)
        MyBEEntry = &BackendStatusArray[MaxBackends + MyAuxProcType];
    }
 
+   /* Initialize SLRU statistics to zero */
+   memset(&SLRUStats, 0, sizeof(SLRUStats));
+
    /* Set up a process-exit hook to clean up */
    on_shmem_exit(pgstat_beshutdown_hook, 0);
 }