After the discussion in [0] ff., I was looking around in pg_attribute
and noticed that we could possibly save 4 bytes. We could change both
attstattarget and attinhcount from int4 to int2, which together with
some reordering would save 4 bytes from the fixed portion.
attstattarget is already limited to 10000, so this wouldn't lose
anything. For attinhcount, I don't see any documented limits. But it
seems unlikely to me that someone would need more than 32k immediate
inheritance parents on a column. (Maybe an overflow check would be
useful, though, to prevent shenanigans.)
The attached patch seems to work. Thoughts?
[0]:
https://www.postgresql.org/message-id/20230313204119.4mkepdvixcxrwpsc%40awork3.anarazel.de