Fix use of proc number in pgstat_create_backend()

Michael Paquier <michael@paquier.xyz>

Commit: e679d0f0b6729d0e97510dd4ab6a793700d6d66a
Author: Michael Paquier <michael@paquier.xyz>
Date: 2026-02-06T10:57:26Z
Releases: 18.2
Fix use of proc number in pgstat_create_backend()

This routine's internals directly used MyProcNumber to choose which
object ID to assign for the hash key of a backend's stats entry, while
the value to use is given as input argument of the function.

The original intention was to pass MyProcNumber as an argument of
pgstat_create_backend() when called in pgstat_bestart_final(),
pgstat_beinit() ensuring that MyProcNumber has been set, not use it
directly in the function.  This commit addresses this inconsistency by
using the procnum given by the caller of pgstat_create_backend(), not
MyProcNumber.

This issue is not a cause of bugs currently.  However, let's keep the
code in sync across all the branches where this code exists, as it could
matter in a future backpatch.

Oversight in 4feba03d8b92.

Reported-by: Ryo Matsumura <matsumura.ryo@fujitsu.com>
Discussion: https://postgr.es/m/TYCPR01MB11316AD8150C8F470319ACCAEE866A@TYCPR01MB11316.jpnprd01.prod.outlook.com
Backpatch-through: 18

Files

PathChange+/−
src/backend/utils/activity/pgstat_backend.c modified +1 −1

Discussion