On Wed, Jun 24, 2026 at 05:31:12AM +0000, Bertrand Drouvot wrote:
> But header in pgstat_internal.h mentions:
> 
> "
>  * Definitions for the PostgreSQL cumulative statistics system that should
>  * only be needed by files implementing statistics support (rather than ones
>  * reporting / querying stats).
> 
> "
> 
> So it looks like that we are breaking this convention here. Maybe add helper
> function(s)?

Yeah.  Pulling pgstat_internal.h in pgstatfuncs.c is not great.  The
code acts as a barrier as the internal part and the fields data
retrieved by the functions.  A couple of alternatives I can think of:
- Put this new function in a new file under activity, named blankly
pgstat_kind.c.
- Move the necessary stuff out of pgstat_internal.h into a new header,
or just pgstat_kind.h with a !FRONTEND block.
- Use a new wrapper function that copies the data we need into an
intermediate structure.  This is just a new pgstat_get_kind_info().

Among these two, putting pg_stat_get_kind_info() into a new file feels
much better than splitting the contents of pgstat_internal.h, which is
kind of the central in-core shmem-side facility.  Using a wrapper as
of option 3 looks weird knowing the existence of the kind_info()
function.

Bertrand?  Tristan?
--
Michael

Attachment: signature.asc
Description: PGP signature

Reply via email to