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

时间:2015-05-18 05:59:58

标签: postgresql database-connection pentaho

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

  

已经在Postgres'

中的客户太多了


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

我使用了此查询select * from pg_stat_activity;。从90%的连接是从Pentaho服务器到数据库,我在新仪表板中用作数据源。在大多数连接中,waitingfstateidle。这看起来像Pentaho创造了太多的连接。我该如何限制或控制它?我已经尝试从postgres端增加从默认100到200的连接限制,但问题仍然存在。

1 个答案:

答案 0 :(得分:2)

从原始问题的评论主题看,您似乎在仪表板上使用SQL over JDBC连接。这将为每个需要运行的查询创建不同的数据库连接,如果它们有点慢,则可能会达到并发连接数的限制。

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