Re: pg_stat_get_backend_subxact() and backend IDs?
Ian Lawrence Barwick <barwick@gmail.com>
From: Ian Lawrence Barwick <barwick@gmail.com>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>, robertmhaas@gmail.com
Date: 2023-08-25T00:36:18Z
Lists: pgsql-hackers
2023年8月25日(金) 1:19 Nathan Bossart <nathandbossart@gmail.com>: > > On Wed, Aug 23, 2023 at 07:51:40PM -0700, Nathan Bossart wrote: > > On Wed, Aug 23, 2023 at 07:32:06PM -0700, Nathan Bossart wrote: > >> On Thu, Aug 24, 2023 at 10:22:49AM +0900, Ian Lawrence Barwick wrote: > >>> Looking at the code, this is happening because > >>> "pgstat_fetch_stat_local_beentry()" > >>> expects to be passed the backend ID as an integer representing a 1-based index > >>> referring to "localBackendStatusTable", but "pg_stat_get_backend_subxact()" > >>> is presumably intended to take the actual BackendId , as per other > >>> "pg_stat_get_XXX()" > >>> functions. > >> > >> Yes, this was changed in d7e39d7, but 10ea0f9 seems to have missed the > >> memo. > > > > BTW I'd argue that this is a bug in v16 that we should try to fix before > > GA, so I've added an open item [0]. I assigned it to Robert (CC'd) since > > he was the committer, but I'm happy to pick it up. > > Since RC1 is fast approaching, I put together a revised patch set. 0001 > renames the existing pgstat_fetch_stat* functions, and 0002 adds > pgstat_get_local_beentry_by_backend_id() and uses it for > pg_stat_get_backend_subxact(). Thoughts? Thanks for looking at this. In summary we now have these functions: extern PgBackendStatus *pgstat_get_beentry_by_backend_id(BackendId beid); extern LocalPgBackendStatus *pgstat_get_local_beentry_by_backend_id(BackendId beid); extern LocalPgBackendStatus *pgstat_get_local_beentry_by_index(int beid); which LGTM; patches work as expected and resolve the reported issue. Regards Ian Barwick
Commits
-
Use actual backend IDs in pg_stat_get_backend_subxact().
- 133654a05b43 16.0 landed
- d0fe3046eec3 17.0 landed
-
Rename some support functions for pgstat* views.
- 8dfa37b79784 16.0 landed
- 3d51cb5197ea 17.0 landed
-
Expose some information about backend subxact status.
- 10ea0f924a27 16.0 cited