すべてのプロダクト
Search
ドキュメントセンター

PolarDB:エラーコード

最終更新日:Mar 29, 2026

PostgreSQL サーバーが発行する各メッセージには、SQL 標準の SQLSTATE 規則に従った 5 文字のエラーコードが付与されます。エラーメッセージのテキストを解析するのではなく、アプリケーション内でエラーコードをテストしてください。コードは PostgreSQL のリリース間で安定しており、メッセージのローカライズによる影響を受けません。

エラーコードの最初の 2 文字はエラークラスを識別し、残りの 3 文字はそのクラス内の特定の条件を識別します。特定のコードを認識できないアプリケーションでも、クラス単位で処理を行うことが可能です。

表 1 には、PostgreSQL 14.11 で定義されているすべてのエラーコードを示します。一部のコードは SQL 標準で予約されていますが、現時点では使用されていません。各エラークラスには、より具体的なコードが適用されない場合に使用される汎用コード(末尾が 000)が含まれます。

PL/pgSQL の例外ハンドラーでは、条件名(condition name)を使用します。条件名は大文字・小文字を区別しません。ただし、警告クラス(00、01、02)の条件名は PL/pgSQL で認識されません。

一部のエラーでは、サーバーが関連するエラーの原因となったデータベースオブジェクトの名前(例:`unique_violation` を引き起こした一意制約の名前)も報告します。これらの名前は、人間が読めるエラーメッセージの本文に埋め込まれるのではなく、エラー報告の個別のフィールドとして出力されます。

表 1. PostgreSQL のエラーコード

エラーコード

条件名

クラス 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

01M02

px_interconnection

クラス 02 — データなし(SQL 標準では警告クラスにも該当)

02000

no_data

02001

no_additional_dynamic_result_sets_returned

クラス 03 — SQL ステートメントが未完了

03000

sql_statement_not_yet_complete

クラス 08 — 接続例外

08000

connection_exception

08003

connection_does_not_exist

08006

connection_failure

08001

sqlclient_unable_to_establish_sqlconnection

08004

sqlserver_rejected_establishment_of_sqlconnection

08007

transaction_resolution_unknown

08P01

protocol_violation

クラス 09 — トリガー動作例外

09000

triggered_action_exception

クラス 0A — 未対応機能

0A000

feature_not_supported

0AM01

px_feature_not_yet

0AM02

px_feature_not_configured

クラス 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

クラス 0Z — 診断例外

0Z000

diagnostics_exception

0Z002

stacked_diagnostics_accessed_without_active_handler

クラス 20 — CASE が見つからない

20000

case_not_found

クラス 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

22014

invalid_argument_for_ntile_function

22016

invalid_argument_for_nth_value_function

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

22023

invalid_parameter_value

22013

invalid_preceding_or_following_size

2201B

invalid_regular_expression

2201W

invalid_row_count_in_limit_clause

2201X

invalid_row_count_in_result_offset_clause

2202H

invalid_tablesample_argument

2202G

invalid_tablesample_repeat

22009

invalid_time_zone_displacement_value

2200C

invalid_use_of_escape_character

2200G

most_specific_type_mismatch

22004

null_value_not_allowed

22002

null_value_no_indicator_parameter

22003

numeric_value_out_of_range

2200H

sequence_generator_limit_exceeded

22026

string_data_length_mismatch

22001

string_data_right_truncation

22011

substring_error

22027

trim_error

22024

unterminated_c_string

2200F

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

not_an_xml_document

2200M

invalid_xml_document

2200N

invalid_xml_content

2200S

invalid_xml_comment

2200T

invalid_xml_processing_instruction

22030

duplicate_json_object_key_value

22031

invalid_argument_for_sql_json_datetime_function

22032

invalid_json_text

22033

invalid_sql_json_subscript

22034

more_than_one_sql_json_item

22035

no_sql_json_item

22036

non_numeric_sql_json_item

22037

non_unique_keys_in_a_json_object

22038

singleton_sql_json_item_required

22039

sql_json_array_not_found

2203A

sql_json_member_not_found

2203B

sql_json_number_not_found

2203C

sql_json_object_not_found

2203D

too_many_json_array_elements

2203E

too_many_json_object_members

2203F

sql_json_scalar_required

クラス 23 — 整合性制約違反

23000

integrity_constraint_violation

23001

restrict_violation

23502

not_null_violation

23503

foreign_key_violation

23505

unique_violation

23514

check_violation

23P01

exclusion_violation

クラス 24 — 無効なカーソル状態

24000

invalid_cursor_state

クラス 25 — 無効なトランザクション状態

25000

invalid_transaction_state

25001

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

no_active_sql_transaction_for_branch_transaction

25006

read_only_sql_transaction

25007

schema_and_data_statement_mixing_not_supported

25P01

no_active_sql_transaction

25P02

in_failed_sql_transaction

