PostgreSQL错误代码列表(PG V8.2)

Appendix A. PostgreSQL错误代码

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

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

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

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


Table A-1. PostgreSQL 错误代码

Error CodeMeaningConstant

Class 00 — Successful Completion

0SUCCESSFUL COMPLETIONsuccessful_completion

Class 01 — Warning

1000WARNINGwarning

0100CDYNAMIC RESULT SETS RETURNEDdynamic_result_sets_returned

1008IMPLICIT ZERO BIT PADDINGimplicit_zero_bit_padding

1003NULL VALUE ELIMINATED IN SET FUNCTIONnull_value_eliminated_in_set_function

1007PRIVILEGE NOT GRANTEDprivilege_not_granted

1006PRIVILEGE NOT REVOKEDprivilege_not_revoked

1004STRING DATA RIGHT TRUNCATIONstring_data_right_truncation

01P01DEPRECATED FEATUREdeprecated_feature

Class 02 — No Data (this is also a warning class per the SQL standard)

2000NO DATAno_data

2001NO ADDITIONAL DYNAMIC RESULT SETS RETURNEDno_additional_dynamic_result_sets_returned

Class 03 — SQL Statement Not Yet Complete

3000SQL STATEMENT NOT YET COMPLETEsql_statement_not_yet_complete

Class 08 — Connection Exception

8000CONNECTION EXCEPTIONconnection_exception

8003CONNECTION DOES NOT EXISTconnection_does_not_exist

8006CONNECTION FAILUREconnection_failure

8001SQLCLIENT UNABLE TO ESTABLISH SQLCONNECTIONsqlclient_unable_to_establish_sqlconnection

8004SQLSERVER REJECTED ESTABLISHMENT OF SQLCONNECTIONsqlserver_rejected_establishment_of_sqlconnection

8007TRANSACTION RESOLUTION UNKNOWNtransaction_resolution_unknown

08P01PROTOCOL VIOLATIONprotocol_violation

Class 09 — Triggered Action Exception

9000TRIGGERED ACTION EXCEPTIONtriggered_action_exception

Class 0A — Feature Not Supported

0A000FEATURE NOT SUPPORTEDfeature_not_supported

Class 0B — Invalid Transaction Initiation

0B000INVALID TRANSACTION INITIATIONinvalid_transaction_initiation

Class 0F — Locator Exception

0F000LOCATOR EXCEPTIONlocator_exception

0F001INVALID LOCATOR SPECIFICATIONinvalid_locator_specification

Class 0L — Invalid Grantor

0L000INVALID GRANTORinvalid_grantor

0LP01INVALID GRANT OPERATIONinvalid_grant_operation

Class 0P — Invalid Role Specification

0P000INVALID ROLE SPECIFICATIONinvalid_role_specification

Class 21 — Cardinality Violation

21000CARDINALITY VIOLATIONcardinality_violation

Class 22 — Data Exception

22000DATA EXCEPTIONdata_exception

2202EARRAY SUBSCRIPT ERRORarray_subscript_error

22021CHARACTER NOT IN REPERTOIREcharacter_not_in_repertoire

22008DATETIME FIELD OVERFLOWdatetime_field_overflow

22012DIVISION BY ZEROdivision_by_zero

22005ERROR IN ASSIGNMENTerror_in_assignment

2200BESCAPE CHARACTER CONFLICTescape_character_conflict

22022INDICATOR OVERFLOWindicator_overflow

22015INTERVAL FIELD OVERFLOWinterval_field_overflow

2201EINVALID ARGUMENT FOR LOGARITHMinvalid_argument_for_logarithm

2201FINVALID ARGUMENT FOR POWER FUNCTIONinvalid_argument_for_power_function

2201GINVALID ARGUMENT FOR WIDTH BUCKET FUNCTIONinvalid_argument_for_width_bucket_function

22018INVALID CHARACTER VALUE FOR CASTinvalid_character_value_for_cast

