当一个 PostgreSQL 进程“在事务中空闲”?

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

postgres: user db 127.0.0.1(55658) idle in transaction

这是否意味着某些进程被挂起,等待事务提交?任何指向相关文档的指示都值得赞赏。

有帮助吗?

解决方案

PostgreSQL 手册 表示这意味着事务已打开(在 BEGIN 内)且空闲。使用显示器连接的用户很可能正在思考或打字。我的系统上也有很多这样的东西。

但是,如果您使用 Slony 进行复制, Slony-I 常见问题解答 建议 idle in transaction 可能意味着网络连接突然终止。查看该常见问题解答中的讨论以了解更多详细信息。

其他提示

正如这里提到的: 关于:错误#4243:交易中闲置 最好检查 pg_locks 表以查看锁定的内容,这可能会给您更好的线索问题所在。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top