PostgreSQL进程在“事务中闲置”是什么意思?

PostgreSQL进程在“事务中闲置”是什么意思?

在我正在查看的服务器上,输出“ps ax | grep postgres”,我看到9个PostgreSQL进程,如下所示:

postgres: user db 127.0.0.1(55658) idle in transaction 

这是否意味着一些stream程被挂起,等待交易被执行? 任何指向相关文档的指针都会被赞赏。

PostgreSQL手册指出,这意味着交易是开放的(BEGIN内部),并且处于闲置状态。 最有可能的是使用正在思考或打字的显示器连接的用户。 我的系统也有很多。

但是,如果您使用Slony进行复制,则Slony-I FAQ提示idle in transaction可能意味着networking连接突然终止。 查看该FAQ中的讨论以获取更多详细信息。

就像这里提到的那样: Re:错误#4243:在事务中闲置最好检查一下你的pg_locks表,看看是什么被locking,这可能会给你一个更好的线索,在哪里出现问题。