Re: Persistent changes in rolled-back transactions - Mailing list pgsql-admin

From Wells Oliver
Subject Re: Persistent changes in rolled-back transactions
Date
Msg-id CAOC+FBX2DWpgb-Ny3Y5yEFGftXX2_wZNG1W3XePa7oRAMxP1Rg@mail.gmail.com
Whole thread Raw
In response to Re: Persistent changes in rolled-back transactions  (Wael Khobalatte <wael@vendr.com>)
Responses Re: Persistent changes in rolled-back transactions
List pgsql-admin
Why do you say truncate is non-transactional? Something simple proves that it's not?

wells=# create table foo (f text);
wells=# insert into foo values('cat');
INSERT 0 1
wells=# select * from foo;
  f  
-----
 cat
(1 row)
wells=# begin;
BEGIN
wells=*# truncate foo;
TRUNCATE TABLE
wells=*# rollback;
ROLLBACK
wells=# select * from foo;
  f  
-----
 cat
(1 row)




On Wed, Nov 9, 2022 at 5:16 PM Wael Khobalatte <wael@vendr.com> wrote:
> I've noticed serials still maintain incremented values even when a transaction is rolled back. Are there other similar persistent changes to be aware of?

Postgres sequences (what backs the serial type) are non-transactional. nextval, setval, et al. Truncate is also non-transactional. 


--

pgsql-admin by date:

Previous
From: Wael Khobalatte
Date:
Subject: Re: Persistent changes in rolled-back transactions
Next
From: "David G. Johnston"
Date:
Subject: Re: Persistent changes in rolled-back transactions