PostgreSQL 数据库错误状态编号解释[附带列表

本文详细列举并解释了PostgreSQL数据库的各种错误代码,包括其类别、含义和具体描述,帮助开发者更好地理解和处理PostgreSQL在运行过程中遇到的问题。错误代码分为多个类别,如成功完成、警告、连接异常、数据例外等,每个类别下有特定的五字符代码,对应不同的错误条件。这些代码在PostgreSQL的不同版本中保持稳定,是识别和解决数据库错误的重要依据。
摘要由CSDN通过智能技术生成

PostgreSQL 服务器发出的所有消息都赋予了五个字符的错误代码, 这些代码遵循 SQL 的 "SQLSTATE" 代码的习惯。需要知道发生了什么错误条件的应用通常应该测试错误代码,而不是查看文本错误信息。这些错误 代码轻易不会随着 PostgreSQL 的版本更新而修改,并且一般也不会随着错误信息的本地化而发生修改。 请注意有些,但不是全部,PostgreSQL 生成的错误代码是由 SQL 标准定义的; 有些标准没有定义的错误条件是我们发明的或者是从其它数据库借来的。

根据标准,错误代码的头两个字符表示错误类别,而后三个字符表示在该类别内特定的条件。 因此,那些不能识别特定错误代码的应用仍然可以从错误类别中推断要做什么。

Table A-1 里面列出了 PostgreSQL 8.1 定义的所有错误代码。(有些实际上目前并没有使用,但是 SQL 标准定义了。)错误类别也列出在此。对于每个错误类别都有个"标准"的错误代码,它的最后三个字符是 000。这个代码只用于那些落在该类别内, 但是没有赋予任何更准确的代码的错误条件。

PL/pgSQL 用于每个错误代码的条件名和表中显示的措辞相同,只是用下划线代替了空白。比如,代码 22012,DIVISION BY ZERO,它的条件名是 DIVISION_BY_ZERO。条件名可以用大写或者小写来写都可以。(请注意 PL/pgSQL 并不识别警告,这一点和错误,条件名正相反;那些类别是 00,01,和 02。)

代码 含义 
00 类 成功完成 
00000 成功完成(SUCCESSFUL COMPLETION) 
01 类 警告 
01000 警告(WARNING) 
0100C 返回了动态结果(DYNAMIC RESULT SETS RETURNED) 
01008 警告,隐含补齐了零比特位(IMPLICIT ZERO BIT PADDING) 
01003 在集合函数里消除了空值(NULL VALUE ELIMINATED IN SET FUNCTION) 
01007 没有赋予权限(PRIVILEGE NOT GRANTED) 
01006 没有撤销权限(PRIVILEGE NOT REVOKED) 
01004 字串数据在右端截断(STRING DATA RIGHT TRUNCATION) 
01P01 废弃的特性(DEPRECATED FEATURE) 
02 类 没有数据 — 按照 SQL 标准的要求,这也是警告类 
02000 没有数据(NO DATA) 
02001 返回了没有附加动态结果集(NO ADDITIONAL DYNAMIC RESULT SETS RETURNED) 
03 类 SQL 语句尚未结束 
03000 SQL 语句尚未结束(SQL STATEMENT NOT YET COMPLETE) 
08 类 连接例外 
08000 连接例外(CONNECTION EXCEPTION) 
08003 连接不存在(CONNECTION DOES NOT EXIST) 
08006 连接失败(CONNECTION FAILURE) 
08001 SQL 客户端不能建立 SQL 连接(SQLCLIENT UNABLE TO ESTABLISH SQLCONNECTION) 
08004 SQL 服务器拒绝建立 SQL 连接(SQLSERVER REJECTED ESTABLISHMENT OF SQLCONNECTION) 
08007 未知的事务解析(TRANSACTION RESOLUTION UNKNOWN) 
08P01 违反协议(PROTOCOL VIOLATION) 
09 类 触发器动作列外 
09000 触发的动作例外(TRIGGERED ACTION EXCEPTION) 
0A 类 不支持特性 
0A000 不支持此特性(FEATURE NOT SUPPO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值