gpt4 book ai didi

transactions - 在pg_activity中使用 “show transaction isolation level”获得多个查询

转载 作者:行者123 更新时间:2023-12-04 04:38:39 43 4
gpt4 key购买 nike

我将Postgres db服务器用于生产。

当我在Postgresql服务器上触发查询select * from pg_stat_activity时,
因此我得到98%的查询(如"SHOW TRANSACTION ISOLATION LEVEL"),而我的postgresql服务器仅接受100个连接。
和我的服务器卡住了。
因此我无法继续进行。

任何人都知道为什么会发生这种情况,是否有任何想法来阻止所有这些查询。
还是为什么该查询会创建这么多的连接?

最佳答案

当您的连接池打开连接时,很可能会调用SHOW TRANSACTION ISOLATION LEVEL
您是否尝试过减小连接池的大小,尝试将其设置为 1 ,然后看看,您可能会对发生的事情有个更好的了解。

今天我只是有一个类似的问题,这就是我发现这篇文章的方式,我发现max connection reached仅在我的测试环境中发生,原因是我的测试框架(ScalaTest)似乎在每个测试用例中都实例化了ORM中的数据库对象。

例如我的postgres有

  • max_connections = 100
  • connection pool = 100

  • 如果只有1个应用程序连接到数据库,那应该很好,但是在测试中,连接池的实例化次数与我的测试用例一样多,因此很容易达到最大值。

    关于transactions - 在pg_activity中使用 “show transaction isolation level”获得多个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18714010/

    43 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com