diff --git a/src/backend/utils/activity/pgstat.c b/src/backend/utils/activity/pgstat.c index b2ca3f39b7..d1f7eebbdb 100644 --- a/src/backend/utils/activity/pgstat.c +++ b/src/backend/utils/activity/pgstat.c @@ -1790,16 +1790,16 @@ pgstat_read_statsfile(XLogRecPtr redo) } /* Load back stats into shared memory */ - if (pgstat_is_kind_builtin(kind)) - ptr = ((char *) shmem) + info->shared_ctl_off + - info->shared_data_off; - else + if (pgstat_is_kind_custom(kind)) { int idx = kind - PGSTAT_KIND_CUSTOM_MIN; ptr = ((char *) shmem->custom_data[idx]) + info->shared_data_off; } + else + ptr = ((char *) shmem) + info->shared_ctl_off + + info->shared_data_off; if (!read_chunk(fpin, ptr, info->shared_data_len)) {