SERIAL datatype

From: Peter Billen <peter(at)clueless(dot)be>
To: pgsql-general(at)postgresql(dot)org
Subject: SERIAL datatype
Date: 2008-08-21 19:08:24
Message-ID: 48ADBD28.6040602@clueless.be
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Markova, Nina 2008-08-21 19:16:29 New to postgres -' how to' tips needed
Previous Message Ivan Sergio Borgonovo 2008-08-21 18:09:37 Re: on delete cascade slowing down delete