Oops, my example was a bit incorrectly edited.
I wanted to say that the range of a serial datatype goes from 1 to 5
(incluse) and I insert five entries (not 10).
Peter
Peter Billen schreef:
Hi all,
I would like to ask a question about the serial datatype. Say I have a
field of type serial, and say for the sake of example that the range
of a serial goes from 1 to 5 (inclusive). I insert 10 entries into the
table, so the table is 'full':
INSERT INTO my_table (my_serial) VALUES (DEFAULT);
INSERT INTO my_table (my_serial) VALUES (DEFAULT);
INSERT INTO my_table (my_serial) VALUES (DEFAULT);
INSERT INTO my_table (my_serial) VALUES (DEFAULT);
Next I delete a random entry, say the one with value 3:
DELETE FROM my_table WHERE my_serial = 3;
Is it possible to insert a new entry? Will the serial sequence somehow
be able to find the gap (3)?
The reason why I am asking is because I have a table in which
constantly entries are being deleted and inserted. What happens if the
serial sequence is exhausted? If it is not able to go the the next
gap, how is it possible to keep inserting and deleting entries once
the serial sequence has been exhausted? I can't find this anywhere in
docs.
To me, it is perfectly possible that there is only one entry in the
table, with a serial value equal to its upper limit.
Thanks in advance. Kind regards,
Peter