想象一下,Postgresql中有一个开放的,正在进行的事务,插入记录并做其他事情。
BEGIN
INSERT INTO films(id, name) VALUES(10, 'A comedy')
# We are at this moment in time
# The transaction is not yet committed
# ...
COMMIT
是否有任何非阻止方式可以从此事务外部发现存在ID为10的正在进行的事务插入记录?
我能想到的唯一方法是:
BEGIN
SET statement_timeout to 100
INSERT INTO films(id, name) VALUES(10, '') ON CONFLICT (id) DO NOTHING
ROLLBACK
然而,这不太理想,因为:
我正在努力解决Postgresql中缺少READ UNCOMMITTED事务隔离级别的问题。
我负责代码的两个部分,因此我可以以任何必要的方式更改它们。