edo*_*Dev 6 postgresql spring-jdbc spring-data spring-data-jpa hikaricp
我有一个 Spring Boot 应用程序 (v2.1.5),它使用 JPA (Hibernate) 连接到 Postgres DB。Spring Boot 使用 HikariCP 进行连接池。在我的生产环境中,我看到以下查询每隔几秒执行一次,无论数据库活动如何(几乎就像它们是某种运行状况检查?):
SET application_name = 'PostgreSQL JDBC Driver'
Run Code Online (Sandbox Code Playgroud)
我正在努力弄清楚为什么这些查询如此频繁地执行,以及是否可以避免它们,因为在我的本地环境中,仅在对数据库执行查询时才执行上述语句。我仍然不明白为什么,但与生产相比,它的频率较低且行为不同。
这些询问有必要吗?它们可以避免吗?谢谢。
更新:
以下是 Spring boot 应用程序使用 HikariCP 连接到的数据库收到的查询的屏幕截图。时间显示为“刚刚”,因为显示的所有查询仅相隔约 0.5 秒,并且都在“当前分钟”内。
这似乎是由Hikari连接池执行的。请参阅启动 Spring Boot 应用程序的默认 HikariCP 连接池及其答案。
我不会担心它,因为它不会执行“极高数量”的这些操作,而是每隔几秒执行一次,可能每当连接被分发或返回到池时执行一次。
如果它确实困扰您,您可以查看各个地方来禁用它。
这里的最后一条评论表明将连接属性设置assumeMinServerVersion为 9.0 或更高可能会有所帮助。
由于这可能是由HikariConnectionPool它触发的,因此可以通过配置启动、借出和返回连接时的行为来进行配置。
| 归档时间: |
|
| 查看次数: |
7240 次 |
| 最近记录: |