我有一张桌子
create table testtable(
testtable_rid serial not null,
data integer not null,
constraint pk_testtable primary key(testtable_rid)
);
因此,假设我执行此代码大约 20 次:
begin;
insert into testtable (data) values (0);
rollback;
然后我做
begin;
insert into testtable (data) values (0);
commit;
最后一个
select * from testtable
结果: 第 0 行:testtable_rid=21 | 数据=0 预期结果: 第 0 行:testtable_rid=1 | 数据=0
如您所见,序列似乎不受事务回滚的影响。它们继续递增,就好像事务已提交,然后行被删除。有什么方法可以防止序列以这种方式表现吗?