设为首页 加入收藏

TOP

PostgreSQL 数据库错误状态编号解释[附带列表(一)
2019-09-03 03:35:23 】 浏览:73
Tags:PostgreSQL 数据库 错误 状态 编号 解释 附带

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 SUPPORTED) 
0B 类 非法事务初始化 
0B000 非法事务初始化(INVALID TRANSACTION INITIATION) 
0F 类 指示器例外 
0F000 指示器例外(LOCATOR EXCEPTION) 
0F001 非法的定位器声明(INVALID LOCATOR SPECIFICATION) 
0L 类 非法赋权人 
0L000 非法赋权人(INVALID GRANTOR) 
0LP01 非法赋权操作(INVALID GRANT OPERATION) 
0P 类 非法角色声明 
0P000 非法角色声明(INVALID ROLE SPECIFICATION) 
21 类 势违反 
21000 势违反(CARDINALITY VIOLATION) 
22 类 数据例外 
22000 数据例外(DATA EXCEPTION) 
2202E 数组下标错误(ARRAY SUBSCRIPT ERROR) 
22021 字符不在准备好的范围内(CHARACTER NOT IN REPERTOIRE) 
22008 日期时间字段溢出(DATETIME FIELD OVERFLOW) 
22012 被零除(DIVISION BY ZERO) 
22005 赋值中出错(ERROR IN ASSIGNMENT) 
2200B 逃逸字符冲突(ESCAPE CHARACTER CONFLICT) 
22022 指示器溢出(INDICATOR OVERFLOW) 
22015 内部字段溢出(INTERVAL FIELD OVERFLOW) 
2201E 对数运算的非法参数(INVALID ARGUMENT FOR LOGARITHM) 
2201F 指数函数的非法参数(INVALID ARGUMENT FOR POWER FUNCTION) 
2201G 宽桶函数的非法参数(INVALID ARGUMENT FOR WIDTH BUCKET FUNCTION) 
22018 类型转换时非法的字符值(INVALID CHARACTER VALUE FOR CAST) 
22007 非法日期时间格式(INVALID DATETIME FORMAT) 
22019 非法的逃逸字符(INVALID ESCAPE CHARACTER) 
2200D 非法的逃逸字节(INVALID ESCAPE OCTET) 
22025 非法逃逸序列(INVALID ESCAPE SEQUENCE) 
22P06 非标准使用逃逸字符(NONSTANDARD USE OF ESCAPE CHARACTER) 
22010 非法指示器参数值(INVALID INDICATOR PARAMETER VALUE) 
22020 非法限制值(INVALID LIMIT VALUE) 
22023 非法参数值(INVALID PARAMETER VALU

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Derby设置密码教程 下一篇YARN环境搭建 之 二:CentOS7.0 J..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目