使用Django和PostgreSQL进行事务(@atomic)的默认隔离级别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Django和PostgreSQL进行事务(@atomic)的默认隔离级别相关的知识,希望对你有一定的参考价值。
我想知道将Django与PostgreSQL数据库一起使用时的默认隔离级别是什么。可序列化隔离? (https://www.postgresql.org/docs/9.1/static/transaction-iso.html#XACT-SERIALIZABLE)
有一个关于mysql(Django transaction isolation level in mysql & postgresql)的讨论,但尽管它的名字似乎并没有讨论PostgreSQL
谢谢!
答案
来自docs:
与PostgreSQL本身一样,Django默认为READ COMMITTED隔离级别。
另一答案
可以使用如下数据库设置配置Django:
import psycopg2.extensions
DATABASES = {
# ...
'OPTIONS': {
'isolation_level': psycopg2.extensions.ISOLATION_LEVEL_SERIALIZABLE,
},
}
文档 - https://docs.djangoproject.com/en/2.2/ref/databases/#isolation-level
以上是关于使用Django和PostgreSQL进行事务(@atomic)的默认隔离级别的主要内容,如果未能解决你的问题,请参考以下文章