Обсуждение: BUG #14049: Integer out of range on insert with default id

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

BUG #14049: Integer out of range on insert with default id

От
d.j.yotta@gmail.com
Дата:
The following bug has been logged on the website:

Bug reference:      14049
Logged by:          Daniel Sheffield
Email address:      d.j.yotta@gmail.com
PostgreSQL version: 9.5.1
Operating system:   Linux x64
Description:

Not sure if this is a bug, but it seems strange to me that the SERIAL
numeric type is 4 bytes, yet the default backing sequence for which
nextval() is called is 8 bytes.
http://www.postgresql.org/docs/9.5/static/datatype-numeric.html

I'm seeing 'integer out of range' upon inserting into a table where all of
the parameters look fine. The id parameter is not specified and hence will
be generated automatically by the sequence, causing the insert to fail if
the generated id is bigger than maximum int value.

Re: BUG #14049: Integer out of range on insert with default id

От
Tom Lane
Дата:
d.j.yotta@gmail.com writes:
> Not sure if this is a bug, but it seems strange to me that the SERIAL
> numeric type is 4 bytes, yet the default backing sequence for which
> nextval() is called is 8 bytes.
> http://www.postgresql.org/docs/9.5/static/datatype-numeric.html

> I'm seeing 'integer out of range' upon inserting into a table where all of
> the parameters look fine. The id parameter is not specified and hence will
> be generated automatically by the sequence, causing the insert to fail if
> the generated id is bigger than maximum int value.

Well, once you've run out of 4-byte integers, that's going to fail one way
or another.

            regards, tom lane