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
>