Re: Serial Jumping - Mailing list pgsql-general

From Bill Moran
Subject Re: Serial Jumping
Date
Msg-id 20090127001448.aa35061b.wmoran@potentialtech.com
Whole thread Raw
In response to Serial Jumping  (db.subscriptions@shepherdhill.biz)
Responses Re: Serial Jumping  (Craig Ringer <craig@postnewspapers.com.au>)
List pgsql-general
db.subscriptions@shepherdhill.biz wrote:
>
> Hi,
>
> I have a table with BIG SERIAL field as Primary KEY. During high load,
> entries in the BIG SERIAL field are jumped. One could see a row with
> 1367 and expecting the next INSERT to be 1368, one would end up
> getting 1369.
>
> Please is this normal?

If transactions rollback, the serial value assigned during the rolled
back transaction is skipped.  This has been discussed many times, it's
a tradeoff between losing some #s now and again and taking a huge
performance and code complexity hit to avoid it.

If you absolutely need consecutive #s, then serial is not for you and
you should implement your own method of acquiring sequential numbers.

--
Bill Moran
http://www.potentialtech.com

pgsql-general by date:

Previous
From: db.subscriptions@shepherdhill.biz
Date:
Subject: Serial Jumping
Next
From: Craig Ringer
Date:
Subject: Re: Serial Jumping