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.
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 |