SERIAL datatype - Mailing list pgsql-general

From Peter Billen
Subject SERIAL datatype
Date
Msg-id 48ADBD28.6040602@clueless.be
Whole thread Raw
In response to Re: on delete cascade slowing down delete  (Ivan Sergio Borgonovo <mail@webthatworks.it>)
Responses Re: SERIAL datatype
Re: SERIAL datatype
Re: SERIAL datatype
List pgsql-general
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

pgsql-general by date:

Previous
From: Ivan Sergio Borgonovo
Date:
Subject: Re: on delete cascade slowing down delete
Next
From: Peter Billen
Date:
Subject: Re: SERIAL datatype