- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在开发一个 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"
直到停止“runserver”
当前设置:
为什么Django在查询执行后不关闭连接?
最佳答案
来自documentation , Django 使用持久连接:
[...] each thread maintains its own connection
runserver
命令本身就是一个线程,SELECT "django_migrations"."app", "django_migrations"."name"FROM "django_migrations"
简单地表示在连接上进行的最后一次查询,一旦返回结果,状态就保持空闲状态。
如果您尝试在检查迁移后执行查询,例如在 wsgi 中,该请求将替换您看到的请求。
因此,运行服务器默认为每个传入请求创建一个线程,因此(在主线程中)为检查迁移而建立的连接永远不会关闭,由文档:
At the beginning of each request, Django closes the connection if it has reached its maximum age. If your database terminates idle connections after some time, you should set CONN_MAX_AGE to a lower value, so that Django doesn’t attempt to use a connection that has been terminated by the database server. (This problem may only affect very low traffic sites.)
如您所见,关闭是由 Postgres 或 Django 在下一个请求时完成的。因此,要么将 postgres 配置为终止空闲连接,要么可以在 runserver 上使用 --nothreading
来重用主线程建立的连接(警告:它会严重影响性能)。
关于python - 查询仍在为 django_migrations 运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44675570/
我最近遇到了数据库问题,所以我决定对它进行核攻击,因为我没有重要的数据。我删除了应用程序目录中的迁移文件夹并删除了数据库。但是现在,当我使用 manage.py migrate 重新创建所有内容时,出
我需要在表django_migrations中写入我正在使用的内容: fix_migration.py from django.db import connection from django.db.
我正在使用 Django CMS,我想备份我的数据库。但是当我触发查询以收回数据库时: pg_dump -U postgres -h 127.0.0.1 -p 5432 db_name > db_na
我正在开发一个 Django 网络应用程序,我注意到一些奇怪的事情。以下查询将在数据库中继续执行 SELECT "django_migrations"."app", "django_migration
我在 Django 框架下建立一个网站,这个网站需要有不同的 SQL 方案,现在我成功地创建了所有方案和所有东西,但我不明白为什么迁移后每个模式中都有表 django_migrations数据库。 预
我正在尝试编写一些单元测试并使用 manage.py test 运行它们,但由于某些原因脚本无法创建 django_migrations 表。 这是完整的错误: Creating test datab
对于 Django 中的项目,我必须使用两个数据库:默认 和 远程 .我创建了 routers.py一切正常。 需要在远程数据库上创建一个表,我创建了迁移,运行它和表 django_migration
在 Heroku 上尝试使用 django 迁移数据库更改时,我得到: psycopg2.ProgrammingError: permission denied for relation django
我正在尝试将 pytest-django 添加到我当前的 pytest3/Django1.7 环境中。 目前我们还没有使用该插件,并且一直受到某些测试之间的共享状态的困扰 在我收到以下错误消息时,一切
Django dumpdata(未指定应用程序)将所有已安装应用程序的所有表转储到输出文件中。我刚刚意识到这不包括 django_migrations 表。我检查了其他 django 表,它们被包含在
在为新项目创建数据库时,我以某种方式搞砸了我的迁移。我现在遇到不适用的迁移问题: Operations to perform: Apply all migrations: wagtailusers
我做的步骤:1.删除迁移文件。2.只创建了一个初始迁移文件。3. 输入 psql 命令提示符。连接到数据库。删除架构公共(public)级联;创建公共(public)模式;4.再次尝试迁移。 我收
我正在使用数据库 Oracle 11g 在 Django-2.0.1 中启动一个项目,当我运行 $python manage.py migrate 时,出现错误 django.db.migration
我正在尝试将生产数据库恢复到我的本地计算机,类似于为 Heroku ( https://devcenter.heroku.com/articles/heroku-postgres-import-exp
我用谷歌搜索了这个问题。有很多类似的问题,但我找不到合适的答案。 这是错误日志的详细信息: Traceback (most recent call last): File "manage.py",
我使用 django_celery 连接到 Amazon Redshift。要迁移数据库,在“makemigrations”之后我使用了命令“python manage.py migrate”,错误消
我已经安装了 postgreSQL 和 psycopg2,然后我创建了一个数据库和用户,我已经授予用户对数据库的所有权限,并且我已经在 settings.py 中进行了所有更改。但是当我尝试迁移时,出
我最近开始收到一个错误,无法识别使用 SQLite 的 Django 项目。下面链接的项目以前与 Python 2/3 兼容,尽管我主要使用 Python 2 运行它。最近,我将大部分计算机和项目切换
有哪些基本步骤可以排除 Django 的“django.db.utils.ProgrammingError: permission denied for relationship django_mig
我是一名优秀的程序员,十分优秀!