On 10 Jun 2001, Vivek Khera wrote:
> >>>>> "TL" == Tom Lane <tgl@sss.pgh.pa.us> writes:
>
> TL> Everything is always a transaction in Postgres. If you don't say
> TL> begin/end, then there's an implicit begin and end around each individual
> TL> query. So your first set of tests were paying transaction commit
> TL> overhead for each insert.
>
> This doesn't seem to hold exactly for INSERTs involving sequences as
> default values. Even if the insert fails for some other constraint,
> the sequence is incremented.
No, that's exactly how it is supposed to work, to guarantee that you will
never get same value from two separate calls to nextval.
-alex