Re: Issue with sequence and transactions

From: Bruno Wolff III <bruno(at)wolff(dot)to>
To: Ian Meyer <misc(at)crewcial(dot)org>
Cc: PostgreSQL novice list <pgsql-novice(at)postgresql(dot)org>
Subject: Re: Issue with sequence and transactions
Date: 2004-11-09 03:44:29
Message-ID: 20041109034429.GA16284@wolff.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

On Mon, Nov 08, 2004 at 22:27:39 -0500,
Ian Meyer <misc(at)crewcial(dot)org> wrote:
>
> Why does the sequence not get rolled back? I have looked in
> documentation, read endlessly in a PostgreSQL book and can't figure out
> if that is the expected behavior.. and if so, why?

By not having the value of a sequence rolled back on transaction failure,
applications using sequences run faster under load.

>
> What I want to happen (at least, the way I see it happening) is if
> someone creates a username, but the query fails, or the username is
> taken already, then the transaction is rolled back, and the id that
> would have been taken, is still free.

Then you probably don't want to use a sequence. Sequences should be used
to obtain unique values, not to generate a list of id numbers without
gaps.

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message graeme 2004-11-09 09:36:01 Getting a trigger to call a function...
Previous Message Ian Meyer 2004-11-09 03:27:39 Issue with sequence and transactions