Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

53.8. 错误和通知消息字段 #

本节描述错误响应和通知响应消息中可能出现的字段。 每个字段类型都具有单个字节长度的身份令牌。 请注意,在每个消息中最多只应出现任何给定字段类型一次。

S

严重性:字段内容是 ERRORFATALPANIC(在错误消息中),或 WARNINGNOTICEDEBUGINFOLOG(在通知消息中),或是其中一项的本土化翻译。 始终存在。

V

严重程度:字段内容为 ERRORFATALPANIC(在错误信息中),或 WARNINGNOTICEDEBUGINFOLOG(在通知消息中)。这与 S 字段相同,只是内容从不本地化。仅出现在由 PostgreSQL 9.6 及更高版本生成的消息中。

C

代码:错误的 SQLSTATE 代码(请参阅 附录 A)。不可本地化。始终存在。

M

消息:首要的人类可读错误消息。这应准确但简洁(通常一行)。始终存在。

D

详细信息:一个可选的次要错误消息,其中包含有关该问题的更多详细信息。可能包括多行。

H

提示:一个可选的有关如何解决该问题的建议。它与“详细信息”的不同之处在于它是提供建议(可能不恰当)而不是事实。可能包括多行。

P

位置:字段值是一个十进制 ASCII 整数,表示错误光标位置作为原始查询字符串中的一个索引。第一个字符的索引为 1,位置的度量单位是字符,而不是字节。

p

内部位置:它的定义与 P 字段相同,但它在光标位置引用客户机提交内容之外的内部生成命令时使用。当此字段出现时,q 字段总会出现。

q

内部查询:一个失败的内部生成命令的文本。例如可以是 PL/pgSQL 函数发出的一个 SQL 查询。

W

来源:错误发生时的上下文指示符。目前,它包括激活的过程语言函数和内部生成的查询的调用堆栈回溯。回溯的内容是每行一个条目,最近的排在最前。

s

模式名称:如果错误与一个特定数据库对象关联,则表示包含该对象的模式的名称,如果存在的话。

t

表名称:如果错误与一个特定表关联,则表示表的名称。(请参考模式名称字段以获取表的模式名称。)

c

列名称:如果错误与一个特定的表格列关联,则表示列的名称。(请参考模式和表名称字段以识别该表。)

d

数据类型名称:如果错误与一个特定数据类型关联,则表示数据类型的名称。(请参考模式名称字段以获取数据类型模式的名称。)

n

约束名称:如果错误与特定约束相关,则该约束的名称。请参阅上面列出的与关联表或域相关的字段。(出于此目的,索引被视为约束,即使它们并非使用约束语法创建。)

F

文件:报告错误的源代码位置的文件名。

L

行:报告错误的源代码位置的行号。

R

例程:报告此错误的源代码例程的名称。

注意

仅针对数量有限的错误类型提供架构名称、表名称、列名称、数据类型名称和约束名称等字段;请参阅 附录 A。前端不应该假设这些字段中任何字段的存在会保证其他字段的存在。核心错误源遵循上面注明的相互关系,但用户定义函数可能会采用其他方式使用这些字段。同样,客户端不应该假设这些字段指当前数据库中的当代对象。

客户端负责格式化显示的信息以满足其需求;特别是,它应根据需要换行。出现在错误消息字段中的换行符应作段落符对待,而非换行符。