问题描述
这是对此的后续问题:
PostgreSQL 9.6在9.6版中改进了错误消息.
PostgreSQL 9.6 improved error messages with version 9.6.
使用 psql
,您可以将其启用 \ set VERBOSITY verbose
.
With psql
you can enable it \set VERBOSITY verbose
.
如何为django ORM内部的每个连接启用此功能?
How to enable this for every connection inside django ORM?
背景:我想要更好的错误消息.
Background: I want better error messages.
示例:我在这样的消息中缺少表名
Example: I am missing the table name in messages like this
IntegrityError: null value in column "date" violates not-null constraint
DETAIL: Failing row contains (10005, null, f, TEST, MAIL).
我认为 9.6版本的相关部分笔记是这样的:
这是通过新函数PQresultVerboseErrorMessage()完成的.这支持psql的新\ errverbose功能,对其他客户端也可能有用.
This is done with the new function PQresultVerboseErrorMessage(). This supports psql's new \errverbose feature, and may be useful for other clients as well.
我使用psycopg2作为数据库适配器.
I use psycopg2 as database adapter.
推荐答案
尝试一下
# settings.py
DATABASES = {
'default': {
'ENGINE': '...',
'OPTIONS': {
'init_command': "SET log_error_verbosity TO 'verbose'",
},
}
}
测试查询
SELECT setting FROM pg_settings WHERE name = 'log_error_verbosity'
这篇关于如何在Django DB连接中打开PostgreSQL VERBOSITY?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!