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

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

文档 / SQL 状态码 / Class 00 成功完成

00000 successful_completion

SUCCESS 源码确认 参考 未实测

类别
Class 00 成功完成
严重等级
SUCCESS
条件名
successful_completion
宏名称
ERRCODE_SUCCESSFUL_COMPLETION
启用版本
7.4
状态
活跃

版本覆盖

速览

00000 是成功完成 SQLSTATE。PostgreSQL 错误机制在没有设置更具体代码且级别低于 WARNING 时默认选择它;成功命令不需要错误消息。

含义

elog.cerrstart 按消息级别选择默认 SQLSTATE;低于 WARNING 时设置 ERRCODE_SUCCESSFUL_COMPLETION。这是错误机制中的源码级默认值,不是应用错误机制,也不表示普通命令会携带 ErrorResponse

消息与诊断

命令完成通常由成功结果和命令标签表示,不携带 ErrorResponse SQLSTATE。在固定的 elog 路径中,只有没有更具体代码且消息级别低于 WARNING 时,错误机制才把 00000 作为默认值初始化。诊断消息必须同时保留实际协议消息类型和严重性;00000 不是 ERROR 的默认码,也不会把成功结果变成 ErrorResponse

诊断

先检查客户端结果状态和命令标签。如果客户端把 00000 与失败状态或 ErrorResponse 一起报告,应调查来源和客户端 API 的状态处理,不能把它解释为通常成功,也不要凭空寻找错误 detail。

处理

将成功命令结果按完成处理。若 NoticeResponse 携带 00000,应把通知与命令结果分开记录;只有两者冲突时才调查客户端状态处理。不要仅因出现此代码就重试成功命令。

版本

锁定目录从 9.0.23 到 18.6 以及 19 Beta 3 均有 00000known_present_by 为 7.4。18.6 固定的 elog.c 路径显示低于 WARNING 时的默认赋值;这不是每个客户端协议的运行实测。

来源

证据

断言

每条断言都写明了是怎么核实的,以及它不覆盖什么。这一层是核验时留下的原始英文记录,照原样呈现,未经翻译。

  • 00000 is successful_completion in Class 00.

    核实方式Read the fixed errcodes definition row and macro.

    来源src/backend/utils/errcodes.txt

  • In the fixed 18.6 error machinery, levels below WARNING initialize the SQLSTATE to ERRCODE_SUCCESSFUL_COMPLETION when no more specific code is supplied.

    核实方式Read the default sqlerrcode selection in errstart().

    不覆盖This is only the low-level default for levels below WARNING; it does not establish a normal ErrorResponse or successful command protocol result, and no natural runtime is claimed.

    来源src/backend/utils/error/elog.c

同类 SQL 状态码

状态码 条件名 宏名称 严重等级 版本
Class 00 成功完成 Successful Completion 1 个
00000 successful_completion ERRCODE_SUCCESSFUL_COMPLETION SUCCESS 7.4
命令成功完成,不是错误条件。 活跃