选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.6 已于 2021 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

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

本节描述了ErrorResponse和NoticeResponse消息中可能出现的字段。每个字段类型都有一个单字节的标识符。 请注意,任何给定的字段类型在消息中最多只能出现一次。

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。前端不应假设其中任何字段的存在就保证了另一个字段的存在。核心错误源遵循上述相互关系,但用户定义的函数可能以其他方式使用这些字段。同样,客户端不应假设这些字段表示当前数据库中现存的对象。

客户端负责按自身需要格式化显示的信息;尤其应根据需要将长行断开。错误消息字段中的换行符应视为段落分隔符,而非行分隔符。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。