sequences in transaction blocks

Started by Marian Naghenover 20 years ago2 messagesgeneral
Jump to latest
#1Marian Naghen
naghen@ratb.ro

I want to insert records inside a transaction block (BEGIN - COMMIT/ROLLBACK). If the transaction fails,
the sequence do not rollback and retain the new value.

This is the default behavior of sequences ?

I use the following table:

CREATE TABLE proceduri
(
procedura_id int4 NOT NULL DEFAULT nextval('proceduri_proceduri_id_seq'::regclass),
tip_procedura_id int4,
....
CONSTRAINT proceduri_pkey PRIMARY KEY (procedura_id)
)
WITH OIDS;

where 'proceduri_proceduri_id_seq is:

CREATE SEQUENCE proceduri_proceduri_id_seq
INCREMENT 1
MINVALUE 1000000000
MAXVALUE 1099999999
START 1000000001
CACHE 1;

#2Marian Naghen
naghen@ratb.ro
In reply to: Marian Naghen (#1)
Re: sequences in transaction blocks

Okay, all clear.

Thanx a lot.

----- Original Message -----
From: "Tino Wildenhain" <tino@wildenhain.de>
To: "Marian Naghen" <naghen@ratb.ro>
Cc: <pgsql-general@postgresql.org>
Sent: Monday, December 19, 2005 7:50 AM
Subject: Re: [GENERAL] sequences in transaction blocks

Show quoted text

Am Montag, den 19.12.2005, 09:39 +0000 schrieb Marian Naghen:

I want to insert records inside a transaction block (BEGIN -
COMMIT/ROLLBACK). If the transaction fails,
the sequence do not rollback and retain the new value.

This is the default behavior of sequences ?

Yes it is (its the whole point of sequences)
please see the docs, for example:

http://www.postgresql.org/docs/current/static/functions-sequence.html

especially the last paragraph.

HTH
Tino Wildenhain