Hen*_*hiu 2 postgresql activerecord ruby-on-rails
我有一个 Rails 多线程应用程序导致 Postgres 连接泄漏。最终,当我尝试建立新的连接时,它告诉我我的客户太多了。
当我查看当前连接时,我看到一堆具有以下状态的连接:“事务中空闲(已中止)”。这意味着什么?最重要的是,有没有办法让 Postgres 定期检查这些类型的连接,并在它们保持较长时间时终止它们?
我知道解决此问题的最佳方法是解决应用程序问题,但除此之外,如何确保这些类型的过时连接不会堵塞连接池?
对于问题的“这意味着什么”部分,我的答案是您的应用程序可能无法正确处理 SQL 错误:postgres 连接引发应用程序无法检测到的错误并且不会回滚事务。因此连接永远保持“事务中(已中止)”。
归档时间: |
|
查看次数: |
8728 次 |
最近记录: |