다음에서 보낸 모든 메시지Postgre젠 토토서버가 할당되었습니다 SQL 표준을 따르는 5자리 오류 코드 에 대한 규칙"젠 토토STATE"코드. 어떤 오류 조건이 발생했는지 알아야 하는 애플리케이션 일반적으로 오류 코드를 살펴보는 것보다 오류 코드를 테스트해야 합니다. 텍스트 오류 메시지. 오류 코드가 변경될 가능성이 적습니다. 가로질러포스트그레젠 토토출시 및 또한 오류의 현지화로 인해 변경될 수 없습니다. 메시지. 오류 코드 중 전부는 아니지만 일부에 유의하세요. 제작사포스트그레젠 토토있습니다 SQL 표준에 의해 정의됩니다. 에 대한 몇 가지 추가 오류 코드 표준에 정의되지 않은 조건이 고안되었거나 다른 데이터베이스에서 빌린 것입니다.
표준에 따르면, 오류 코드는 오류 클래스를 나타내며 마지막 세 개는 오류 유형을 나타냅니다. 문자는 해당 클래스 내의 특정 조건을 나타냅니다. 따라서, 특정 오류 코드를 인식하지 못하는 응용 프로그램 여전히 오류 클래스에서 무엇을 해야 할지 추론할 수 있습니다.
표 A-1에 정의된 모든 오류 코드를 나열합니다.포스트그레젠 토토8.3.23. (실제로는 그렇지 않은 경우도 있습니다. 현재 사용되지만 SQL 표준에 의해 정의됩니다.) 오류 수업도 표시됩니다. 각 오류 클래스에는 다음이 있습니다."표준"마지막 오류 코드 세 글자000. 이 코드가 사용됩니다 클래스 내에 속하지만 클래스에 속하지 않는 오류 조건에 대해서만 더 구체적인 코드가 할당되어 있어야 합니다.
그PL/pg젠 토토조건 이름 각 오류 코드에 대한 내용은 표에 표시된 문구와 동일합니다. 공백을 밑줄로 대체했습니다. 예를 들어, 코드22012, DIVISION BY ZERO에 조건 있음 이름DIVISION_BY_ZERO. 조건 이름 대문자나 소문자로 쓸 수 있습니다. (참고하세요PL/pg젠 토토인식하지 않음 오류와 반대되는 경고, 조건 이름; 그거 수업이잖아 00, 01, 02.)
표 A-1.Postgre젠 토토오류 코드
| 오류 코드 | 의미 | 상수 |
|---|---|---|
| 클래스 00 — 성공적인 완료 | ||
| 00000 | 성공적으로 완료됨 | successful_completion |
| 클래스 01 — 경고 | ||
| 01000 | 경고 | 경고 |
| 0100C | 동적 결과 세트가 반환됨 | dynamic_result_sets_returned |
| 01008 | 암시적 0비트 패딩 | implicit_zero_bit_padding |
| 01003 | 세트 함수에서 null 값이 제거됨 | null_value_eliminate_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 — 젠 토토 문이 아직 완료되지 않았습니다. | ||
| 03000 | 젠 토토 문이 아직 완료되지 않음 | 젠 토토_statement_not_yet_complete |
| 클래스 08 — 연결 예외 | ||
| 08000 | 연결 예외 | 연결_예외 |
| 08003 | 연결이 존재하지 않습니다. | connection_does_not_exist |
| 08006 | 연결 실패 | connection_failure |
| 08001 | 젠 토토클라이언트가 젠 토토CONNECTION을 설정할 수 없음 | 젠 토토client_unable_to_found_젠 토토connection |
| 08004 | SQLSERVER가 다음 설정을 거부했습니다. SQLCONNECTION | 젠 토토server_rejected_설립_of_젠 토토connection |
| 08007 | 트랜잭션 해결 방법 알 수 없음 | transaction_solution_unknown |
| 08P01 | 프로토콜 위반 | 프로토콜_위반 |
| 클래스 09 — 트리거된 작업 예외 | ||
| 09000 | 트리거된 작업 예외 | triggered_action_Exception |
| 클래스 0A — 지원되지 않는 기능 | ||
| 0A000 | 지원되지 않는 기능 | feature_not_supported |
| 클래스 0B — 잘못된 거래 시작 | ||
| 0B000 | 잘못된 거래 시작 | invalid_transaction_initiation |
| 클래스 0F — 로케이터 예외 | ||
| 0F000 | 로케이터 예외 | locator_Exception |
| 0F001 | 잘못된 로케이터 사양 | invalid_locator_specation |
| 클래스 0L — 잘못된 양도인 | ||
| 0L000 | 잘못된 부여자 | invalid_grantor |
| 0LP01 | 잘못된 부여 작업 | invalid_grant_option |
| 클래스 0P — 잘못된 역할 지정 | ||
| 0P000 | 잘못된 역할 지정 | invalid_role_specation |
| 클래스 21 — 카디널리티 위반 | ||
| 21000 | 카디널리티 위반 | 카디널리티_위반 |
| 클래스 22 — 데이터 예외 | ||
| 22000 | 데이터 예외 | 데이터_예외 |
| 2202E | 어레이 구독 오류 | array_subscript_error |
| 22021 | 레퍼토리에 없는 캐릭터 | character_not_in_repertoire |
| 22008 | 날짜 시간 필드 오버플로 | datetime_field_overflow |
| 22012 | 0으로 나누기 | division_by_zero |
| 22005 | 할당 오류 | error_in_할당 |
| 2200B | ESCAPE 문자 충돌 | escape_character_contribute |
| 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 | 가장 구체적인 유형 불일치 | 가장_특정_유형_불일치 |
| 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 | 하위 문자열 오류 | 하위 문자열_오류 |
| 22027 | 트림 오류 | trim_error |
| 22024 | 종료되지 않은 C 문자열 | unterminating_c_string |
| 2200F | 길이가 0인 문자열 | zero_length_character_string |
| 22P01 | 부동 소수점 예외 | floating_point_Exception |
| 22P02 | 잘못된 텍스트 표현 | invalid_text_representation |
| 22P03 | 잘못된 바이너리 표현 | invalid_binary_representation |
| 22P04 | 잘못된 사본 파일 형식 | bad_copy_file_format |
| 22P05 | 번역할 수 없는 문자 | untranslatable_character |
| 2200L | XML 문서가 아님 | not_an_xml_document |
| 2200M | 잘못된 XML 문서 | invalid_xml_document |
| 2200N | 잘못된 XML 콘텐츠 | invalid_xml_content |
| 2200S | 잘못된 XML 댓글 | invalid_xml_comment |
| 2200T | 잘못된 XML 처리 지침 | invalid_xml_processing_instruction |
| 클래스 23 — 무결성 제약 위반 | ||
| 23000 | 무결성 제약 위반 | integrity_constraint_violation |
| 23001 | 제한 위반 | restrict_violation |
| 23502 | NULL 위반이 아님 | not_null_violation |
| 23503 | 외래 키 위반 | foreign_key_violation |
| 23505 | 고유한 위반 | unique_violation |
| 23514 | 위반 확인 | check_violation |
| 클래스 24 — 잘못된 커서 상태 | ||
| 24000 | 잘못된 커서 상태 | invalid_cursor_state |
| 클래스 25 — 잘못된 거래 상태 | ||
| 25000 | 잘못된 거래 상태 | invalid_transaction_state |
| 25001 | 활성 젠 토토 트랜잭션 | active_젠 토토_transaction |
| 25002 | 브랜치 트랜잭션이 이미 활성화됨 | branch_transaction_already_active |
| 25008 | 보류된 커서에는 동일한 격리 수준이 필요합니다. | held_cursor_requires_same_isolation_level |
| 25003 | 브랜치 트랜잭션에 대한 부적절한 액세스 모드 | inproper_access_mode_for_branch_transaction |
| 25004 | 브랜치에 대한 부적절한 격리 수준 거래 | inproper_isolation_level_for_branch_transaction |
| 25005 | 분기 트랜잭션에 대한 활성 젠 토토 트랜잭션 없음 | no_active_젠 토토_transaction_for_branch_transaction |
| 25006 | 젠 토토 트랜잭션 읽기 전용 | read_only_젠 토토_transaction |
| 25007 | 스키마 및 데이터 문 혼합이 지원되지 않음 | schema_and_data_statement_mixing_not_supported |
| 25P01 | 활성 젠 토토 트랜잭션 없음 | no_active_젠 토토_transaction |
| 25P02 | 실패한 젠 토토 트랜잭션에서 | in_failed_젠 토토_transaction |
| 클래스 26 — 잘못된 젠 토토 문 이름 | ||
| 26000 | 잘못된 젠 토토 문 이름 | invalid_젠 토토_statement_name |
| 클래스 27 — 트리거된 데이터 변경 위반 | ||
| 27000 | 트리거된 데이터 변경 위반 | triggered_data_change_violation |
| 클래스 28 — 잘못된 승인 사양 | ||
| 28000 | 잘못된 승인 사양 | invalid_authorization_specation |
| 클래스 2B — 종속 권한 설명자가 여전히 존재함 | ||
| 2B000 | 종속 권한 설명자가 여전히 존재함 | dependent_privilege_descriptors_still_exist |
| 2BP01 | 종속 개체가 여전히 존재함 | dependent_objects_still_exist |
| 클래스 2D — 유효하지 않은 거래 종료 | ||
| 2D000 | 잘못된 거래 종료 | invalid_transaction_termination |
| 2층 클래스 — 젠 토토 루틴 예외 | ||
| 2F000 | 젠 토토 루틴 예외 | 젠 토토_routine_Exception |
| 2F005 | 함수 실행됨 반환문 없음 | function_executed_no_return_statement |
| 2F002 | 젠 토토 데이터 수정이 허용되지 않음 | modifying_젠 토토_data_not_permitted |
| 2F003 | 금지된 젠 토토 문 시도 | prohibited_젠 토토_statement_attempted |
| 2F004 | 젠 토토 데이터 읽기가 허용되지 않음 | reading_젠 토토_data_not_permitted |
| 클래스 34 — 잘못된 커서 이름 | ||
| 34000 | 잘못된 커서 이름 | invalid_cursor_name |
| 클래스 38 — 외부 루틴 예외 | ||
| 38000 | 외부 루틴 예외 | external_routine_Exception |
| 38001 | 젠 토토 포함은 허용되지 않음 | 포함_젠 토토_not_permitted |
| 38002 | 젠 토토 데이터 수정이 허용되지 않음 | modifying_젠 토토_data_not_permitted |
| 38003 | 금지된 젠 토토 문 시도 | prohibited_젠 토토_statement_attempted |
| 38004 | 젠 토토 데이터 읽기가 허용되지 않음 | reading_젠 토토_data_not_permitted |
| 클래스 39 — 외부 루틴 호출 예외 | ||
| 39000 | 외부 루틴 호출 예외 | external_routine_invocation_Exception |
| 39001 | 잘못된 젠 토토STATE가 반환됨 | invalid_젠 토토state_returned |
| 39004 | NULL 값은 허용되지 않음 | null_value_not_allowed |
| 39P01 | 트리거 프로토콜 위반 | trigger_protocol_violated |
| 39P02 | SRF 프로토콜 위반 | srf_protocol_violated |
| 클래스 3B — 저장점 예외 | ||
| 3B000 | 세이브포인트 예외 | savepoint_Exception |
| 3B001 | 잘못된 세이브포인트 사양 | invalid_savepoint_specation |
| 클래스 3D — 잘못된 카탈로그 이름 | ||
| 3D000 | 잘못된 카탈로그 이름 | invalid_catalog_name |
| 3층 — 잘못된 스키마 이름 | ||
| 3F000 | 잘못된 스키마 이름 | invalid_schema_name |
| 클래스 40 — 거래 롤백 | ||
| 40000 | 트랜잭션 롤백 | transaction_rollback |
| 40002 | 트랜잭션 무결성 제약 조건 위반 | transaction_integrity_constraint_violation |
| 40001 | 직렬화 실패 | 직렬화_실패 |
| 40003 | 문 완료 알 수 없음 | statement_completion_unknown |
| 40P01 | 교착 상태 감지됨 | 교착상태_감지 |
| 클래스 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 | 정의되지 않은 열 | 정의되지 않은_열 |
| 42883 | 정의되지 않은 함수 | 정의되지 않은_함수 |
| 42P01 | 정의되지 않은 테이블 | 정의되지 않은_테이블 |
| 42P02 | 정의되지 않은 매개변수 | 정의되지 않은_매개변수 |
| 42704 | 정의되지 않은 개체 | 정의되지 않은_객체 |
| 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 | 모호한 열 | 모호한_열 |
| 42725 | 모호한 기능 | 모호한_기능 |
| 42P08 | 모호한 매개변수 | 모호한_매개변수 |
| 42P09 | 모호한 별칭 | 모호한_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_definition |
| 42P17 | 잘못된 개체 정의 | invalid_object_definition |
| 클래스 44 — 확인 옵션 위반 포함 | ||
| 44000 | 체크 옵션 위반 있음 | with_check_option_violation |
| 클래스 53 — 리소스 부족 | ||
| 53000 | 리소스 부족 | 부족한_자원 |
| 53100 | 디스크 가득 참 | 디스크_가득함 |
| 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 — 시스템 오류(외부 오류포스트그레젠 토토그 자체) | ||
| 58030 | IO 오류 | io_error |
| 58P01 | 정의되지 않은 파일 | 정의되지 않은_파일 |
| 58P02 | 중복 파일 | duplicate_file |
| 클래스 F0 — 구성 파일 오류 | ||
| F0000 | 구성 파일 오류 | config_file_error |
| F0001 | 잠금 파일이 존재함 | lock_file_exists |
| 클래스 P0 — PL/pg젠 토토 오류 | ||
| P0000 | PLPG젠 토토 오류 | plpg젠 토토_error |
| P0001 | 예외 발생 | raise_Exception |
| P0002 | 데이터를 찾을 수 없음 | no_data_found |
| P0003 | 행이 너무 많음 | too_many_rows |
| 클래스 XX — 내부 오류 | ||
| XX000 | 내부 오류 | internal_error |
| XX001 | 데이터 손상됨 | data_corrupted |
| XX002 | 색인 손상됨 | index_corrupted |