diff --git a/src/backend/utils/activity/pgstat_subscription.c b/src/backend/utils/activity/pgstat_subscription.c index e1072bd5ba..ef318b7422 100644 --- a/src/backend/utils/activity/pgstat_subscription.c +++ b/src/backend/utils/activity/pgstat_subscription.c @@ -47,8 +47,20 @@ pgstat_report_subscription_error(Oid subid, bool is_apply_error) void pgstat_create_subscription(Oid subid) { + PgStat_EntryRef *entry_ref; + PgStatShared_Subscription *shstatent; + pgstat_create_transactional(PGSTAT_KIND_SUBSCRIPTION, InvalidOid, subid); + + entry_ref = pgstat_get_entry_ref_locked(PGSTAT_KIND_SUBSCRIPTION, + InvalidOid, subid, + false); + shstatent = (PgStatShared_Subscription *) entry_ref->shared_stats; + + memset(&shstatent->stats, 0, sizeof(shstatent->stats)); + + pgstat_unlock_entry(entry_ref); } /*