SERIAL
as colunas são armazenadas como INTEGER
s, dando-lhes um valor máximo de 2-1. Então, após cerca de 2 bilhões de inserções, seu novo id
os valores não cabem mais. Se você espera tantas inserções durante a vida útil da sua tabela, crie-a com um
BIGSERIAL
(internamente um BIGINT
, com um máximo de 2-1). Se você descobrir mais tarde que um
SERIAL
não for grande o suficiente, você pode aumentar o tamanho de um campo existente com:ALTER TABLE raw ALTER COLUMN id TYPE BIGINT;
Observe que é
BIGINT
aqui, em vez de BIGSERIAL
(como serials não são tipos reais ). E lembre-se de que, se você realmente tiver 2 bilhões de registros em sua tabela, isso pode demorar um pouco...