我正在使用Play 2.6和Scala,我程序中的某些内容正在耗尽与Postgresql数据库的连接。我一直在说:
PSQLException: FATAL: sorry, too many clients already
在我的控制台中。我用
检查了我的最大连接数 show max_connections;
它的默认值为100,但我不应该吃掉这么多。每当我访问应用程序中的数据库时,我都会使用建议的:
myDB.withConnection { conn => \... do work with SQL here ...\ }
阻止,根据documentation,一旦它逃脱阻塞就应该释放连接。我认为没有任何东西陷入循环,否则我的代码的其他部分将不会执行。不幸的是,打印的堆栈跟踪仅显示“幕后”内容,并且不会显示调用者正在建立数据库连接。关于如何找到罪犯的任何想法?