Sorry, I missed this reply of yours earlier.

On 27/08/2026 10:35, Masahiko Sawada wrote:
On Thu, Aug 27, 2026 at 12:06 AM Chao Li <[email protected]> wrote:
bigint is a signed int64, so it cannot represent the full uint64 range, 
although perhaps this is only a theoretical concern. If we want to avoid this 
limitation, should we use numeric instead?

I'd prefer to keep bigint here. pg_get_multixact_stats() already
reports num_members and members_size as int8, and both are derived
from these same offsets. Also, other fields in pg_control_checkpoint()
are fixed-width types, whereas numeric is pass-by-reference.

I considered using xid8 instead but it has only comparison operators
and no arithmetic, so we couldn't compute a delta between two
checkpoints.

Hmm, that's a good point, although 'xid' didn't have those operators or arithmetic either.

- Heikki



Reply via email to