22007INVALID DATETIME FORMATinvalid_datetime_format

22019INVALID ESCAPE CHARACTERinvalid_escape_character

2200DINVALID ESCAPE OCTETinvalid_escape_octet

22025INVALID ESCAPE SEQUENCEinvalid_escape_sequence

22P06NONSTANDARD USE OF ESCAPE CHARACTERnonstandard_use_of_escape_character

22010INVALID INDICATOR PARAMETER VALUEinvalid_indicator_parameter_value

22020INVALID LIMIT VALUEinvalid_limit_value

22023INVALID PARAMETER VALUEinvalid_parameter_value

2201BINVALID REGULAR EXPRESSIONinvalid_regular_expression

22009INVALID TIME ZONE DISPLACEMENT VALUEinvalid_time_zone_displacement_value

2200CINVALID USE OF ESCAPE CHARACTERinvalid_use_of_escape_character

2200GMOST SPECIFIC TYPE MISMATCHmost_specific_type_mismatch

22004NULL VALUE NOT ALLOWEDnull_value_not_allowed

22002NULL VALUE NO INDICATOR PARAMETERnull_value_no_indicator_parameter

22003NUMERIC VALUE OUT OF RANGEnumeric_value_out_of_range

22026STRING DATA LENGTH MISMATCHstring_data_length_mismatch

22001STRING DATA RIGHT TRUNCATIONstring_data_right_truncation

22011SUBSTRING ERRORsubstring_error

22027TRIM ERRORtrim_error

22024UNTERMINATED C STRINGunterminated_c_string

2200FZERO LENGTH CHARACTER STRINGzero_length_character_string

22P01FLOATING POINT EXCEPTIONfloating_point_exception

22P02INVALID TEXT REPRESENTATIONinvalid_text_representation

22P03INVALID BINARY REPRESENTATIONinvalid_binary_representation

22P04BAD COPY FILE FORMATbad_copy_file_format

22P05UNTRANSLATABLE CHARACTERuntranslatable_character

Class 23 — Integrity Constraint Violation

23000INTEGRITY CONSTRAINT VIOLATIONintegrity_constraint_violation

23001RESTRICT VIOLATIONrestrict_violation

23502NOT NULL VIOLATIONnot_null_violation

23503FOREIGN KEY VIOLATIONforeign_key_violation

23505UNIQUE VIOLATIONunique_violation

23514CHECK VIOLATIONcheck_violation

Class 24 — Invalid Cursor State

24000INVALID CURSOR STATEinvalid_cursor_state

Class 25 — Invalid Transaction State

25000INVALID TRANSACTION STATEinvalid_transaction_state

25001ACTIVE SQL TRANSACTIONactive_sql_transaction

25002BRANCH TRANSACTION ALREADY ACTIVEbranch_transaction_already_active

25008HELD CURSOR REQUIRES SAME ISOLATION LEVELheld_cursor_requires_same_isolation_level

25003INAPPROPRIATE ACCESS MODE FOR BRANCH TRANSACTIONinappropriate_access_mode_for_branch_transaction

25004INAPPROPRIATE ISOLATION LEVEL FOR BRANCH TRANSACTIONinappropriate_isolation_level_for_branch_transaction

25005NO ACTIVE SQL TRANSACTION FOR BRANCH TRANSACTIONno_active_sql_transaction_for_branch_transaction

25006READ ONLY SQL TRANSACTIONread_only_sql_transaction

25007SCHEMA AND DATA STATEMENT MIXING NOT SUPPORTEDschema_and_data_statement_mixing_not_supported

25P01NO ACTIVE SQL TRANSACTIONno_active_sql_transaction

25P02IN FAILED SQL TRANSACTIONin_failed_sql_transaction

Class 26 — Invalid SQL Statement Name

26000INVALID SQL STATEMENT NAMEinvalid_sql_statement_name

Class 27 — Triggered Data Change Violation

