Re: Sequences change in a rolled-back transactions

From: Craig Ringer <craig(at)postnewspapers(dot)com(dot)au>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Erwin Moller <erwin(at)darwine(dot)nl>, pgsql-general(at)postgresql(dot)org
Subject: Re: Sequences change in a rolled-back transactions
Date: 2009-03-09 15:44:55
Message-ID: 49B53977.2070706@postnewspapers.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Alvaro Herrera wrote:
> Erwin Moller wrote:
>
>> I thought a transaction that is rolled back, rolls back *everything*
>> done in that transaction.
>> Appearantly sequences are not included.
>
> Yes. This is actually a desirable property, because it allows sequences
> to work fine in concurrent scenarios (which are, after all, the whole
> point of sequences).
>
> If you actually need an incremental number with no gaps (which is rare
> but not unseen), you need to use some other mechanism, which will
> probably involve a lock to prevent concurrency.

If so, search the list archives for "gapless sequence". You'll see lots
of explanations of options and of the problems with them.

--
Craig Ringer

In response to

Browse pgsql-general by date

  From Date Subject
Next Message George Oakman 2009-03-09 16:38:37 C++ User-defined functions
Previous Message Erwin Moller 2009-03-09 15:40:14 Re: Sequences change in a rolled-back transactions