PostgreSQL Error Mapping¶
This page lists how native PostgreSQL database or driver errors are represented as TsSqlErrorReason values. The table uses the same row catalog and row order as the other native database pages, so a - means this semantic case is not currently mapped for PostgreSQL.
Database error shows the values exposed through databaseErrorCode and databaseErrorNumber when both are available. Connector-only signals include the connector inline. SQL_UNKNOWN is intentionally the last row.
Exact mapper-known codes are listed individually. Broad class, range, or message-pattern fallbacks are kept when the mapper intentionally handles an open-ended family of errors; if the same native code appears in more than one row, the driver message determines the final mapped reason.
| Category | Reason | Database error | Filled fields |
|---|---|---|---|
| Constraints | SQL_CONSTRAINT_VIOLATEDconstraintType unique |
unique_violation / 23505: unique constraint violation |
constraintTypeconstraintName when inferredtableName when inferredcolumnName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Constraints | SQL_CONSTRAINT_VIOLATEDconstraintType not null |
not_null_violation / 23502: not null constraint violation |
constraintTypeconstraintName when inferredtableName when inferredcolumnName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Constraints | SQL_CONSTRAINT_VIOLATEDconstraintType foreign key |
foreign_key_violation / 23503: foreign key constraint violation |
constraintTypeconstraintName when inferredtableName when inferredcolumnName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Constraints | SQL_CONSTRAINT_VIOLATEDconstraintType check |
check_violation / 23514: check constraint violationwith_check_option_violation / 44000: check constraint violation |
constraintTypeconstraintName when inferredtableName when inferredcolumnName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Constraints | SQL_CONSTRAINT_VIOLATEDconstraintType exclusion |
exclusion_violation / 23P01: exclusion constraint violation |
constraintTypeconstraintName when inferredtableName when inferredcolumnName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Constraints | SQL_CONSTRAINT_VIOLATEDconstraintType restrict |
restrict_violation / 23001: restrict constraint violation |
constraintTypeconstraintName when inferredtableName when inferredcolumnName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Constraints | SQL_CONSTRAINT_VIOLATED |
integrity_constraint_violation / 23000: constraint violationtransaction_integrity_constraint_violation / 40002: constraint violation23: constraint violation |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Values | SQL_INVALID_VALUEerrorType too long |
string_data_right_truncation / 22001: too longstring_data_length_mismatch / 22026: too longfile_name_too_long / 58P03: too long |
errorTypetableName when inferredcolumnName when inferredtypeName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Values | SQL_INVALID_VALUEerrorType out of range |
numeric_value_out_of_range / 22003: out of rangedatetime_field_overflow / 22008: out of rangeinterval_field_overflow / 22015: out of rangeindicator_overflow / 22022: out of range |
errorTypetableName when inferredcolumnName when inferredtypeName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Values | SQL_INVALID_VALUEerrorType invalid value |
SQLSTATE class 22: invalid value22 (Bun SQL): invalid valuedata_exception / 22000: invalid valueerror_in_assignment / 22005: invalid valueinvalid_character_value_for_cast / 22018: invalid valueinvalid_parameter_value / 22023: invalid valueinvalid_time_zone_displacement_value / 22009: invalid valuemost_specific_type_mismatch / 2200G: invalid valuefloating_point_exception / 22P01: invalid valueinvalid_text_representation / 22P02: invalid valuefdw_invalid_attribute_value / HV024: invalid valuefdw_invalid_data_type / HV004: invalid valuefdw_invalid_data_type_descriptors / HV006: invalid valuefdw_invalid_string_length_or_buffer_length / HV090: invalid valuefdw_invalid_string_format / HV00A: invalid value |
errorTypetableName when inferredcolumnName when inferredtypeName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Values | SQL_INVALID_VALUEerrorType invalid format |
22006: invalid formatinvalid_datetime_format / 22007: invalid formatescape_character_conflict / 2200B: invalid formatzero_length_character_string / 2200F: invalid formatinvalid_escape_character / 22019: invalid formatinvalid_argument_for_logarithm / 2201E: invalid formatinvalid_argument_for_power_function / 2201F: invalid formatinvalid_argument_for_width_bucket_function / 2201G: invalid formatinvalid_row_count_in_limit_clause / 2201W: invalid formatinvalid_row_count_in_result_offset_clause / 2201X: invalid formatarray_subscript_error / 2202E: invalid formatinvalid_argument_for_ntile_function / 22014: invalid formatinvalid_argument_for_nth_value_function / 22016: invalid formatinvalid_escape_octet / 2200D: invalid formatinvalid_escape_sequence / 22025: invalid formatnonstandard_use_of_escape_character / 22P06: invalid formatinvalid_indicator_parameter_value / 22010: invalid formatinvalid_preceding_or_following_size / 22013: invalid formatinvalid_tablesample_argument / 2202H: invalid formatinvalid_tablesample_repeat / 2202G: invalid formatinvalid_use_of_escape_character / 2200C: invalid formatsubstring_error / 22011: invalid formattrim_error / 22027: invalid formatunterminated_c_string / 22024: invalid formatinvalid_binary_representation / 22P03: invalid formatbad_copy_file_format / 22P04: invalid format |
errorTypetableName when inferredcolumnName when inferredtypeName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Values | SQL_INVALID_VALUEerrorType invalid encoding |
character_not_in_repertoire / 22021: invalid encodinguntranslatable_character / 22P05: invalid encoding |
errorTypetableName when inferredcolumnName when inferredtypeName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Values | SQL_INVALID_VALUEerrorType invalid json |
duplicate_json_object_key_value / 22030: invalid jsoninvalid_argument_for_sql_json_datetime_function / 22031: invalid jsoninvalid_json_text / 22032: invalid jsoninvalid_sql_json_subscript / 22033: invalid jsonmore_than_one_sql_json_item / 22034: invalid jsonno_sql_json_item / 22035: invalid jsonnon_numeric_sql_json_item / 22036: invalid jsonnon_unique_keys_in_a_json_object / 22037: invalid jsonsingleton_sql_json_item_required / 22038: invalid jsonsql_json_array_not_found / 22039: invalid jsonsql_json_member_not_found / 2203A: invalid jsonsql_json_number_not_found / 2203B: invalid jsonsql_json_object_not_found / 2203C: invalid jsontoo_many_json_array_elements / 2203D: invalid jsontoo_many_json_object_members / 2203E: invalid jsonsql_json_scalar_required / 2203F: invalid jsonsql_json_item_cannot_be_cast_to_target_type / 2203G: invalid json |
errorTypetableName when inferredcolumnName when inferredtypeName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Values | SQL_INVALID_VALUEerrorType invalid xml |
not_an_xml_document / 2200L: invalid xmlinvalid_xml_document / 2200M: invalid xmlinvalid_xml_content / 2200N: invalid xmlinvalid_xml_comment / 2200S: invalid xmlinvalid_xml_processing_instruction / 2200T: invalid xml |
errorTypetableName when inferredcolumnName when inferredtypeName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Values | SQL_INVALID_VALUEerrorType invalid regular expression |
invalid_regular_expression / 2201B: invalid regular expression |
errorTypetableName when inferredcolumnName when inferredtypeName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Values | SQL_INVALID_VALUEerrorType null not allowed |
null_value_no_indicator_parameter / 22002: null not allowednull_value_not_allowed / 22004: null not allowednull_value_not_allowed / 39004: null not allowed |
errorTypetableName when inferredcolumnName when inferredtypeName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Values | SQL_INVALID_VALUEerrorType sequence limit |
sequence_generator_limit_exceeded / 2200H: sequence limit |
errorTypetableName when inferredcolumnName when inferredtypeName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Parameters | SQL_INVALID_PARAMETERparameterErrorType missing |
protocol_violation / 08P01: missing parameter when the bind message indicates a missing parameterundefined_parameter / 42P02: missing parameter |
parameterErrorTypeparameterName when inferredparameterIndex when inferredexpectedParameterCount when inferredactualParameterCount when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Parameters | SQL_INVALID_PARAMETERparameterErrorType too many |
MAX_PARAMETERS_EXCEEDED (postgres.js): too many parameterERR_POSTGRES_TOO_MANY_PARAMETERS (Bun SQL): too many parameter |
parameterErrorTypeparameterName when inferredparameterIndex when inferredexpectedParameterCount when inferredactualParameterCount when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Parameters | SQL_INVALID_PARAMETERparameterErrorType wrong count |
@electric-sql/pglite offset/limit argument-count messages: wrong count parameter | parameterErrorTypeparameterName when inferredparameterIndex when inferredexpectedParameterCount when inferredactualParameterCount when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Parameters | SQL_INVALID_PARAMETERparameterErrorType invalid name |
- | - |
| Parameters | SQL_INVALID_PARAMETERparameterErrorType invalid index |
- | - |
| Parameters | SQL_INVALID_PARAMETERparameterErrorType invalid type |
@electric-sql/pglite option type messages: invalid type parameter | parameterErrorTypeparameterName when inferredparameterIndex when inferredexpectedParameterCount when inferredactualParameterCount when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Parameters | SQL_INVALID_PARAMETERparameterErrorType invalid value |
UNDEFINED_VALUE (postgres.js): invalid value parameter |
parameterErrorTypeparameterName when inferredparameterIndex when inferredexpectedParameterCount when inferredactualParameterCount when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Parameters | SQL_INVALID_PARAMETERparameterErrorType invalid binding |
NOT_TAGGED_CALL (postgres.js): invalid binding parameterERR_POSTGRES_INVALID_QUERY_BINDING (Bun SQL): invalid binding parameterERR_POSTGRES_NOT_TAGGED_CALL (Bun SQL): invalid binding parameter |
parameterErrorTypeparameterName when inferredparameterIndex when inferredexpectedParameterCount when inferredactualParameterCount when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Parameters | SQL_INVALID_PARAMETERparameterErrorType not bindable |
- | - |
| Parameters | SQL_INVALID_PARAMETERparameterErrorType already bound |
- | - |
| Parameters | SQL_INVALID_PARAMETER |
protocol_violation / 08P01: invalid parameter when the bind message contains parameter-count detailsfdw_dynamic_parameter_value_needed / HV002: invalid parameterfdw_invalid_column_number / HV008: invalid parameter |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object not found | SQL_OBJECT_NOT_FOUNDobjectType database |
invalid_catalog_name / 3D000: database not found |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object not found | SQL_OBJECT_NOT_FOUNDobjectType schema |
invalid_schema_name / 3F000: schema not foundfdw_schema_not_found / HV00Q: schema not found |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object not found | SQL_OBJECT_NOT_FOUNDobjectType table or view |
undefined_table / 42P01: table or view not foundfdw_table_not_found / HV00R: table or view not found |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object not found | SQL_OBJECT_NOT_FOUNDobjectType column |
undefined_column / 42703: column not foundfdw_column_name_not_found / HV005: column not foundfdw_invalid_column_name / HV007: column not found |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object not found | SQL_OBJECT_NOT_FOUNDobjectType routine |
undefined_function / 42883: routine not found |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object not found | SQL_OBJECT_NOT_FOUNDobjectType sequence |
- | - |
| Object not found | SQL_OBJECT_NOT_FOUNDobjectType collation |
- | - |
| Object not found | SQL_OBJECT_NOT_FOUNDobjectType index |
- | - |
| Object not found | SQL_OBJECT_NOT_FOUNDobjectType trigger |
- | - |
| Object not found | SQL_OBJECT_NOT_FOUNDobjectType cursor |
invalid_cursor_name / 34000: cursor not found |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object not found | SQL_OBJECT_NOT_FOUNDobjectType prepared statement |
invalid_sql_statement_name / 26000: prepared statement not found |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object not found | SQL_OBJECT_NOT_FOUNDobjectType role |
invalid_role_specification / 0P000: role not found |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object not found | SQL_OBJECT_NOT_FOUND |
undefined_object / 42704: object not found |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object already exists | SQL_OBJECT_ALREADY_EXISTSobjectType database |
duplicate_database / 42P04: database already exists |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object already exists | SQL_OBJECT_ALREADY_EXISTSobjectType schema |
duplicate_schema / 42P06: schema already exists |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object already exists | SQL_OBJECT_ALREADY_EXISTSobjectType table or view |
duplicate_table / 42P07: table or view already exists |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object already exists | SQL_OBJECT_ALREADY_EXISTSobjectType column |
duplicate_column / 42701: column already exists |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object already exists | SQL_OBJECT_ALREADY_EXISTSobjectType routine |
duplicate_function / 42723: routine already exists |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object already exists | SQL_OBJECT_ALREADY_EXISTSobjectType sequence |
- | - |
| Object already exists | SQL_OBJECT_ALREADY_EXISTSobjectType index |
- | - |
| Object already exists | SQL_OBJECT_ALREADY_EXISTSobjectType trigger |
- | - |
| Object already exists | SQL_OBJECT_ALREADY_EXISTSobjectType cursor |
duplicate_cursor / 42P03: cursor already exists |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object already exists | SQL_OBJECT_ALREADY_EXISTSobjectType prepared statement |
duplicate_prepared_statement / 42P05: prepared statement already exists |
objectTypeschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object already exists | SQL_OBJECT_ALREADY_EXISTS |
duplicate_object / 42710: object already exists |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object state | SQL_OBJECT_STATE_ERRORobjectStateErrorType invalid state |
invalid_cursor_state / 24000: invalid stateobject_not_in_prerequisite_state / 55000: invalid stateunsafe_new_enum_value_usage / 55P04: invalid state |
objectStateErrorTypeobjectType when inferredschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object state | SQL_OBJECT_STATE_ERRORobjectStateErrorType wrong object type |
wrong_object_type / 42809: wrong object type |
objectStateErrorTypeobjectType when inferredschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object state | SQL_OBJECT_STATE_ERRORobjectStateErrorType object in use |
object_in_use / 55006: object in use |
objectStateErrorTypeobjectType when inferredschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Object state | SQL_OBJECT_STATE_ERRORobjectStateErrorType dependent objects still exist |
dependent_privilege_descriptors_still_exist / 2B000: dependent objects still existdependent_objects_still_exist / 2BP01: dependent objects still exist |
objectStateErrorTypeobjectType when inferredschemaName when inferredtableName when inferredcolumnName when inferredobjectName when inferreddatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_SYNTAX_ERROR |
syntax_error / 42601: syntax error |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_AMBIGUOUS_IDENTIFIERidentifierErrorType ambiguous |
ambiguous_column / 42702: ambiguous identifierambiguous_function / 42725: ambiguous identifierambiguous_parameter / 42P08: ambiguous identifierambiguous_alias / 42P09: ambiguous identifier |
identifier when inferredidentifierType when inferredidentifierErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_AMBIGUOUS_IDENTIFIERidentifierErrorType duplicate |
duplicate_alias / 42712: duplicate identifier |
identifier when inferredidentifierType when inferredidentifierErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_AMBIGUOUS_IDENTIFIER |
- | - |
| Statement | SQL_INVALID_SQL_STATEMENTstatementErrorType incomplete statement |
sql_statement_not_yet_complete / 03000: incomplete statement03: incomplete statement |
statementErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_INVALID_SQL_STATEMENTstatementErrorType invalid definition |
invalid_database_definition / 42P12: invalid definitioninvalid_function_definition / 42P13: invalid definitioninvalid_prepared_statement_definition / 42P14: invalid definitioninvalid_schema_definition / 42P15: invalid definitioninvalid_table_definition / 42P16: invalid definitioninvalid_object_definition / 42P17: invalid definitioninvalid_cursor_definition / 42P11: invalid definitioninvalid_foreign_key / 42830: invalid definitioninvalid_column_definition / 42611: invalid definitiongenerated_always / 428C9: invalid definition |
statementErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_INVALID_SQL_STATEMENTstatementErrorType type mismatch |
cannot_coerce / 42846: type mismatchdatatype_mismatch / 42804: type mismatchindeterminate_datatype / 42P18: type mismatchcollation_mismatch / 42P21: type mismatchindeterminate_collation / 42P22: type mismatch |
statementErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_INVALID_SQL_STATEMENTstatementErrorType invalid statement context |
SQLSTATE class 09: invalid statement context09: invalid statement contexttriggered_action_exception / 09000: invalid statement contexttriggered_data_change_violation / 27000: invalid statement context |
statementErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_INVALID_SQL_STATEMENTstatementErrorType invalid identifier |
invalid_name / 42602: invalid identifiername_too_long / 42622: invalid identifierreserved_name / 42939: invalid identifier |
statementErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_INVALID_SQL_STATEMENTstatementErrorType invalid reference |
invalid_column_reference / 42P10: invalid reference |
statementErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_INVALID_SQL_STATEMENTstatementErrorType invalid grouping |
grouping_error / 42803: invalid grouping |
statementErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_INVALID_SQL_STATEMENTstatementErrorType invalid windowing |
windowing_error / 42P20: invalid windowing |
statementErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_INVALID_SQL_STATEMENTstatementErrorType invalid recursion |
invalid_recursion / 42P19: invalid recursion |
statementErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_INVALID_SQL_STATEMENTstatementErrorType invalid locator |
SQLSTATE class 0F: invalid locator0F: invalid locatorlocator_exception / 0F000: invalid locatorinvalid_locator_specification / 0F001: invalid locator |
statementErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_INVALID_SQL_STATEMENTstatementErrorType case not found |
SQLSTATE class 20: case not found20: case not foundcase_not_found / 20000: case not found |
statementErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_INVALID_SQL_STATEMENTstatementErrorType invalid argument |
SQLSTATE class 10: invalid argument10: invalid argumentinvalid_argument_for_xquery / 10608: invalid argument |
statementErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Statement | SQL_INVALID_SQL_STATEMENT |
SQLSTATE class 42: invalid SQL statement42: invalid SQL statementsyntax_error_or_access_rule_violation / 42000: invalid SQL statement |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Execution | SQL_DIVISION_BY_ZERO |
division_by_zero / 22012: division by zero |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Execution | SQL_CARDINALITY_VIOLATION |
cardinality_violation / 21000: cardinality violationtoo_many_rows / P0003: cardinality violation |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Execution | SQL_ROUTINE_ERROR |
raise_exception / P0001: routine errorno_data_found / P0002: routine errorassert_failure / P0004: routine errordiagnostics_exception / 0Z000: routine errorstacked_diagnostics_accessed_without_active_handler / 0Z002: routine errorsql_routine_exception / 2F000: routine errorfunction_executed_no_return_statement / 2F005: routine errormodifying_sql_data_not_permitted / 2F002: routine errorprohibited_sql_statement_attempted / 2F003: routine errorreading_sql_data_not_permitted / 2F004: routine errorexternal_routine_exception / 38000: routine errorcontaining_sql_not_permitted / 38001: routine errormodifying_sql_data_not_permitted / 38002: routine errorprohibited_sql_statement_attempted / 38003: routine errorreading_sql_data_not_permitted / 38004: routine errorexternal_routine_invocation_exception / 39000: routine errorinvalid_sqlstate_returned / 39001: routine errortrigger_protocol_violated / 39P01: routine errorsrf_protocol_violated / 39P02: routine errorevent_trigger_protocol_violated / 39P03: routine errorplpgsql_error / P0000: routine error |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Transactions | TRANSACTION_ERRORtransactionErrorType invalid state |
invalid_transaction_initiation / 0B000: invalid stateinvalid_transaction_state / 25000: invalid stateinvalid_transaction_termination / 2D000: invalid state25 (Bun SQL): invalid stateERR_POSTGRES_INVALID_TRANSACTION_STATE (Bun SQL): invalid state |
transactionErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Transactions | TRANSACTION_ERRORtransactionErrorType aborted |
in_failed_sql_transaction / 25P02: aborted |
transactionErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Transactions | TRANSACTION_ERRORtransactionErrorType active transaction |
active_sql_transaction / 25001: active transactionbranch_transaction_already_active / 25002: active transaction |
transactionErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Transactions | TRANSACTION_ERRORtransactionErrorType serialization failure |
serialization_failure / 40001: serialization failure |
transactionErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Transactions | TRANSACTION_ERRORtransactionErrorType deadlock |
deadlock_detected / 40P01: deadlock |
transactionErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Transactions | TRANSACTION_ERRORtransactionErrorType transaction rolled back |
transaction_rollback / 40000: transaction rolled back40: transaction rolled back |
transactionErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Transactions | TRANSACTION_ERRORtransactionErrorType outcome unknown |
transaction_resolution_unknown / 08007: outcome unknownstatement_completion_unknown / 40003: outcome unknown |
transactionErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Transactions | TRANSACTION_ERRORtransactionErrorType invalid savepoint |
savepoint_exception / 3B000: invalid savepointinvalid_savepoint_specification / 3B001: invalid savepoint3B: invalid savepoint |
transactionErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Transactions | TRANSACTION_ERRORtransactionErrorType unsupported operation |
schema_and_data_statement_mixing_not_supported / 25007: unsupported operationUNSAFE_TRANSACTION (postgres.js): unsupported operationERR_POSTGRES_UNSAFE_TRANSACTION (Bun SQL): unsupported operation |
transactionErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Transactions | NOT_IN_TRANSACTION |
no_active_sql_transaction / 25P01: not in transactionno_active_sql_transaction_for_branch_transaction / 25005: not in transaction |
driver-mapped cases fill databaseErrorCode, databaseErrorNumber when available, and databaseErrorMessage; direct checks fill no extra fields |
| Transactions | NESTED_TRANSACTION_NOT_SUPPORTED |
raised directly by ts-sql-query nested transaction checks | driver-mapped cases fill databaseErrorCode, databaseErrorNumber when available, and databaseErrorMessage; direct checks fill no extra fields |
| Transactions | FORBIDDEN_CONCURRENT_USAGE |
raised directly by query-runner concurrent usage checks | driver-mapped cases fill databaseErrorCode, databaseErrorNumber when available, and databaseErrorMessage; direct checks fill no extra fields |
| Transactions | TRANSACTION_LEVEL_NOT_SUPPORTED |
inappropriate_isolation_level_for_branch_transaction / 25004: transaction level not supportedheld_cursor_requires_same_isolation_level / 25008: transaction level not supported |
transactionLevel when availabledatabaseErrorCode when availabledatabaseErrorMessage |
| Transactions | TRANSACTION_ACCESS_MODE_NOT_SUPPORTED |
inappropriate_access_mode_for_branch_transaction / 25003: transaction access mode not supported |
accessMode when availabledatabaseErrorCode when availabledatabaseErrorMessage |
| Timeouts | SQL_TIMEOUTtimeoutType connection |
CONNECT_TIMEOUT (postgres.js): connection timeoutERR_POSTGRES_CONNECTION_TIMEOUT (Bun SQL): connection timeout |
timeoutTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Timeouts | SQL_TIMEOUTtimeoutType lock |
lock_not_available / 55P03: lock timeout |
timeoutTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Timeouts | SQL_TIMEOUTtimeoutType statement |
query_canceled / 57014: statement timeout when the message reports a statement timeout |
timeoutTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Timeouts | SQL_TIMEOUTtimeoutType transaction |
transaction_timeout / 25P04: transaction timeout |
timeoutTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Timeouts | SQL_TIMEOUTtimeoutType idle transaction |
idle_in_transaction_session_timeout / 25P03: idle transaction timeout |
timeoutTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Timeouts | SQL_TIMEOUTtimeoutType cancelled |
query_canceled / 57014: cancelled timeout otherwiseERR_POSTGRES_QUERY_CANCELLED (Bun SQL): cancelled timeout |
timeoutTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Timeouts | SQL_TIMEOUTtimeoutType database file busy |
- | - |
| Connections | SQL_CONNECTION_ERRORerrorType connection lost |
SQLSTATE class 08: connection lost08 (Bun SQL): connection lostprotocol_violation / 08P01: connection lost when the message is not a bind-parameter diagnosticoperator_intervention / 57000: connection lostadmin_shutdown / 57P01: connection lostcrash_shutdown / 57P02: connection lostidle_session_timeout / 57P05: connection lost57 (Bun SQL): connection lostconnection_exception / 08000: connection lostconnection_does_not_exist / 08003: connection lostconnection_failure / 08006: connection lostsqlclient_unable_to_establish_sqlconnection / 08001: connection lostsqlserver_rejected_establishment_of_sqlconnection / 08004: connection lost |
errorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Connections | SQL_CONNECTION_ERRORerrorType temporarily unavailable |
cannot_connect_now / 57P03: temporarily unavailablefdw_unable_to_establish_connection / HV00N: temporarily unavailable |
errorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Connections | SQL_CONNECTION_ERRORerrorType invalid connection configuration |
database_dropped / 57P04: invalid connection configuration |
errorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Connections | SQL_CONNECTION_ERRORerrorType pool error |
pg pool closed/ending messages: pool error | errorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Resources | SQL_RESOURCE_LIMIT_REACHEDresourceType memory |
out_of_memory / 53200: memory resource limitfdw_out_of_memory / HV001: memory resource limit |
resourceTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Resources | SQL_RESOURCE_LIMIT_REACHEDresourceType disk |
disk_full / 53100: disk resource limit |
resourceTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Resources | SQL_RESOURCE_LIMIT_REACHEDresourceType temp space |
- | - |
| Resources | SQL_RESOURCE_LIMIT_REACHEDresourceType connections |
too_many_connections / 53300: connections resource limit |
resourceTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Resources | SQL_RESOURCE_LIMIT_REACHEDresourceType pool |
- | - |
| Resources | SQL_RESOURCE_LIMIT_REACHEDresourceType cpu |
- | - |
| Resources | SQL_RESOURCE_LIMIT_REACHEDresourceType file size |
- | - |
| Resources | SQL_RESOURCE_LIMIT_REACHED |
insufficient_resources / 53000: resource limit reachedconfiguration_limit_exceeded / 53400: resource limit reachedprogram_limit_exceeded / 54000: resource limit reachedstatement_too_complex / 54001: resource limit reachedtoo_many_columns / 54011: resource limit reachedtoo_many_arguments / 54023: resource limit reached53: resource limit reached54: resource limit reached |
resourceTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Access | SQL_AUTHENTICATION_ERROR |
invalid_password / 28P01: authentication error |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Access | SQL_AUTHORIZATION_ERROR |
invalid_grantor / 0L000: authorization errorinvalid_grant_operation / 0LP01: authorization errorinvalid_authorization_specification / 28000: authorization error |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Access | SQL_PERMISSION_DENIED |
insufficient_privilege / 42501: permission denied |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Access | SQL_READ_ONLY_VIOLATION |
read_only_sql_transaction / 25006: read only violation |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Configuration | SQL_CONFIGURATION_ERRORconfigurationErrorType configuration file |
config_file_error / F0000: configuration file configuration error |
configurationErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Configuration | SQL_CONFIGURATION_ERRORconfigurationErrorType lock file |
lock_file_exists / F0001: lock file configuration error |
configurationErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Configuration | SQL_CONFIGURATION_ERRORconfigurationErrorType runtime parameter |
cant_change_runtime_param / 55P02: runtime parameter configuration error |
configurationErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| I/O | SQL_IO_ERRORioErrorType read |
@electric-sql/pglite message No /dev/blob File or Blob provided to read from: read I/O error |
ioErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| I/O | SQL_IO_ERRORioErrorType write |
- | - |
| I/O | SQL_IO_ERRORioErrorType fsync |
- | - |
| I/O | SQL_IO_ERRORioErrorType truncate |
- | - |
| I/O | SQL_IO_ERRORioErrorType file stat |
- | - |
| I/O | SQL_IO_ERRORioErrorType lock |
- | - |
| I/O | SQL_IO_ERRORioErrorType unlock |
- | - |
| I/O | SQL_IO_ERRORioErrorType delete |
- | - |
| I/O | SQL_IO_ERRORioErrorType file not found |
58P01: file not found I/O error@electric-sql/pglite message Extension bundle not found: ...: file not found I/O errorundefined_file / 58P01: file not found I/O error |
ioErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| I/O | SQL_IO_ERRORioErrorType access |
- | - |
| I/O | SQL_IO_ERRORioErrorType shared memory |
- | - |
| I/O | SQL_IO_ERRORioErrorType seek |
@electric-sql/pglite message No /dev/blob File or Blob provided to llseek: seek I/O error |
ioErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| I/O | SQL_IO_ERRORioErrorType mmap |
- | - |
| I/O | SQL_IO_ERRORioErrorType path |
- | - |
| I/O | SQL_IO_ERRORioErrorType atomic write |
- | - |
| I/O | SQL_IO_ERRORioErrorType close |
- | - |
| I/O | SQL_IO_ERRORioErrorType reserved extension |
- | - |
| I/O | SQL_IO_ERRORioErrorType unknown |
58030: unknown I/O error58P02: unknown I/O errorSQLSTATE class 58: unknown I/O errorsystem_error / 58000: unknown I/O errorio_error / 58030: unknown I/O errorduplicate_file / 58P02: unknown I/O error |
ioErrorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| External | SQL_EXTERNAL_DATA_SOURCE_ERROR |
SQLSTATE class HV: external data source errorHV: external data source errorfdw_error / HV000: external data source errorfdw_function_sequence_error / HV010: external data source errorfdw_inconsistent_descriptor_information / HV021: external data source errorfdw_invalid_descriptor_field_identifier / HV091: external data source errorfdw_invalid_handle / HV00B: external data source errorfdw_invalid_option_index / HV00C: external data source errorfdw_invalid_option_name / HV00D: external data source errorfdw_invalid_use_of_null_pointer / HV009: external data source errorfdw_too_many_handles / HV014: external data source errorfdw_no_schemas / HV00P: external data source errorfdw_option_name_not_found / HV00J: external data source errorfdw_reply_handle / HV00K: external data source errorfdw_unable_to_create_execution / HV00L: external data source errorfdw_unable_to_create_reply / HV00M: external data source error |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Features | SQL_FEATURE_NOT_SUPPORTED |
feature_not_supported / 0A000: feature not supportedMESSAGE_NOT_SUPPORTED (postgres.js): feature not supported |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Corruption | SQL_DATABASE_CORRUPTEDcorruptionType database file |
XX001: database file corruptiondata_corrupted / XX001: database file corruption |
corruptionTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Corruption | SQL_DATABASE_CORRUPTEDcorruptionType index |
XX002: index corruptionindex_corrupted / XX002: index corruption |
corruptionTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Corruption | SQL_DATABASE_CORRUPTEDcorruptionType sequence |
- | - |
| Corruption | SQL_DATABASE_CORRUPTEDcorruptionType virtual table |
- | - |
| Corruption | SQL_DATABASE_CORRUPTEDcorruptionType filesystem |
- | - |
| Corruption | SQL_DATABASE_CORRUPTEDcorruptionType checksum |
- | - |
| Internal | SQL_INTERNAL_ERRORerrorType engine internal |
successful_completion / 00000: engine internal01: engine internal02: engine internalinternal_error / XX000: engine internalwarning / 01000: engine internaldynamic_result_sets_returned / 0100C: engine internalimplicit_zero_bit_padding / 01008: engine internalnull_value_eliminated_in_set_function / 01003: engine internalprivilege_not_granted / 01007: engine internalprivilege_not_revoked / 01006: engine internalstring_data_right_truncation / 01004: engine internaldeprecated_feature / 01P01: engine internalno_data / 02000: engine internalno_additional_dynamic_result_sets_returned / 02001: engine internal |
errorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Internal | SQL_INTERNAL_ERRORerrorType api misuse |
postgres.js API misuse message; @electric-sql/pglite live query inactive message: api misuse | errorTypedatabaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |
| Fallback | SQL_UNKNOWN |
ERROR: (Bun SQL): unknown SQL errorFATAL: (Bun SQL): unknown SQL errorPANIC: (Bun SQL): unknown SQL errorERR_POSTGRES_SERVER_ERROR (Bun SQL): unknown SQL error |
databaseErrorCode when availabledatabaseErrorNumber when availabledatabaseErrorMessage |