Re: SERIAL datatype - Mailing list pgsql-general

From Peter Billen
Subject Re: SERIAL datatype
Date
Msg-id 48ADC731.6010304@clueless.be
Whole thread Raw
In response to Re: SERIAL datatype  (ries van Twisk <pg@rvt.dds.nl>)
Responses Re: SERIAL datatype  ("Scott Marlowe" <scott.marlowe@gmail.com>)
Re: SERIAL datatype  (Alban Hertroys <dalroi@solfertje.student.utwente.nl>)
List pgsql-general
My concern is not that the table will become full, but that the sequence
will be exhausted. Doing INSERT, DELETE, INSERT, DELETE ... will exhaust
the sequence. What will happen then? Do I have to manually re-order my
serial values and reset the start sequence ID to MAX() + 1?

Thanks in advance,

Peter

ries van Twisk schreef:
>
> On Aug 21, 2008, at 2:23 PM, Peter Billen wrote:
>
>> 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
>>>
>
> May be you want to use BIGSERIAL if you are worried?
>
> Ries
>
>
>
>
>
> A: Because it messes up the order in which people normally read text.
> Q: Why is top-posting such a bad thing?
> A: Top-posting.
> Q: What is the most annoying thing in e-mail?
>
>


pgsql-general by date:

Previous
From: Alan Hodgson
Date:
Subject: Re: New to postgres -' how to' tips needed
Next
From: "Scott Marlowe"
Date:
Subject: Re: SERIAL datatype