正如您可以看到以下screencap
pghero将那些SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
视为长期请求。
我对pg
世界相当陌生,所以我不知道这是不是应该是这种情况,或者只是pghero
将这些视为长寿请求当他们不应该。
对不起,如果问题不是很明显,但基本上是: - 这是pghero2中的错误吗? - Sequelize(我使用的nodejs ORM)在设置这些配置而不释放它们时做错了吗?
答案 0 :(得分:1)
这不是一个错误;输出是正确的。
请注意,会话不会报告为“有效”,而是“在交易中空闲”。
这是正确的,因为在会话中运行的最后一个命令是
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
将开始交易。
如果这只是一个测试系统,那没问题,但在生产系统上,你不应该让交易在更长的时间内保持开放状态。它可能导致阻塞并发会话,并使autovacuum不会执行ts作业。
使用COMMIT
或ROLLBACK`关闭交易。