【发布时间】:2017-11-24 07:50:15
【问题描述】:
我正在开发一个 django 网络应用程序,我注意到一些奇怪的东西。 以下查询将在数据库中继续执行
SELECT "django_migrations"."app", "django_migrations"."name" FROM "django_migrations"
这里的例子来自:select query_start,state_change,waiting,state,query from pg_stat_activity;
test6=> select query_start,state_change,waiting,state,query from pg_stat_activity;
query_start | state_change | waiting | state | query
-------------------------------+-------------------------------+---------+--------+--------------------------------------------------------------------------------------------------
2017-06-21 16:02:21.926337+02 | 2017-06-21 16:02:21.926402+02 | f | idle | SELECT "django_migrations"."app", "django_migrations"."name" FROM "django_migrations"
直到停止“运行服务器”
当前设置:
- Django 1.11.2
- PostgreSQL 9.2.17
- 仅使用 Django ORM
- 已应用所有迁移
- 在 settings.py 中设置的 CONN_MAX_AGE
为什么 Django 在查询执行后不关闭连接?
【问题讨论】:
-
什么意思,查询还在运行?你是怎么确定的?首先你是如何运行它的?
-
通过“pg_stat_activity”。查询仍处于“空闲”状态,连接在 10/15 小时后仍处于活动状态。
标签: python django postgresql django-database django-deployment