【发布时间】:2011-09-02 06:35:29
【问题描述】:
重要:避免阻塞并发事务 来自同一序列的数字,nextval 操作永远不会滚动 背部;也就是说,一旦获取了一个值,它就被认为是已使用的, 即使执行 nextval 的事务后来中止。这意味着 中止的事务可能会在序列中留下未使用的“漏洞” 的赋值。 setval 操作也永远不会回滚。
那么,如何创建具有相同行为的 PL\PgSQL 函数:“操作永远不会回滚”?
在这样的调用中,无论函数更改什么都不会回滚:
BEGIN;
SELECT composite_nextval(...);
ROLLBACK;
【问题讨论】:
标签: postgresql stored-procedures transactions rollback