Re: pg_upgrade silently truncates nextMultiOffset to 32 bits - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: pg_upgrade silently truncates nextMultiOffset to 32 bits
Date
Msg-id d7308775-1f9a-4f3c-98e0-91a44d778e90@iki.fi
Whole thread
In response to Re: pg_upgrade silently truncates nextMultiOffset to 32 bits  (Masahiko Sawada <sawada.mshk@gmail.com>)
List pgsql-hackers
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 <li.evan.chao@gmail.com> 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




Attachment

pgsql-hackers by date:

Previous
From: Gabriele Bartolini
Date:
Subject: Re: Tracking role modification timestamps in pg_authid / pg_roles
Next
From: Osama Abdul Qader
Date:
Subject: Re: Persist slot invalidations before publishing them