Re: [Proposal] Expose internal MultiXact member count function for efficient monitoring
torikoshia <torikoshia@oss.nttdata.com>
From: torikoshia <torikoshia@oss.nttdata.com>
To: Naga Appani <nagnrik@gmail.com>
Cc: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, Michael Paquier
<michael@paquier.xyz>, Kirill Reshke <reshkekirill@gmail.com>,
pgsql-hackers@postgresql.org
Date: 2025-10-17T00:28:28Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add pg_get_multixact_stats()
- 97b101776ce2 19 (unreleased) landed
-
Add MultiXactOffsetStorageSize() to multixact_internal.h
- 0e3ad4b96aed 19 (unreleased) landed
-
Change GetMultiXactInfo() to return the next multixact offset
- 9cf746a453c1 19 (unreleased) landed
-
Widen MultiXactOffset to 64 bits
- bd8d9c9bdfa0 19 (unreleased) cited
-
Refactor ReadMultiXactCounts() into GetMultiXactInfo()
- a977e419ee6e 19 (unreleased) landed
-
Move SQL-callable code related to multixacts into its own file
- df9133fa6384 19 (unreleased) landed
-
Split func.sgml into more manageable pieces
- 4e23c9ef65ac 19 (unreleased) cited
On 2025-09-15 14:47, Naga Appani wrote:
> With these updates in v9, I believe the patch is now in good shape to
> be marked RFC. I’ll go ahead and update the CommitFest entry.
As shown in the commitfest app, v9 patch fails to build:
multixactfuncs.c:129:28: error: call to undeclared function
'heap_form_tuple'; ISO C99 and later do not support implicit function
declarations [-Wimplicit-function-declaration]
129 | return
HeapTupleGetDatum(heap_form_tuple(tupdesc, values, nulls));
| ^
multixactfuncs.c:129:28: note: did you mean 'brin_form_tuple'?
../../../../src/include/access/brin_tuple.h:96:19: note:
'brin_form_tuple' declared here
96 | extern BrinTuple *brin_form_tuple(BrinDesc *brdesc, BlockNumber
blkno,
| ^
multixactfuncs.c:129:28: error: incompatible integer to pointer
conversion passing 'int' to parameter of type 'const HeapTupleData *'
(aka 'const struct HeapTupleData *') [-Wint-conversion]
129 | return
HeapTupleGetDatum(heap_form_tuple(tupdesc, values, nulls));
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../../src/include/funcapi.h:230:40: note: passing argument to
parameter 'tuple' here
230 | HeapTupleGetDatum(const HeapTupleData *tuple)
| ^
2 errors generated.
Could you please update the patch to fix this?
--
Regards,
--
Atsushi Torikoshi
Seconded from NTT DATA Japan Corporation to SRA OSS K.K.