25M01

px_operation_canceled

25P03

idle_in_transaction_session_timeout

クラス 26 — 無効な SQL ステートメント名

26000

invalid_sql_statement_name

クラス 27 — トリガー起因のデータ変更違反

27000

triggered_data_change_violation

クラス 28 — 無効な権限付与仕様

28000

invalid_authorization_specification

28P01

invalid_password

クラス 2B — 依存する特権記述子がまだ存在する

2B000

dependent_privilege_descriptors_still_exist

2BP01

dependent_objects_still_exist

クラス 2D — 無効なトランザクション終了

2D000

invalid_transaction_termination

クラス 2F — SQL ルーティン例外

2F000

sql_routine_exception

2F005

function_executed_no_return_statement

2F002

modifying_sql_data_not_permitted

2F003

prohibited_sql_statement_attempted

2F004

reading_sql_data_not_permitted

クラス 34 — 無効なカーソル名

34000

invalid_cursor_name

クラス 38 — 外部ルーティン例外

38000

external_routine_exception

38001

containing_sql_not_permitted

38002

modifying_sql_data_not_permitted

38003

prohibited_sql_statement_attempted

38004

reading_sql_data_not_permitted

クラス 39 — 外部ルーティン呼び出し例外

39000

external_routine_invocation_exception

39001

invalid_sqlstate_returned

39004

null_value_not_allowed

39P01

trigger_protocol_violated

39P02

srf_protocol_violated

39P03

event_trigger_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

42P20

windowing_error

42P19

invalid_recursion

42830

invalid_foreign_key

42602

invalid_name

42622

name_too_long

42939

reserved_name

42804

datatype_mismatch

42P18

indeterminate_datatype

42P21

collation_mismatch

42P22

indeterminate_collation

42809

wrong_object_type

428C9

generated_always

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

42730

duplicate_package

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_definition

42P17

invalid_object_definition

クラス 44 — WITH CHECK OPTION 違反

44000

with_check_option_violation

クラス 53 — リソース不足

53000

insufficient_resources

53100

disk_full

53200

out_of_memory

53300

too_many_connections

53400

configuration_limit_exceeded

クラス 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

55P04

unsafe_new_enum_value_usage

クラス 57 — オペレーター介入

57000

operator_intervention

57014

query_canceled

57P01

admin_shutdown

57P02

crash_shutdown

57P03

cannot_connect_now

57P04

database_dropped

57P05

idle_session_timeout

クラス 58 — システムエラー(PostgreSQL 外部のエラー)

58000

system_error

58030

io_error

58P01

undefined_file

58P02

duplicate_file

58M01

px_interconnection_error

クラス 72 — スナップショット失敗

72000

snapshot_too_old

クラス F0 — 構成ファイルエラー

F0000

config_file_error

F0001

lock_file_exists

クラス HV — 外部データラッパー エラー(SQL/MED)

HV000

fdw_error

HV005

fdw_column_name_not_found

HV002

fdw_dynamic_parameter_value_needed

HV010

fdw_function_sequence_error

HV021

fdw_inconsistent_descriptor_information

HV024

fdw_invalid_attribute_value

HV007

fdw_invalid_column_name

HV008

fdw_invalid_column_number

HV004

fdw_invalid_data_type

HV006

fdw_invalid_data_type_descriptors

HV091

fdw_invalid_descriptor_field_identifier

HV00B

fdw_invalid_handle

HV00C

fdw_invalid_option_index

HV00D

fdw_invalid_option_name

HV090

fdw_invalid_string_length_or_buffer_length

HV00A

fdw_invalid_string_format

HV009

fdw_invalid_use_of_null_pointer

HV014

fdw_too_many_handles

HV001

fdw_out_of_memory

HV00P

fdw_no_schemas

HV00J

fdw_option_name_not_found

HV00K

fdw_reply_handle

HV00Q

fdw_schema_not_found

HV00R

fdw_table_not_found

HV00L

fdw_unable_to_create_execution

HV00M

fdw_unable_to_create_reply

HV00N

fdw_unable_to_establish_connection

クラス P0 — PL/pgSQL エラー

P0000

plpgsql_error

P0001

raise_exception

P0002

no_data_found

P0003

too_many_rows

P0004

assert_failure

P0005

forall_dml_error

P0100

attribute_invalid

P0101

element_type_unsupported

P0102

package_undefined

P0103

invalid_package_definition

P0104

invalid_package_reference

P0106

package_attribute_mismatch

P0107

package_instance_removed

P0108

package_instance_broken

P0109

package_instance_outdated

クラス XX — 内部エラー

XX000

internal_error

XX001

data_corrupted

XX002

index_corrupted

クラス PX — 内部エラー(PolarDB)

PX000

px_internal_error

クラス SCC — SCC (PolarDB)

SCC00

scc_timeout

SCC01

scc_internal_error