27000TRIGGERED DATA CHANGE VIOLATIONtriggered_data_change_violation

Class 28 — Invalid Authorization Specification

28000INVALID AUTHORIZATION SPECIFICATIONinvalid_authorization_specification

Class 2B — Dependent Privilege Descriptors Still Exist

2B000DEPENDENT PRIVILEGE DESCRIPTORS STILL EXISTdependent_privilege_descriptors_still_exist

2BP01DEPENDENT OBJECTS STILL EXISTdependent_objects_still_exist

Class 2D — Invalid Transaction Termination

2D000INVALID TRANSACTION TERMINATIONinvalid_transaction_termination

Class 2F — SQL Routine Exception

2F000SQL ROUTINE EXCEPTIONsql_routine_exception

2F005FUNCTION EXECUTED NO RETURN STATEMENTfunction_executed_no_return_statement

2F002MODIFYING SQL DATA NOT PERMITTEDmodifying_sql_data_not_permitted

2F003PROHIBITED SQL STATEMENT ATTEMPTEDprohibited_sql_statement_attempted

2F004READING SQL DATA NOT PERMITTEDreading_sql_data_not_permitted

Class 34 — Invalid Cursor Name

34000INVALID CURSOR NAMEinvalid_cursor_name

Class 38 — External Routine Exception

38000EXTERNAL ROUTINE EXCEPTIONexternal_routine_exception

38001CONTAINING SQL NOT PERMITTEDcontaining_sql_not_permitted

38002MODIFYING SQL DATA NOT PERMITTEDmodifying_sql_data_not_permitted

38003PROHIBITED SQL STATEMENT ATTEMPTEDprohibited_sql_statement_attempted

38004READING SQL DATA NOT PERMITTEDreading_sql_data_not_permitted

Class 39 — External Routine Invocation Exception

39000EXTERNAL ROUTINE INVOCATION EXCEPTIONexternal_routine_invocation_exception

39001INVALID SQLSTATE RETURNEDinvalid_sqlstate_returned

39004NULL VALUE NOT ALLOWEDnull_value_not_allowed

39P01TRIGGER PROTOCOL VIOLATEDtrigger_protocol_violated

39P02SRF PROTOCOL VIOLATEDsrf_protocol_violated

Class 3B — Savepoint Exception

3B000SAVEPOINT EXCEPTIONsavepoint_exception

3B001INVALID SAVEPOINT SPECIFICATIONinvalid_savepoint_specification

Class 3D — Invalid Catalog Name

3D000INVALID CATALOG NAMEinvalid_catalog_name

Class 3F — Invalid Schema Name

3F000INVALID SCHEMA NAMEinvalid_schema_name

Class 40 — Transaction Rollback

40000TRANSACTION ROLLBACKtransaction_rollback

40002TRANSACTION INTEGRITY CONSTRAINT VIOLATIONtransaction_integrity_constraint_violation

40001SERIALIZATION FAILUREserialization_failure

40003STATEMENT COMPLETION UNKNOWNstatement_completion_unknown

40P01DEADLOCK DETECTEDdeadlock_detected

Class 42 — Syntax Error or Access Rule Violation

42000SYNTAX ERROR OR ACCESS RULE VIOLATIONsyntax_error_or_access_rule_violation

42601SYNTAX ERRORsyntax_error

42501INSUFFICIENT PRIVILEGEinsufficient_privilege

42846CANNOT COERCEcannot_coerce

42803GROUPING ERRORgrouping_error

42830INVALID FOREIGN KEYinvalid_foreign_key

42602INVALID NAMEinvalid_name

42622NAME TOO LONGname_too_long

42939RESERVED NAMEreserved_name

42804DATATYPE MISMATCHdatatype_mismatch

42P18INDETERMINATE DATATYPEindeterminate_datatype

42809WRONG OBJECT TYPEwrong_object_type

42703UNDEFINED COLUMNundefined_column

42883UNDEFINED FUNCTIONundefined_function

