Python Django 1.7、postgresql、jquery数据表和未发布的连接

Python Django 1.7、postgresql、jquery数据表和未发布的连接,python,jquery,django,postgresql,datatables,Python,Jquery,Django,Postgresql,Datatables,我正在使用jQueryDataTables、Django1.7和postgresql开发一个页面。我设置DataTables以从django后端检索信息(将服务器端选项设置为true)。在一些测试之后,我注意到我一直从django那里得到这个错误 OperationalError: FATAL: sorry, too many clients already 在检查pg_stat_活动时,我已经达到了默认的100个连接。然后我检查了从pg_stat_活动中检索到的行,发现有很多“空闲”连接。

我正在使用jQueryDataTables、Django1.7和postgresql开发一个页面。我设置DataTables以从django后端检索信息(将服务器端选项设置为true)。在一些测试之后,我注意到我一直从django那里得到这个错误

OperationalError: FATAL:  sorry, too many clients already
在检查pg_stat_活动时,我已经达到了默认的100个连接。然后我检查了从pg_stat_活动中检索到的行,发现有很多“空闲”连接。据我所知,空闲连接意味着请求已完成。这些文件本应已发布,但由于某些原因,它们未被发布导致错误

我已经按照这篇文章中的建议检查了CONN_MAX_AGE

但我的康纳·马克斯年龄是零。我已经尝试将db.close\u old\u connections()放在我的获取视图中,这些视图在我的数据表的ajax中被引用,但要么我没有正确使用它,要么因为连接没有关闭而无法工作

我对如何解决这个问题束手无策,我找不到任何其他类似的情况与我的情况相比


谢谢

我发现了这个问题,它存在于我之前发出的一个信号中,该信号会在每次请求后运行。该信号中出现会话变量的更新。由于此信号在每个请求(包括ajax请求)之后运行,因此我认为会话变量save发生了死锁,导致了错误。我已经更改了代码,以更具体地说明信号的效果何时生效,错误已被修复。谢谢@ec45和@alfonso.kim提供的指导,非常奇怪。您确定没有手动打开连接(例如从django.db导入连接
cursor=connection.cursor()
)或类似的操作?@alfonso.kim Nope。我一直在使用的与django.db相关的东西只有Q对象和F对象。您可能没有在生产中使用django开发服务器,是吗?@e4c5没有。在生产中,我们使用uwsgi和nginx。我在开发过程中注意到了这一点,即通过runserver在本地VM中运行开发服务器。我找不到我之前找到的堆栈溢出帖子,但是上面说如果安装程序有一个像nginx这样的反向代理,nginx将管理连接并防止这种情况发生。此外,我读过的每一篇SO帖子或文章都说django会自动关闭连接,所以这个错误非常奇怪,也非常令人沮丧。为什么不发布完整的stacktrace