On Mon, Nov 08, 2004 at 22:27:39 -0500,
Ian Meyer <misc@crewcial.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.