SERIAL
kolommen worden opgeslagen als INTEGER
s, waardoor ze een maximale waarde van 2-1 krijgen. Dus na ongeveer 2 miljard invoegingen, uw nieuwe id
waarden passen niet meer.
Als u tijdens de levensduur van uw tafel zoveel invoegingen verwacht, maakt u deze aan met een BIGSERIAL
(intern een BIGINT
, met een maximum van 2-1).
Als je later ontdekt dat een SERIAL
niet groot genoeg is, kunt u een bestaand veld vergroten met:
ALTER TABLE raw ALTER COLUMN id TYPE BIGINT;
Let op:het is BIGINT
hier, in plaats van BIGSERIAL
(aangezien series geen echte typen zijn ). En houd er rekening mee dat, als je daadwerkelijk 2 miljard records in je tabel hebt, dit even kan duren...