プログラミング · PostgreSQL · SQL
PostgreSQLエラーコードのタイピング練習
PostgreSQL のエラーの条件名(unique_violation・foreign_key_violation など)を、初級・中級・上級の120個で打って覚えます。SQLSTATE のコードと意味の説明が付いています。
3リスト・120語
無料・ログインなしで練習できます。押すとこのパックをフォローし、すぐに練習が始まります。
収録している言葉
PostgreSQLエラーコード(初級)
| 打つ言葉 | 意味・補足 |
|---|---|
| warning | 01000:警告 |
| no_data | 02000:対象のデータがない |
| io_error | 58030:入出力エラー |
| disk_full | 53100:ディスクがいっぱい |
| fdw_error | HV000:外部データラッパーのエラー |
| syntax_error | 42601:構文エラー |
| invalid_name | 42602:名前が不正 |
| system_error | 58000:システムエラー |
| cannot_coerce | 42846:型を変換できない |
| reserved_name | 42939:予約された名前 |
| plpgsql_error | P0000:PL/pgSQLのエラー |
| data_exception | 22000:データの例外 |
| name_too_long | 42622:名前が長すぎる |
| grouping_error | 42803:GROUP BYにない列を参照した |
| out_of_memory | 53200:メモリが足りない |
| object_in_use | 55006:オブジェクトが使用中 |
| query_canceled | 57014:問い合わせを取り消した(statement_timeoutなど) |
| admin_shutdown | 57P01:管理者の指示でサーバーを停止 |
| crash_shutdown | 57P02:クラッシュによる停止 |
| undefined_file | 58P01:ファイルが存在しない |
| no_data_found | P0002:SELECT INTO STRICTで行が見つからない |
| too_many_rows | P0003:SELECT INTO STRICTで複数行が返った |
| assert_failure | P0004:ASSERTの失敗 |
| internal_error | XX000:内部エラー |
| data_corrupted | XX001:データが壊れている |
| case_not_found | 20000:CASE文で一致する分岐がない(PL/pgSQL) |
| check_violation | 23514:CHECK制約違反 |
| duplicate_alias | 42712:別名が重複している |
| undefined_table | 42P01:テーブルが存在しない |
| duplicate_table | 42P07:テーブルがすでに存在する |
| windowing_error | 42P20:ウィンドウ関数の使い方が不正 |
| raise_exception | P0001:RAISE EXCEPTIONで発生させたエラー |
| index_corrupted | XX002:インデックスが壊れている |
| unique_violation | 23505:一意制約違反(値が重複した) |
| invalid_password | 28P01:パスワードが違う |
| duplicate_column | 42701:列名が重複している |
| ambiguous_column | 42702:列名があいまい(複数のテーブルにある) |
| undefined_column | 42703:列が存在しない |
| undefined_object | 42704:オブジェクトが存在しない |
| duplicate_object | 42710:オブジェクトがすでに存在する |
PostgreSQLエラーコード(中級)
| 打つ言葉 | 意味・補足 |
|---|---|
| generated_always | 428C9:GENERATED ALWAYSの列に値を入れた |
| duplicate_schema | 42P06:スキーマがすでに存在する |
| database_dropped | 57P04:データベースが削除された |
| division_by_zero | 22012:0で割った |
| deadlock_detected | 40P01:デッドロックを検出した |
| datatype_mismatch | 42804:データ型が合わない |
| invalid_recursion | 42P19:再帰の使い方が不正 |
| too_many_columns | 54011:列が多すぎる |
| lock_file_exists | F0001:ロックファイルがすでにある |
| deprecated_feature | 01P01:非推奨の機能を使った(警告) |
| connection_failure | 08006:接続の失敗 |
| protocol_violation | 08P01:プロトコル違反 |
| invalid_json_text | 22032:JSONのテキストが不正 |
| restrict_violation | 23001:RESTRICTの外部キーで削除・更新を拒否 |
| duplicate_function | 42723:関数がすでに存在する |
| ambiguous_function | 42725:関数の呼び出しがあいまい |
| wrong_object_type | 42809:オブジェクトの種類が違う |
| undefined_function | 42883:関数が存在しない(引数の型が合わない) |
| duplicate_database | 42P04:データベースがすでに存在する |
| collation_mismatch | 42P21:照合順序が合わない |
| config_file_error | F0000:設定ファイルのエラー |
| not_null_violation | 23502:NOT NULL制約違反 |
| exclusion_violation | 23P01:排他制約違反 |
| too_many_arguments | 54023:引数が多すぎる |
| lock_not_available | 55P03:ロックを取れない(NOWAITなど) |
| cannot_connect_now | 57P03:今は接続できない(起動中など) |
| connection_exception | 08000:接続の例外 |
| invalid_cursor_name | 34000:カーソル名が不正 |
| invalid_schema_name | 3F000:スキーマが存在しない |
| transaction_rollback | 40000:トランザクションのロールバック |
| invalid_foreign_key | 42830:外部キーの定義が不正 |
| successful_completion | 00000:正常終了 |
| cardinality_violation | 21000:1行を返すべき副問い合わせが複数行を返した |
| invalid_cursor_state | 24000:カーソルの状態が不正 |
| invalid_catalog_name | 3D000:データベースが存在しない |
| serialization_failure | 40001:直列化の失敗(再試行する) |
| too_many_connections | 53300:接続数が多すぎる |
| operator_intervention | 57000:管理者の介入 |
| idle_session_timeout | 57P05:アイドル時間切れで切断 |
| feature_not_supported | 0A000:対応していない機能 |
PostgreSQLエラーコード(上級)
| 打つ言葉 | 意味・補足 |
|---|---|
| array_subscript_error | 2202E:配列の添字が不正 |
| foreign_key_violation | 23503:外部キー制約違反 |
| insufficient_privilege | 42501:権限が足りない |
| indeterminate_datatype | 42P18:データ型を決められない |
| insufficient_resources | 53000:リソースが足りない |
| statement_too_complex | 54001:文が複雑すぎる |
| active_sql_transaction | 25001:トランザクション中には実行できない |
| program_limit_exceeded | 54000:プログラムの上限を超えた |
| null_value_not_allowed | 22004:NULLが許されない場所にNULLがある |
| invalid_datetime_format | 22007:日時の書式が不正 |
| datetime_field_overflow | 22008:日時のフィールドが範囲外 |
| invalid_parameter_value | 22023:引数の値が不正 |
| invalid_escape_sequence | 22025:エスケープシーケンスが不正 |
| untranslatable_character | 22P05:エンコーディングを変換できない文字 |
| invalid_column_reference | 42P10:列の参照が不正 |
| invalid_table_definition | 42P16:テーブルの定義が不正 |
| invalid_transaction_state | 25000:トランザクションの状態が不正 |
| invalid_column_definition | 42611:列の定義が不正 |
| connection_does_not_exist | 08003:接続が存在しない |
| invalid_regular_expression | 2201B:正規表現が不正 |
| read_only_sql_transaction | 25006:読み取り専用トランザクションで書き込もうとした |
| no_active_sql_transaction | 25P01:トランザクションの外では実行できない |
| in_failed_sql_transaction | 25P02:失敗したトランザクションの中で実行した(ROLLBACKが必要) |
| cant_change_runtime_param | 55P02:実行中に変えられないパラメータ |
| invalid_text_representation | 22P02:文字列を型に変換できない(例:'abc'::int) |
| invalid_sql_statement_name | 26000:プリペアド文の名前が不正 |
| invalid_function_definition | 42P13:関数の定義が不正 |
| numeric_value_out_of_range | 22003:数値が型の範囲を超えた |
| character_not_in_repertoire | 22021:文字コードに含まれない文字 |
| with_check_option_violation | 44000:WITH CHECK OPTIONのビューの条件に反した |
| string_data_right_truncation | 22001:文字列が列の長さを超えた |
| integrity_constraint_violation | 23000:整合性制約違反 |
| dependent_objects_still_exist | 2BP01:依存するオブジェクトが残っている(CASCADEが必要) |
| invalid_transaction_termination | 2D000:トランザクションの終了が不正 |
| invalid_savepoint_specification | 3B001:セーブポイントの指定が不正 |
| invalid_character_value_for_cast | 22018:キャストできない文字の値 |
| object_not_in_prerequisite_state | 55000:オブジェクトが前提の状態にない |
| invalid_authorization_specification | 28000:認証の指定が不正(ロールがないなど) |
| idle_in_transaction_session_timeout | 25P03:トランザクション中のアイドル時間切れで切断 |
| syntax_error_or_access_rule_violation | 42000:構文エラーまたはアクセス規則違反 |