]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
pgstat: drop subscription stats without slot as well, fix comment
authorAndres Freund <andres@anarazel.de>
Wed, 6 Jul 2022 15:53:25 +0000 (08:53 -0700)
committerAndres Freund <andres@anarazel.de>
Wed, 6 Jul 2022 15:56:34 +0000 (08:56 -0700)
There's no reason anymore to only drop subscription stats if associated with a
slot, now that stats drops are transactional. And since there's now no other
cleanup of stats, this would lead to stats for slot-less subscriptions to get
leaked (however most slot-less subs won't have stats).

Additionally, the comment referring to autovacuum cleaning up stats was
clearly outdated.

Author: Masahiko Sawada <sawada.mshk@gmail.com>
Discussion: https://postgr.es/m/CAD21AoAwiby3HeJE7vJe16Gr75RFfJ640dyHqvsiUhyKJTXPtw@mail.gmail.com
Backpatch: 15-

src/backend/commands/subscriptioncmds.c

index e2852286a7dad222469919c53a8f60bf5b012bc6..bdc1208724113196b5c3234140ac7ef283589477 100644 (file)
@@ -1578,15 +1578,9 @@ DropSubscription(DropSubscriptionStmt *stmt, bool isTopLevel)
 
        /*
         * Tell the cumulative stats system that the subscription is getting
-        * dropped. We can safely report dropping the subscription statistics here
-        * if the subscription is associated with a replication slot since we
-        * cannot run DROP SUBSCRIPTION inside a transaction block.  Subscription
-        * statistics will be removed later by (auto)vacuum either if it's not
-        * associated with a replication slot or if the message for dropping the
-        * subscription gets lost.
+        * dropped.
         */
-       if (slotname)
-               pgstat_drop_subscription(subid);
+       pgstat_drop_subscription(subid);
 
        table_close(rel, NoLock);
 }