Hi,
I've been digging in the sources, and I've noticed the MaxOffsetNumber
is defined (in storage/off.h) like this
(BLCKSZ / sizeof(ItemIdData))
I guess it might be made a bit more precise by subtracting the header
like this
(BLCKSZ - offsetof(PageHeaderData, pd_linp) / sizeof(ItemIdData))
although the difference is negligible (2048 vs 2042 for 8kB pages).
Tomas