Postgresql 中文操作指南
55.8. Error and Notice Message Fields #
本部分描述可以在 ErrorResponse 和 NoticeResponse 消息中显示的字段。每种字段类型都有一个单字节标识令牌。请注意,给定的字段类型在每条消息中最多应显示一次。
-
S
-
Severity:字段内容为 ERROR、FATAL 或 PANIC(错误消息中)或 WARNING、NOTICE、DEBUG、INFO 或 LOG(通知消息中),或其中之一的本地化翻译。总是存在。
-
-
V
-
Severity:字段内容为 ERROR、FATAL 或 PANIC(错误消息中)或 WARNING、NOTICE、DEBUG、INFO 或 LOG(通知消息中)。这与 S 字段相同,只是内容永远不会被本地化。仅存在于由 PostgreSQL 9.6 和更高版本生成的消息中。
-
-
C
-
代码:该错误的 SQLSTATE 代码(参见 Appendix A)。不可本地化。始终存在。
-
-
M
-
Message:主要的人类可读错误消息。这应该准确但简短(通常一行)。总是存在。
-
-
D
-
Detail:可选的次级错误消息,对问题提供更多详细信息。可能会跨越多行。
-
-
H
-
Hint:关于如何解决问题的可选建议。它与 Detail 不同之处在于,它提供建议(可能不合适),而不是具体事实。可能会跨越多行。
-
-
P
-
Position:字段值为十进制 ASCII 整数,表示作为原始查询字符串索引的错误光标位置。第一个字符的索引为 1,位置按字符而不是字节度量。
-
-
p
-
Internal position:它的定义与 P 字段相同,但它用于光标位置表示内部生成的命令,而不是客户端提交的命令时。q 字段将在此字段出现时始终出现。
-
-
q
-
Internal query:内部生成失败的命令的文本。例如,可能是由 PL/pgSQL 函数发出的 SQL 查询。
-
-
W
-
Where:出错的环境说明。目前,这包括活动过程语言函数和内部生成的查询的调用堆栈回溯。跟踪是每行一个条目,最新条目在前。
-
-
s
-
Schema name:如果错误与特定数据库对象相关联,则该对象所属架构的名称(如有)。
-
-
t
-
表名:如果该错误与特定表相关联,则为该表的名称。(有关表的 schema 名称,请参阅 schema 名称字段。)
-
-
c
-
Column name:如果错误与特定表列相关联,则该列的名称。(有关表的名称,请参阅架构和表名称字段。)
-
-
d
-
数据类型名称:如果这个错误与特定数据类型相关联,则为该数据类型名称。(有关该数据类型 schema 名称,请参阅 schema 名称字段。)
-
-
n
-
约束名称:如果该错误与特定约束相关联,则为该约束的名称。有关关联表或域,请参阅上面列出的字段。(对于这个目的,索引被视为约束,即使它们不是使用约束语法创建。)
-
-
F
-
文件:报告错误的源代码位置文件名。
-
-
L
-
行:报告错误的源代码位置行号。
-
-
R
-
例程:报告错误的源代码例程名称。
-
Note
仅为有限数量的错误类型提供了模式名称、表名称、列名称、数据类型名称和约束名称的字段;请参见 Appendix A。前端不应假设其中任何字段的存在可以保证另一个字段的存在。核心错误源会遵守上述相互关系,但用户定义的函数可能会以其他方式使用这些字段。同样,客户端不应假设这些字段表示当前数据库中的当代对象。
客户端负责格式化显示的信息以满足其需要;特别是它应根据需要拆分长行。错误消息字段中出现的换行符应视为段落符,而不是换行符。