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

PolarDB:PostgreSQLエラーコード

最終更新日:May 31, 2024

この記事では、PostgreSQLエラーコードを紹介します。

PostgreSQLエラーコード

PostgreSQLサーバーから出力されるメッセージには、SQL標準の「SQLSTATE」コードの規則に従った5文字のエラーコードが割り当てられます。 どのエラー状態が発生したかを知る必要があるアプリケーションは、通常、テキストエラーメッセージを見るのではなく、エラーコードをテストするべきである。 エラーコードは、PostgreSQLのリリース全体で変更される可能性が低く、エラーメッセージのローカライズによって変更されることもありません。 PostgreSQLによって生成されるエラーコードのすべてではないが、一部はSQL標準によって定義されていることに注意してください。標準によって定義されていない条件に対するいくつかの追加のエラーコードは、他のデータベースから発明または借用されています。

この規格によれば、エラーコードの最初の2文字はエラーのクラスを示し、最後の3文字はそのクラス内の特定の条件を示す。 したがって、特定のエラーコードを認識しないアプリケーションは、エラークラスから何をすべきかを推測できる可能性があります。

表A.1は、PostgreSQL14.11で定義されたすべてのエラーコードを示しています。 (一部は現在実際には使用されていませんが、SQL標準によって定義されています。) エラークラスも示されている。 各エラークラスに対して、最後の3文字000を有する「標準」エラーコードがある。 このコードは、クラス内に含まれるエラー条件にのみ使用されますが、これ以上特定のコードが割り当てられていません。

「Condition Name」の列に示す記号は、PL/pgSQLで使用する条件名である。 条件名は大文字または小文字で記述できます。 (PL/pgSQLは、エラーとは対照的に警告を認識しないことに注意してください。条件名は、クラス00、01、および02です。)

エラーの種類によっては、エラーに関連付けられたデータベースオブジェクトの名前 (テーブル、テーブル列、データ型、または制約) がサーバーに報告されます。たとえば、unique_violationエラーの原因となった一意の制約の名前などです。 このような名前は、エラーレポートメッセージの別々のフィールドに供給されるので、アプリケーションは、メッセージのおそらくローカライズされた人間が読めるテキストからそれらを抽出しようとする必要はない。

表1. PostgreSQLエラーコード

エラーコード

条件名

クラス00-正常な完了

00000

successful_completion

クラス01-警告

01000

警告

0100C

dynamic_result_sets_returned

01008

implicit_zero_bit_パディング

01003

null_value_eliminated_in_set_function

01007

privilege_not_granted

01006

privilege_not_revoked

01004

string_data_right_切り捨て

01P0 1

非推奨_機能

01M0 2

px_相互接続

クラス02-データなし (これもSQL標準の警告クラスです)

02000

no_データ

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

08P0 1

protocol_違反

クラス09-トリガーアクション例外

09000

triggered_action_exception

クラス0A-サポートされていない機能

0A00 0

feature_not_supported

0AM0 1

px_feature_not_まだ

0AM0 2

px_feature_not_設定済み

クラス0B-無効なトランザクション開始

0B00 0

invalid_transaction_initiation

クラス0F-ロケータ例外

0F00 0

locator_exception

0F00 1

invalid_locator_仕様

クラス0L-無効なGrantor

0L00 0

invalid_grantor

0LP0 1

invalid_grant_操作

クラス0P-無効な役割の指定

0P00 0

invalid_role_仕様

クラス0Z - Diagnostics Exception

0Z00 0

診断_例外

0Z00 2

stacked_diagnostics_accessed_without_active_ハンドラ

クラス20-ケースが見つかりません

20000

case_not_が見つかりました

クラス21-カーディナリティ違反

21000

カーディナリティ_違反

クラス22-データ例外

22000

data_exception

2202E

array_subscript_error

22021

character_not_in_レパートリー

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_対数

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_関数

22018

invalid_character_value_for_cast

22007

invalid_datetime_形式

22019

invalid_escape_文字

2200D

invalid_escap_octet

22025

invalid_escape_sequence

22P0 6

nonstandard_use_of_escape_文字

22010

invalid_indicator_parameter_value

22023

invalid_parameter_value

22013

invalid_precipering_or_following_size

2201B

invalid_regular_式

