Обсуждение: NUMERIC size

Поиск
Список
Период
Сортировка

NUMERIC size

От
Fujii Masao
Дата:
Hi,

> Numeric values are physically stored without any extra leading or
> trailing zeroes. Thus, the declared precision and scale of a column
> are maximums, not fixed allocations. (In this sense the numeric type
> is more akin to varchar(n) than to char(n).) The actual storage
> requirement is two bytes for each group of four decimal digits,
> plus five to eight bytes overhead.

The last sentence of the above seems not to be correct. Because,
thanks to the reduction of NUMERIC size (committed in 9.1), its header
size is three, five or eight for now. Attached patch fixes this.

Regards,

--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

Вложения

Re: NUMERIC size

От
Robert Haas
Дата:
On Wed, Mar 21, 2012 at 10:35 PM, Fujii Masao <masao.fujii@gmail.com> wrote:
>> Numeric values are physically stored without any extra leading or
>> trailing zeroes. Thus, the declared precision and scale of a column
>> are maximums, not fixed allocations. (In this sense the numeric type
>> is more akin to varchar(n) than to char(n).) The actual storage
>> requirement is two bytes for each group of four decimal digits,
>> plus five to eight bytes overhead.
>
> The last sentence of the above seems not to be correct. Because,
> thanks to the reduction of NUMERIC size (committed in 9.1), its header
> size is three, five or eight for now. Attached patch fixes this.

Nice catch.  Committed.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company