42P01UNDEFINED TABLEundefined_table

42P02UNDEFINED PARAMETERundefined_parameter

42704UNDEFINED OBJECTundefined_object

42701DUPLICATE COLUMNduplicate_column

42P03DUPLICATE CURSORduplicate_cursor

42P04DUPLICATE DATABASEduplicate_database

42723DUPLICATE FUNCTIONduplicate_function

42P05DUPLICATE PREPARED STATEMENTduplicate_prepared_statement

42P06DUPLICATE SCHEMAduplicate_schema

42P07DUPLICATE TABLEduplicate_table

42712DUPLICATE ALIASduplicate_alias

42710DUPLICATE OBJECTduplicate_object

42702AMBIGUOUS COLUMNambiguous_column

42725AMBIGUOUS FUNCTIONambiguous_function

42P08AMBIGUOUS PARAMETERambiguous_parameter

42P09AMBIGUOUS ALIASambiguous_alias

42P10INVALID COLUMN REFERENCEinvalid_column_reference

42611INVALID COLUMN DEFINITIONinvalid_column_definition

42P11INVALID CURSOR DEFINITIONinvalid_cursor_definition

42P12INVALID DATABASE DEFINITIONinvalid_database_definition

42P13INVALID FUNCTION DEFINITIONinvalid_function_definition

42P14INVALID PREPARED STATEMENT DEFINITIONinvalid_prepared_statement_definition

42P15INVALID SCHEMA DEFINITIONinvalid_schema_definition

42P16INVALID TABLE DEFINITIONinvalid_table_definition

42P17INVALID OBJECT DEFINITIONinvalid_object_definition

Class 44 — WITH CHECK OPTION Violation

44000WITH CHECK OPTION VIOLATIONwith_check_option_violation

Class 53 — Insufficient Resources

53000INSUFFICIENT RESOURCESinsufficient_resources

53100DISK FULLdisk_full

53200OUT OF MEMORYout_of_memory

53300TOO MANY CONNECTIONStoo_many_connections

Class 54 — Program Limit Exceeded

54000PROGRAM LIMIT EXCEEDEDprogram_limit_exceeded

54001STATEMENT TOO COMPLEXstatement_too_complex

54011TOO MANY COLUMNStoo_many_columns

54023TOO MANY ARGUMENTStoo_many_arguments

Class 55 — Object Not In Prerequisite State

55000OBJECT NOT IN PREREQUISITE STATEobject_not_in_prerequisite_state

55006OBJECT IN USEobject_in_use

55P02CANT CHANGE RUNTIME PARAMcant_change_runtime_param

55P03LOCK NOT AVAILABLElock_not_available

Class 57 — Operator Intervention

57000OPERATOR INTERVENTIONoperator_intervention

57014QUERY CANCELEDquery_canceled

57P01ADMIN SHUTDOWNadmin_shutdown

57P02CRASH SHUTDOWNcrash_shutdown

57P03CANNOT CONNECT NOWcannot_connect_now

Class 58 — System Error (errors external to PostgreSQL itself)

58030IO ERRORio_error

58P01UNDEFINED FILEundefined_file

58P02DUPLICATE FILEduplicate_file

Class F0 — Configuration File Error

F0000CONFIG FILE ERRORconfig_file_error

F0001LOCK FILE EXISTSlock_file_exists

Class P0 — PL/pgSQL Error

P0000PLPGSQL ERRORplpgsql_error

P0001RAISE EXCEPTIONraise_exception

P0002NO DATA FOUNDno_data_found

P0003TOO MANY ROWStoo_many_rows

Class XX — Internal Error

XX000INTERNAL ERRORinternal_error

XX001DATA CORRUPTEDdata_corrupted

XX002INDEX CORRUPTEDindex_corrupted



http://www.postgresql.org/docs/8.2/static/errcodes-appendix.html




你可能感兴趣的:(PostgreSQL错误代码列表(PG V8.2))