2201W

invalid_row_count_in_limit_句

2201X

invalid_row_count_in_result_offset_句

2202H

invalid_tablesample_引数

2202G

invalid_tablesample_repeat

22009

invalid_time_zone_displacement_value

2200C

invalid_use_of_escape_文字

2200G

most_specific_type_ミスマッチ

22004

null_value_not_allowed

22002

null_value_no_indicator_パラメーター

22003

numeric_value_out_of_range

2200H

sequence_generator_limit_を超えました

22026

string_data_length_ミスマッチ

22001

string_data_right_切り捨て

22011

substring_error

22027

trim_error

22024

unterminated_c_文字列

2200F

zero_length_character_string

22P0 1

floating_point_例外

22P0 2

invalid_text_representation

22P0 3

invalid_binary_表現

22P0 4

bad_copy_file_形式

22P0 5

untransllatable_character

2200L

not_an_xml_ドキュメント

2200M

invalid_xml_ドキュメント

2200N

invalid_xml_content

2200S

invalid_xml_コメント

2200T

invalid_xml_processing_instruction

22030

duplicate_json_object_key_value

22031

invalid_argument_for_sql_json_datetime_関数

22032

invalid_json_text

22033

invalid_sql_json_添え字

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_オブジェクト

22038

singleton_sql_json_item_必須

22039

sql_json_array_not_が見つかりません

2203A

sql_json_member_not_が見つかりました

2203B

sql_json_number_not_が見つかりました

2203C

sql_json_object_not_found

2203D

too_many_json_array_要素

2203E

too_many_json_object_メンバー

2203F

sql_json_scalar_必要

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

23000

integrity_constraint_違反

23001

_違反の制限

23502

not_null_違反

23503

foreign_key_違反

23505

unique_違反

23514

チェック_違反

23P0 1

exclusion_違反

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

24000

invalid_cursor_state

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

25000

invalid_transaction_state

25001

active_sql_トランザクション

25002

branch_transaction_already_active

25008

held_cursor_requires_same_isolation_level

25003

inapplicate_access_mode_for_branch_トランザクション

25004

inapplicate_isolation_level_for_branch_トランザクション

25005

no_active_sql_transaction_for_branch_トランザクション

25006

read_only_sql_トランザクション

25007

schema_and_data_statement_mixing_not_サポート

25P0 1

no_active_sql_トランザクション

25P0 2

in_failed_sql_トランザクション

25M0 1

px_operation_canceled

25P0 3

idle_in_transaction_session_timeout

クラス26-無効なSQL文名

26000

invalid_sql_statement_name

クラス27-トリガーされたデータ変更違反

27000

triggered_data_change_違反

クラス28-無効な承認仕様

28000

invalid_authorization_仕様

28P0 1

invalid_password

クラス2B依存特権記述子はまだ存在します

2B00 0

dependent_privilege_descriptors_still_exist

2BP0 1

dependent_objects_still_exist

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

2D00 0

invalid_transaction_termination

クラス2F - SQLルーチン例外

2F00 0

sql_routine_例外

2F00 5

function_executed_no_return_文

2F00 2

modifying_sql_data_not_allowed

2F00 3

prohibited_sql_statement_未遂

2F00 4

reading_sql_data_not_allowed

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

34000

invalid_cursor_name

クラス38-外部ルーチン例外

38000

external_routine_例外

38001

containing_sql_not_allowed

38002

modifying_sql_data_not_allowed

38003

prohibited_sql_statement_未遂

38004

reading_sql_data_not_allowed

クラス39-外部ルーチン呼び出し例外

39000

external_routine_invocation_exception

39001

invalid_sqlstate_が返されました

39004

null_value_not_allowed

39P0 1

trigger_protocol_違反

39P0 2

srf_protocol_違反

39P0 3

event_trigger_protocol_違反

クラス3B - Savepoint例外

3B00 0

savepoint_exception

3B00 1

invalid_savepoint_仕様

クラス3D-無効なカタログ名

3D00 0

invalid_catalog_name

クラス3F-無効なスキーマ名

3F00 0

invalid_schema_name

クラス40-トランザクションロールバック

40000

transaction_rollback

40002

transaction_integrity_constraint_違反

40001

serialization_failure

40003

