Re: Serial Jumping

From: Bill Moran <wmoran(at)potentialtech(dot)com>
To: db(dot)subscriptions(at)shepherdhill(dot)biz
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Serial Jumping
Date: 2009-01-27 05:14:48
Message-ID: 20090127001448.aa35061b.wmoran@potentialtech.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

db(dot)subscriptions(at)shepherdhill(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Craig Ringer 2009-01-27 05:24:23 Re: Serial Jumping
Previous Message db.subscriptions 2009-01-27 04:55:48 Serial Jumping