| 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: | Whole Thread | Raw Message | 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 |