statement_completion_unknown

40P0 1

デッドロック_検出済み

クラス42-構文エラーまたはアクセスルール違反

42000

syntax_error_or_access_rule_違反

42601

syntax_error

42501

不十分な_特権

42846

cannot_coerce

42803

grouping_error

42P2 0

windowing_error

42P1 9

invalid_再帰

42830

invalid_foreign_キー

42602

invalid_name

42622

name_too_long

42939

reserved_name

42804

datatype_mismatch

42P1 8

indeterminate_datatype

42P2 1

照合_不一致

42P2 2

indeterminate_collation

42809

wrong_object_型

428C 9

生成された_常に

42703

undefined_列

42883

undefined_関数

42P0 1

undefined_テーブル

42P0 2

undefined_パラメーター

42704

undefined_object

42701

duplicate_column

42P0 3

duplicate_cursor

42P0 4

duplicet_database

42723

duplicet_function

42730

duplicate_package

42P0 5

duplicate_prepared_文

42P0 6

duplicet_schema

42P0 7

duplicate_table

42712

duplicet_alias

42710

duplicet_object

42702

あいまい_列

42725

あいまい_関数

42P0 8

あいまい_パラメータ

42P0 9

あいまい_エイリアス

42P1 0

invalid_column_reference

42611

invalid_column_definition

42P1 1

invalid_cursor_definition

42P1 2

invalid_database_definition

42P1 3

invalid_function_definition

42P1 4

invalid_prepared_statement_definition

42P1 5

invalid_schema_definition

42P1 6

invalid_table_definition

42P1 7

invalid_object_definition

クラス44-チェックオプション違反

44000

with_check_option_違反

クラス53-不十分なリソース

53000

不十分な_リソース

53100

disk_full

53200

out_of_メモリ

53300

too_many_接続

53400

configuration_limit_exceeded

クラス54-プログラム制限を超えた

54000

program_limit_超過

54001

statement_too_complex

54011

too_many_列

54023

too_many_引数

クラス55-オブジェクトが前提状態ではない

55000

object_not_in_preciplement_state

55006

object_in_use

55P0 2

cant_change_runtime_param

55P0 3

lock_not_available

55P0 4

unsafe_new_enum_value_usage

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

57000

operator_intervention

57014

query_canceled

57P0 1

admin_shutdown

57P0 2

crash_shutdown

57P0 3

cannot_connect_now

57P0 4

database_dropped

57P0 5

idle_session_timeout

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

58000

system_error

58030

io_エラー

58P0 1

undefined_ファイル

58P0 2

duplicate_file

58M0 1

px_interconnection_エラー

クラス72-スナップショット障害

72000

snapshot_too_old

クラスF0-設定ファイルエラー

F0000

config_file_エラー

F0001

lock_file_exists

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

HV000

fdw_エラー

HV005

fdw_column_name_not_found

HV002

fdw_dynamic_parameter_value_needed

HV010

fdw_function_sequence_エラー

HV021

fdw_inconsistent_descriptor_情報

HV024

fdw_invalid_attribute_value

HV007

fdw_invalid_column_name

HV008

fdw_invalid_column_number

HV004

fdw_invalid_data_型

HV006

fdw_invalid_data_type_記述子

HV091

fdw_invalid_descriptor_field_識別子

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_形式

HV009

fdw_invalid_use_of_null_ポインター

HV014

fdw_too_many_handles

HV001

fdw_out_of_メモリ

HV00P

fdw_no_スキーマ

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_実行

HV00M

fdw_unable_to_create_reply

HV00N

fdw_unable_to_establish_connection

クラスP0 - PL/pgSQLエラー

P0000

plpgsql_エラー

P0001

raise_exception

P0002

no_data_found

P0003

too_many_rows

P0004

assert_failure

P0100

attribute_invalid

P0101

element_type_未サポート

P0102

パッケージ_undefined

P0103

invalid_package_definition

P0104

invalid_package_reference

P0106

package_attribute_ミスマッチ

P0107

package_instance_removed

P0108

package_instance_broken

P0109

package_instance_期限切れ

クラスXX-内部エラー

XX000

internal_error

XX001

データ_破損

XX002

index_corrupted

クラスPX-内部エラー

PX000

px_internal_エラー