Re: Persistent changes in rolled-back transactions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxx> 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. 


--
Wells Oliver
wells.oliver@xxxxxxxxx

[Index of Archives]     [Postgresql Home]     [Postgresql General]     [Postgresql Performance]     [Postgresql PHP]     [Postgresql Jobs]     [PHP Users]     [PHP Databases]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Forum]

  Powered by Linux