Re: pg_stat_get_backend_subxact() and backend IDs?

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: Ian Lawrence Barwick <barwick@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>, robertmhaas@gmail.com
Date: 2023-08-24T16:19:13Z
Lists: pgsql-hackers

Attachments

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?

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

Commits

  1. Use actual backend IDs in pg_stat_get_backend_subxact().

  2. Rename some support functions for pgstat* views.

  3. Expose some information about backend subxact status.