当前位置: 首页 > 面试题库 >

pg_stat_activity中具有“ idle”状态的持久“ COMMIT”查询

詹正浩
2023-03-14
问题内容

如果我查询:

select * from pg_stat_activity where application_name ~ 'example-application';

我得到许多行,状态为idle,查询为COMMIT。它们是持久的,不会消失。一段时间后,我的应用程序达到hibernate.c3p0.max_size(池中最大JDBC连接数)限制,并停止使用数据库

其他SO线程中描述了一些应用程序实现的详细信息: 线程池中的Guice DAO Provider-
查询变为“空闲时转换”

为什么会发生?如何解决这个问题呢?


问题答案:

如果会话为“空闲”,则查询列将显示连接已执行的 最后一条 语句。它 不是 “当前”查询,因此连接 等待提交完成。

如果显示,则该query列仅显示 当前 语句。status``active

“空闲”连接 不是问题 ,实质上是使用连接池的原因,以便可以重新使用它。但是,在“空闲状态” 停留很长时间的会话
一个问题。但是您说您的连接处于“空闲”状态。

如果您的连接池达到限制,则很可能意味着您的应用程序没有将连接正确返回到该池。您需要在应用程序中对其进行修复。



 类似资料:
  • 1. 前言 本节课和大家聊聊持久化对象的 3 种状态。通过本节课程,你将了解到: 持久化对象的 3 种状态; 什么是对象持久化能力。 2. 持久化对象的状态 程序运行期间的数据都是存储在内存中。内存具有临时性。程序结束、计算机挂机…… 内存中的数据将不复存在。 重要的数据,需要使用持久化技术将数据保存到永久性设备上。Hibernate 能够通过 PO(持久化对象) 将数据持久化到数据库。 Hibe

  • 我在以角度加载网格的保存状态时遇到一些问题。 这是网格HTML: 稍后,我启动Http调用和$scope。网格选项已填充,网格工作正常。 然后通过以下方式保存网格的状态: 这很好,当我在控制台中打印输出时。看起来是这样的: {“dataSource”:{“schema”:{“data”:“data”},“transport”:{},“serverSorting”:true,“table”:null

  • 问题内容: 从这里的讨论看来,Redux reducer的状态应该保留在数据库中。 用户身份验证在这种情况下如何工作? 是否不会创建新的状态对象来替换数据库中先前创建和编辑的每个用户(及其应用程序状态)的先前状态? 在前端使用所有这些数据并不断更新数据库中的状态是否会表现出色? 编辑: 我创建了一个示例Redux auth项目,该项目也恰好示例了通用Redux,并使用Redux,Socket.io

  • 我已经阅读了有状态流处理概述,如果理解正确的话,RocksDB被用作键值存储的默认实现的主要原因之一是这样一个事实,即与内存中的集合不同,它可以处理大于可用内存的数据,因为它可以刷新到磁盘。这两种类型的存储都可以在应用程序重新启动时幸存下来,因为数据是作为Kafka主题备份的。 但还有其他不同吗?例如,我注意到我的持久状态存储为每个主题分区创建了一些。log文件,但它们都是空的。 简而言之,我想知

  • 本文向大家介绍vuex实现数据状态持久化,包括了vuex实现数据状态持久化的使用技巧和注意事项,需要的朋友参考一下 用过vuex的肯定会有这样一个痛点,就是刷新以后vuex里面存储的state就会被浏览器释放掉,因为我们的state都是存储在内存中的。 所以我们通过 vuex-persistedstate这个插件,来实现将数据存储到本地 用法很简单 1、 2、 以上这篇vuex实现数据状态持久化就

  • 我能知道Hazelcast支持磁盘持久性吗?换句话说,我可以使用Hazelcast作为常规数据库吗?(就像apache点火一样)。