At Mon, 21 Mar 2022 14:30:17 -0700, Andres Freund <and...@anarazel.de> wrote in > > Right now we reset stats for replicas, even if we start from a shutdown > > checkpoint. That seems pretty unnecessary with this patch: > > - 0021-pgstat-wip-only-reset-pgstat-data-after-crash-re.patch > > Might raise this in another thread for higher visibility.
+ /* + * When starting with crash recovery, reset pgstat data - it might not be + * valid. Otherwise restore pgstat data. It's safe to do this here, + * because postmaster will not yet have started any other processes + * + * TODO: With a bit of extra work we could just start with a pgstat file + * associated with the checkpoint redo location we're starting from. + */ + if (ControlFile->state == DB_SHUTDOWNED || + ControlFile->state == DB_SHUTDOWNED_IN_RECOVERY) + pgstat_restore_stats(); + else + pgstat_discard_stats(); + Before there, InitWalRecovery changes the state to DB_IN_ARCHIVE_RECOVERY if it was either DB_SHUTDOWNED or DB_IN_PRODUCTION. So the stat seems like always discarded on standby. In the first place, I'm not sure it is valid that a standby from a cold backup takes over the stats from the primary. regards. -- Kyotaro Horiguchi NTT Open Source Software Center