Save a few bytes in pg_attribute

From: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Save a few bytes in pg_attribute
Date: 2023-03-20 10:00:12
Message-ID: d07ffc2b-e0e8-77f7-38fb-be921dff71af@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

Attachment Content-Type Size
0001-Save-a-few-bytes-in-pg_attribute.patch text/plain 7.3 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2023-03-20 10:11:27 Re: Ignoring BRIN for HOT updates (was: -udpates seems broken)
Previous Message Sébastien Lardière 2023-03-20 09:40:31 Re: Timeline ID hexadecimal format