2017-06-05 36 views

回答

3

不,不会的,除非并发事务需要表上的锁ACCESS EXCLUSIVE(他们运行像DROP TABLEALTER TABLECREATE INDEX)。这种交易会挂起,直到只读事务完成。

长事务的问题在于它们保持自动清理无法执行其工作,并且如果有大量并发数据修改活动,最终可能会产生臃肿的表和索引。

+0

还有一个问题,该查询的所有行都必须保留其所有版本util事务结束,还是只保留一些当前正在读取的行? – jilen

+0

除非您设置参数['old_snapshot_threshold'](https://www.postgresql.org/docs/current/static/runtime-config-resource.html),否则将保留对某些打开的事务仍然有效的所有行版本#GUC-OLD-快照THRESHOLD)(自9.6可用)来从默认-1不同的值。在这种情况下,仍然需要的旧行版本也可能被删除,这可能会导致长时间运行的事务出错。 –

+0

只会提供光标帮助自动清理吗? – jilen

相关问题