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

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 VALUE) 
2201B 非法正则表达式(INVALID REGULAR EXPRESSION) 
22009 非法时区显示值(INVALID TIME ZONE DISPLACEMENT VALUE) 
2200C 非法利用逃逸字符(INVALID USE OF ESCAPE CHARACTER) 
2200G 最相关项目不配合(MOST SPECIFIC TYPE MISMATCH) 
22004 不允许 NULL 值(NULL VALUE NOT ALLOWED) 
22002 NULL 值不可知召开指示器参数(NULL VALUE NO INDICATOR PARAMETER) 
22003 数字值超出范围(NUMERIC VALUE OUT OF RANGE) 
22026 字串数据长度不匹配(STRING DATA LENGTH MISMATCH) 
22001 字串数据下手为截断(STRING DATA RIGHT TRUNCATION) 
22011 抽取子字串错误(SUBSTRING ERROR) 
22027 截断错误(TRIM ERROR) 
22024 未结束之 C 字串(UNTERMINATED C STRING) 
2200F 零长度的字符串(ZERO LENGTH CHARACTER STRING) 
22P01 浮点例外(FLOATING POINT EXCEPTION) 
22P02 非法文本表现形式(INVALID TEXT REPRESENTATION) 
22P03 非法二进制表现形式(INVALID BINARY REPRESENTATION) 
22P04 错误的 COPY 格式(BAD COPY FILE FORMAT) 
22P05 不可翻译字符(UNTRANSLATABLE CHARACTER) 
23 类 违反完整性约束 
23000 违反完整性约束(INTEGRITY CONSTRAINT VIOLATION) 
23001 违反限制(RESTRICT VIOLATION) 
23502 违反非空(NOT NULL VIOLATION) 
23503 违反外键约束(FOREIGN KEY VIOLATION) 
23505 违反唯一约束(UNIQUE VIOLATION) 
23514 违反检查(CHECK VIOLATION) 
24 类 非法游标状态 
24000 非法游标状态(INVALID CURSOR STATE) 
25 类 非法作业状态 
25000 非法工作状态(INVALID TRANSACTION STATE) 
25001 活跃的 SQL 状态(ACTIVE SQL TRANSACTION) 
25002 分支事务都激活(BRANCH TRANSACTION ALREADY ACTIVE) 
25008 持有的游标要求一律的断级别(HELD CURSOR REQUIRES SAME ISOLATION
LEVEL) 
25003 对支行事务的未相宜的造访方式(INAPPROPRIATE ACCESS MODE FOR BRANCH
TRANSACTION) 
25004 对支行事务之不确切的隔离级别(INAPPROPRIATE ISOLATION LEVEL FOR
BRANCH TRANSACTION) 
25005 拨出事务没有活跃的 SQL 事务(NO ACTIVE SQL TRANSACTION FOR BRANCH
TRANSACTION) 
25006 只读的 SQL 事务(READ ONLY SQL TRANSACTION) 
25007 不支持混和的模式和数量说话(SCHEMA AND DATA STATEMENT MIXING NOT
SUPPORTED) 
25P01 没有活跃的 SQL 事务(NO ACTIVE SQL TRANSACTION) 
25P02 在挫折的 SQL 事务中(IN FAILED SQL TRANSACTION) 
26 类 非法 SQL 语句名 
26000 非法 SQL 语句名(INVALID SQL STATEMENT NAME) 
27 类 触发之数额变动违规 
27000 触发的多少变动违规(TRIGGERED DATA CHANGE VIOLATION) 
28 类 非法授权声明 
28000 非法授权声明(INVALID AUTHORIZATION SPECIFICATION) 
2B 类 依然留存因之预级描述符 
2B000 依然有因之先行级描述吻合(DEPENDENT PRIVILEGE DESCRIPTORS STILL
EXIST) 
2BP01 依赖性对象依然存在(DEPENDENT OBJECTS STILL EXIST) 
2D 类 非法的作业终止 
2D000 非法的事务终止(INVALID TRANSACTION TERMINATION) 
2F 类 SQL 过程不同 
2F000 SQL 过程不同(SQL ROUTINE EXCEPTION) 
2F005 执行之函数没有回到语句(FUNCTION EXECUTED NO RETURN STATEMENT) 
2F002 不允修改 SQL 数据(MODIFYING SQL DATA NOT PERMITTED) 
2F003 企图用禁止的 SQL 语句(PROHIBITED SQL STATEMENT ATTEMPTED) 
2F004 不容许读取 SQL 数据(READING SQL DATA NOT PERMITTED) 
34 类 非法游标名 
34000 非法游标名(INVALID CURSOR NAME) 
38 类 外部过程不同 
38000 外部过程不同(EXTERNAL ROUTINE EXCEPTION) 
38001 不允许包含的 SQL (CONTAINING SQL NOT PERMITTED) 
38002 不同意修改 SQL 数据(MODIFYING SQL DATA NOT PERMITTED) 
38003 企图下禁止的 SQL 语句(PROHIBITED SQL STATEMENT ATTEMPTED) 
38004 不允许读取 SQL 数据(READING SQL DATA NOT PERMITTED) 
39 类 外部过程调用例外 
39000 外部过程调用例外(EXTERNAL ROUTINE INVOCATION EXCEPTION) 
39001 返回了不法的 SQLSTATE(INVALID SQLSTATE RETURNED) 
39004 不允空值(NULL VALUE NOT ALLOWED) 
39P01 违反触发器协议(TRIGGER PROTOCOL VIOLATED) 
39P02 违反SRF协议(SRF PROTOCOL VIOLATED) 
3B 类 保存点例外 
3B000 保存点例外(SAVEPOINT EXCEPTION) 
3B001 无效的保存点声明(INVALID SAVEPOINT SPECIFICATION) 
3D 类 非法数据库名 
3D000 非法数据库名(INVALID CATALOG NAME) 
3F 类 非法模式名 
3F000 非法模式名(INVALID SCHEMA NAME) 
40 类 事务回滚 
40000 事务回滚(TRANSACTION ROLLBACK) 
40002 违反工作完整性约束(TRANSACTION INTEGRITY CONSTRAINT
VIOLATION) 
40001 串行化失败(SERIALIZATION FAILURE) 
40003 不掌握语句是否得了(STATEMENT COMPLETION UNKNOWN) 
40P01 侦测到死锁(DEADLOCK DETECTED) 
42 类 语法错误或者违反访问规则 
42000 语法错误或者违反访问规则(SYNTAX ERROR OR ACCESS RULE
VIOLATION) 
42601 语法错误(SYNTAX ERROR) 
42501 权限不够(INSUFFICIENT PRIVILEGE) 
42846 无法进展类型转换(CANNOT COERCE) 
42803 分组错误(GROUPING ERROR) 
42830 非法的外键(INVALID FOREIGN KEY) 
42602 非法名字(INVALID NAME) 
42622 名字太长(NAME TOO LONG) 
42939 保存名字(RESERVED NAME) 
42804 数据类型不匹配(DATATYPE MISMATCH) 
42P18 未决的数据类型(INDETERMINATE DATATYPE) 
42809 错误的对象类型(WRONG OBJECT TYPE) 
42703 未定义之字段(UNDEFINED COLUMN) 
42883 未定义的函数(UNDEFINED FUNCTION) 
42P01 未定义的表(UNDEFINED TABLE) 
42P02 未定义的参数(UNDEFINED PARAMETER) 
42704 未定义对象(UNDEFINED OBJECT) 
42701 重复的字段(DUPLICATE COLUMN) 
42P03 重复的游标(DUPLICATE CURSOR) 
42P04 重复的数据库(DUPLICATE DATABASE)) 
42723 重复的函数(DUPLICATE FUNCTION) 
42P05 重复的备选好谈(DUPLICATE PREPARED STATEMENT) 
42P06 重复的模式(DUPLICATE SCHEMA) 
42P07 重复的表(DUPLICATE TABLE) 
42712 重复的号(DUPLICATE ALIAS) 
42710 重复的目标(DUPLICATE OBJECT) 
42702 模糊的字段(AMBIGUOUS COLUMN) 
42725 模糊的函数(AMBIGUOUS FUNCTION) 
42P08 模糊的参数(AMBIGUOUS PARAMETER) 
42P09 模糊的别名(AMBIGUOUS ALIAS) 
42P10 非法字段引用(INVALID COLUMN REFERENCE) 
42611 非法字段定义(INVALID COLUMN DEFINITION) 
42P11 非法游标定义(INVALID CURSOR DEFINITION) 
42P12 非法的数据库定义(INVALID DATABASE DEFINITION) 
42P13 非法函数定义(INVALID FUNCTION DEFINITION) 
42P14 非法准备好告知句定义(INVALID PREPARED STATEMENT DEFINITION) 
42P15 非法模式定义(INVALID SCHEMA DEFINITION) 
42P16 非法表定义(INVALID TABLE DEFINITIONACCESS) 
42P17 非法对象定义(INVALID OBJECT DEFINITION) 
44 类 违反 WITH CHECK 选项 
44000 违反 WITH CHECK 选项(WITH CHECK OPTION VIOLATION) 
53 类 资源不敷 
53000 资源不够(INSUFFICIENT RESOURCES) 
53100 磁盘满(DISK FULL) 
53200 内存耗尽(OUT OF MEMORY) 
53300 太多连接(TOO MANY CONNECTIONS) 
54 类 超过程序限制 
54000 超过程序限制(PROGRAM LIMIT EXCEEDED) 
54001 语句极复杂(STATEMENT TOO COMPLEX) 
54011 太多字段(TOO MANY COLUMNS) 
54023 参数太多(TOO MANY ARGUMENTS) 
55 类 对象不以预先要求的状态 
55000 对象非以先行要求的状态(OBJECT NOT IN PREREQUISITE STATE) 
55006 对象在动中(OBJECT IN USE) 
55P02 无法修改运行时参数(CANT CHANGE RUNTIME PARAM) 
55P03 锁不可得(LOCK NOT AVAILABLE) 
57 类 操作者干涉 
57000 操作者干涉(OPERATOR INTERVENTION) 
57014 查询被收回(QUERY CANCELED) 
57P01 管理员关机(ADMIN SHUTDOWN) 
57P02 崩溃关机(CRASH SHUTDOWN) 
57P03 现在无法连接(CANNOT CONNECT NOW) 
58 类 系统错误( PostgreSQL 自己中的谬误) 
58030 IO 错误(IO ERROR) 
58P01 未定义的文件(UNDEFINED FILE) 
58P02 重复的文本(DUPLICATE FILE) 
F0 类 配置文件漏洞百出 
F0000 配置文件漏洞百出(CONFIG FILE ERROR) 
F0001 锁文件在(LOCK FILE EXISTS) 
P0 类 PL/pgSQL 错误 
P0000 PLPGSQL 错误(PLPGSQL ERROR) 
P0001 抛来不同(RAISE EXCEPTION) 
XX 类 内部错误 
XX000 内部错误(INTERNAL ERROR) 
XX001 数据损坏(DATA CORRUPTED) 
XX002 索引损坏(INDEX CORRUPTED)

相关文章