提问者:小点点

在Pentaho中创建仪表板时,在postgres中创建了太多连接


我在Pentaho PUC中创建了一个仪表板,它使用postgres连接作为数据源。大多数时候,这会导致postgres说

Postgres已经有太多客户了


显示max_connections;查询显示最大连接数为200

我使用了这个查询select*frompg_stat_activity;。从那90%的连接是从Pentaho服务器到我在新仪表板中用作数据源的数据库。等待f并且状态在大多数连接中是空闲。这看起来像Pentaho创建了太多的连接。我如何限制或控制它?我已经尝试从postgres方面将连接限制从默认100增加到200,但问题仍然存在。


共1个答案

匿名用户

从最初问题的注释线程来看,您似乎在仪表板上使用了SQL的JDBC连接。这将为每个需要运行的查询创建不同的数据库连接,如果它们有点慢,您可能会达到并发连接数的限制。

相反,您应该设置一个JNDI:在数据源管理窗口中添加一个新连接并设置正确的凭据。在高级选项下,设置一个连接池。给它一个有意义的名称。从那时起,您应该在仪表板查询中引用该名称,并使用JNDI上的SQL,而不是JDBC上的SQL。这样,每个SQL查询都将从连接池中获得一个连接,DB每次只能看到一个连接,尽管运行了多个查询。