Fix copy-paste error related to the autovacuum launcher in pgstat_io.c
authorMichael Paquier <michael@paquier.xyz>
Tue, 18 Mar 2025 23:52:10 +0000 (08:52 +0900)
committerMichael Paquier <michael@paquier.xyz>
Tue, 18 Mar 2025 23:52:10 +0000 (08:52 +0900)
Autovacuum launchers perform no WAL IO reads, but pgstat_tracks_io_op()
was tracking them as an allowed combination for the "init" and "normal"
contexts.

This caused the "read", "read_bytes" and "read_time" attributes of
pg_stat_io to show zeros for the autovacuum launcher rather than NULL.
NULL means that a combination of IO object, IO context and IO operation
has no meaning for a backend type.  Zero is the same as telling that a
combination is relevant, and that WAL reads are possible in an
autovacuum launcher, but it is not relevant.

Copy-pasto introduced in a051e71e28a1.

Author: Ranier Vilela <ranier.vf@gmail.com>
Reviewed-by: Nazir Bilal Yavuz <byavuz81@gmail.com>
Discussion: https://postgr.es/m/CAEudQAopEMAPiUqE7BvDV+x2fUPmKmb9RrsaoDR+hhQzLKg4PQ@mail.gmail.com

src/backend/utils/activity/pgstat_io.c

index c8de9c9e2d3a701a2c540016eb08da442a99cf33..d8d26379a571e7d0288852fb168592e09c36e7b9 100644 (file)
@@ -512,7 +512,7 @@ pgstat_tracks_io_op(BackendType bktype, IOObject io_object,
     */
    if (io_object == IOOBJECT_WAL && io_op == IOOP_READ &&
        (bktype == B_WAL_RECEIVER || bktype == B_BG_WRITER ||
-        bktype == B_AUTOVAC_WORKER || bktype == B_AUTOVAC_WORKER ||
+        bktype == B_AUTOVAC_LAUNCHER || bktype == B_AUTOVAC_WORKER ||
         bktype == B_WAL_WRITER))
        return false;