Thread: range data type size not mention in docs.
range type seem not mention their size in the docs.
multi range size is variable.
But range size seems fixed.
why it's 17 byte?
select pg_column_size('[10,20)' ::int4range ); --17 byte
select pg_column_size('[-2147483648,2147483647)' ::int4range ); --17 byte.
On Wednesday, February 16, 2022, Jian He <hejian.mark@gmail.com> wrote:
range type seem not mention their size in the docs.multi range size is variable.But range size seems fixed.why it's 17 byte?select pg_column_size('[10,20)' ::int4range ); --17 byte
select pg_column_size('[-2147483648,2147483647)' ::int4range ); --17 byte.
https://github.com/postgres/postgres/blob/4429f6a9e3e12bb4af6e3677fbc78cd80f160252/src/backend/utils/adt/rangetypes.c#L183
* Binary representation: The first byte is the flags, then 4 bytes are the * range type Oid, then the lower bound (if present) then the upper bound (if * present). Each bound is represented by a 4-byte length header and the binary * representation of that bound (as returned by a call to the send function for * the subtype).
David J.