【发布时间】:2017-09-01 22:04:54
【问题描述】:
最近由于数据库连接错误,我的Django应用经常崩溃:
OperationalError: FATAL: sorry, too many clients already
当我进入应用程序数据库时,我看到确实有近 100 个打开的连接,都具有相同的查询(由 Django ORM 执行)并且都处于 idle 状态。
我一直在手动执行SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE state = 'idle';,但我对为什么会发生这种情况感到困惑。任何人都可以了解这里发生的事情吗?
我的 Django 数据库设置没有偏离默认设置(我没有定义 CONN_MAX_AGE 或任何类似性质的东西)。
是什么原因造成的?我没有做任何高级 Django 查询。这可以通过 Django 设置或一些 PostgreSQL 配置来解决吗?任何建议表示赞赏。
【问题讨论】:
-
试着把它放到 django IRC 频道
-
你使用的是哪个 Django 版本?
-
@raiderrobert on Django 1.10.5
标签: django postgresql database-connection django-orm