Last active
August 8, 2022 05:48
-
-
Save mjf/b2ec896fc00014ec7520c08ea936cb40 to your computer and use it in GitHub Desktop.
Postgres CSV log parser in Telegraf
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# TODO: store just basename of the logfiles (in Starlark may be easy) | |
# TODO: include more information in tags (at least user_name and application_name?) | |
# | |
# INPUTS | |
# | |
[[inputs.tail]] | |
name_override = "postgres_sql_state_code" | |
files = ["/var/lib/pgsql/14/data/log/postgres-*.csv"] | |
data_format = "csv" | |
path_tag = "logfile" | |
# see https://www.postgresql.org/docs/current/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-CSVLOG | |
csv_column_names = [ | |
"log_time", | |
"user_name", | |
"database_name", | |
"process_id", | |
"connection_from", | |
"session_id", | |
"session_line_num", | |
"command_tag", | |
"session_start_time", | |
"virtual_transaction_id", | |
"transaction_id", | |
"error_severity", | |
"sql_state_code", | |
"message", | |
"detail", | |
"hint", | |
"internal_query", | |
"internal_query_pos", | |
"context", | |
"query", | |
"query_pos", | |
"location", | |
"application_name", | |
"backend_type", | |
"leader_pid", | |
"query_id" | |
] | |
csv_tag_columns = [ | |
"database_name", | |
"error_severity", | |
"sql_state_code" | |
] | |
# pass some value as field to be erased later (see the Starlark processor below) | |
fieldpass = ["process_id"] | |
# | |
# PROCESSORS | |
# | |
[[processors.starlark]] | |
source = '''def apply(metric): | |
# have some value field for the metric so that we can eg. count() over it etc. | |
metric.fields["value"] = 1 | |
# erase the process_id field | |
metric.fields.pop("process_id") | |
# add description (see https://www.postgresql.org/docs/current/errcodes-appendix.html) | |
if metric.tags["sql_state_code"] == "00000": | |
metric.tags["sql_state_description"] = "successful_completion" | |
return metric | |
if metric.tags["sql_state_code"] == "01000": | |
metric.tags["sql_state_description"] = "warning" | |
return metric | |
if metric.tags["sql_state_code"] == "0100C": | |
metric.tags["sql_state_description"] = "dynamic_result_sets_returned" | |
return metric | |
if metric.tags["sql_state_code"] == "01008": | |
metric.tags["sql_state_description"] = "implicit_zero_bit_padding" | |
return metric | |
if metric.tags["sql_state_code"] == "01003": | |
metric.tags["sql_state_description"] = "null_value_eliminated_in_set_function" | |
return metric | |
if metric.tags["sql_state_code"] == "01007": | |
metric.tags["sql_state_description"] = "privilege_not_granted" | |
return metric | |
if metric.tags["sql_state_code"] == "01006": | |
metric.tags["sql_state_description"] = "privilege_not_revoked" | |
return metric | |
if metric.tags["sql_state_code"] == "01004": | |
metric.tags["sql_state_description"] = "string_data_right_truncation" | |
return metric | |
if metric.tags["sql_state_code"] == "01P01": | |
metric.tags["sql_state_description"] = "deprecated_feature" | |
return metric | |
if metric.tags["sql_state_code"] == "02000": | |
metric.tags["sql_state_description"] = "no_data" | |
return metric | |
if metric.tags["sql_state_code"] == "02001": | |
metric.tags["sql_state_description"] = "no_additional_dynamic_result_sets_returned" | |
return metric | |
if metric.tags["sql_state_code"] == "03000": | |
metric.tags["sql_state_description"] = "sql_statement_not_yet_complete" | |
return metric | |
if metric.tags["sql_state_code"] == "08000": | |
metric.tags["sql_state_description"] = "connection_exception" | |
return metric | |
if metric.tags["sql_state_code"] == "08003": | |
metric.tags["sql_state_description"] = "connection_does_not_exist" | |
return metric | |
if metric.tags["sql_state_code"] == "08006": | |
metric.tags["sql_state_description"] = "connection_failure" | |
return metric | |
if metric.tags["sql_state_code"] == "08001": | |
metric.tags["sql_state_description"] = "sqlclient_unable_to_establish_sqlconnection" | |
return metric | |
if metric.tags["sql_state_code"] == "08004": | |
metric.tags["sql_state_description"] = "sqlserver_rejected_establishment_of_sqlconnection" | |
return metric | |
if metric.tags["sql_state_code"] == "08007": | |
metric.tags["sql_state_description"] = "transaction_resolution_unknown" | |
return metric | |
if metric.tags["sql_state_code"] == "08P01": | |
metric.tags["sql_state_description"] = "protocol_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "09000": | |
metric.tags["sql_state_description"] = "triggered_action_exception" | |
return metric | |
if metric.tags["sql_state_code"] == "0A000": | |
metric.tags["sql_state_description"] = "feature_not_supported" | |
return metric | |
if metric.tags["sql_state_code"] == "0B000": | |
metric.tags["sql_state_description"] = "invalid_transaction_initiation" | |
return metric | |
if metric.tags["sql_state_code"] == "0F000": | |
metric.tags["sql_state_description"] = "locator_exception" | |
return metric | |
if metric.tags["sql_state_code"] == "0F001": | |
metric.tags["sql_state_description"] = "invalid_locator_specification" | |
return metric | |
if metric.tags["sql_state_code"] == "0L000": | |
metric.tags["sql_state_description"] = "invalid_grantor" | |
return metric | |
if metric.tags["sql_state_code"] == "0LP01": | |
metric.tags["sql_state_description"] = "invalid_grant_operation" | |
return metric | |
if metric.tags["sql_state_code"] == "0P000": | |
metric.tags["sql_state_description"] = "invalid_role_specification" | |
return metric | |
if metric.tags["sql_state_code"] == "0Z000": | |
metric.tags["sql_state_description"] = "diagnostics_exception" | |
return metric | |
if metric.tags["sql_state_code"] == "0Z002": | |
metric.tags["sql_state_description"] = "stacked_diagnostics_accessed_without_active_handler" | |
return metric | |
if metric.tags["sql_state_code"] == "20000": | |
metric.tags["sql_state_description"] = "case_not_found" | |
return metric | |
if metric.tags["sql_state_code"] == "21000": | |
metric.tags["sql_state_description"] = "cardinality_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "22000": | |
metric.tags["sql_state_description"] = "data_exception" | |
return metric | |
if metric.tags["sql_state_code"] == "2202E": | |
metric.tags["sql_state_description"] = "<none>" | |
return metric | |
if metric.tags["sql_state_code"] == "2202E": | |
metric.tags["sql_state_description"] = "array_subscript_error" | |
return metric | |
if metric.tags["sql_state_code"] == "22021": | |
metric.tags["sql_state_description"] = "character_not_in_repertoire" | |
return metric | |
if metric.tags["sql_state_code"] == "22008": | |
metric.tags["sql_state_description"] = "datetime_field_overflow" | |
return metric | |
if metric.tags["sql_state_code"] == "22008": | |
metric.tags["sql_state_description"] = "<none>" | |
return metric | |
if metric.tags["sql_state_code"] == "22012": | |
metric.tags["sql_state_description"] = "division_by_zero" | |
return metric | |
if metric.tags["sql_state_code"] == "22005": | |
metric.tags["sql_state_description"] = "error_in_assignment" | |
return metric | |
if metric.tags["sql_state_code"] == "2200B": | |
metric.tags["sql_state_description"] = "escape_character_conflict" | |
return metric | |
if metric.tags["sql_state_code"] == "22022": | |
metric.tags["sql_state_description"] = "indicator_overflow" | |
return metric | |
if metric.tags["sql_state_code"] == "22015": | |
metric.tags["sql_state_description"] = "interval_field_overflow" | |
return metric | |
if metric.tags["sql_state_code"] == "2201E": | |
metric.tags["sql_state_description"] = "invalid_argument_for_logarithm" | |
return metric | |
if metric.tags["sql_state_code"] == "22014": | |
metric.tags["sql_state_description"] = "invalid_argument_for_ntile_function" | |
return metric | |
if metric.tags["sql_state_code"] == "22016": | |
metric.tags["sql_state_description"] = "invalid_argument_for_nth_value_function" | |
return metric | |
if metric.tags["sql_state_code"] == "2201F": | |
metric.tags["sql_state_description"] = "invalid_argument_for_power_function" | |
return metric | |
if metric.tags["sql_state_code"] == "2201G": | |
metric.tags["sql_state_description"] = "invalid_argument_for_width_bucket_function" | |
return metric | |
if metric.tags["sql_state_code"] == "22018": | |
metric.tags["sql_state_description"] = "invalid_character_value_for_cast" | |
return metric | |
if metric.tags["sql_state_code"] == "22007": | |
metric.tags["sql_state_description"] = "invalid_datetime_format" | |
return metric | |
if metric.tags["sql_state_code"] == "22019": | |
metric.tags["sql_state_description"] = "invalid_escape_character" | |
return metric | |
if metric.tags["sql_state_code"] == "2200D": | |
metric.tags["sql_state_description"] = "invalid_escape_octet" | |
return metric | |
if metric.tags["sql_state_code"] == "22025": | |
metric.tags["sql_state_description"] = "invalid_escape_sequence" | |
return metric | |
if metric.tags["sql_state_code"] == "22P06": | |
metric.tags["sql_state_description"] = "nonstandard_use_of_escape_character" | |
return metric | |
if metric.tags["sql_state_code"] == "22010": | |
metric.tags["sql_state_description"] = "invalid_indicator_parameter_value" | |
return metric | |
if metric.tags["sql_state_code"] == "22023": | |
metric.tags["sql_state_description"] = "invalid_parameter_value" | |
return metric | |
if metric.tags["sql_state_code"] == "22013": | |
metric.tags["sql_state_description"] = "invalid_preceding_or_following_size" | |
return metric | |
if metric.tags["sql_state_code"] == "2201B": | |
metric.tags["sql_state_description"] = "invalid_regular_expression" | |
return metric | |
if metric.tags["sql_state_code"] == "2201W": | |
metric.tags["sql_state_description"] = "invalid_row_count_in_limit_clause" | |
return metric | |
if metric.tags["sql_state_code"] == "2201X": | |
metric.tags["sql_state_description"] = "invalid_row_count_in_result_offset_clause" | |
return metric | |
if metric.tags["sql_state_code"] == "2202H": | |
metric.tags["sql_state_description"] = "invalid_tablesample_argument" | |
return metric | |
if metric.tags["sql_state_code"] == "2202G": | |
metric.tags["sql_state_description"] = "invalid_tablesample_repeat" | |
return metric | |
if metric.tags["sql_state_code"] == "22009": | |
metric.tags["sql_state_description"] = "invalid_time_zone_displacement_value" | |
return metric | |
if metric.tags["sql_state_code"] == "2200C": | |
metric.tags["sql_state_description"] = "invalid_use_of_escape_character" | |
return metric | |
if metric.tags["sql_state_code"] == "2200G": | |
metric.tags["sql_state_description"] = "most_specific_type_mismatch" | |
return metric | |
if metric.tags["sql_state_code"] == "22004": | |
metric.tags["sql_state_description"] = "null_value_not_allowed" | |
return metric | |
if metric.tags["sql_state_code"] == "22002": | |
metric.tags["sql_state_description"] = "null_value_no_indicator_parameter" | |
return metric | |
if metric.tags["sql_state_code"] == "22003": | |
metric.tags["sql_state_description"] = "numeric_value_out_of_range" | |
return metric | |
if metric.tags["sql_state_code"] == "2200H": | |
metric.tags["sql_state_description"] = "sequence_generator_limit_exceeded" | |
return metric | |
if metric.tags["sql_state_code"] == "22026": | |
metric.tags["sql_state_description"] = "string_data_length_mismatch" | |
return metric | |
if metric.tags["sql_state_code"] == "22001": | |
metric.tags["sql_state_description"] = "string_data_right_truncation" | |
return metric | |
if metric.tags["sql_state_code"] == "22011": | |
metric.tags["sql_state_description"] = "substring_error" | |
return metric | |
if metric.tags["sql_state_code"] == "22027": | |
metric.tags["sql_state_description"] = "trim_error" | |
return metric | |
if metric.tags["sql_state_code"] == "22024": | |
metric.tags["sql_state_description"] = "unterminated_c_string" | |
return metric | |
if metric.tags["sql_state_code"] == "2200F": | |
metric.tags["sql_state_description"] = "zero_length_character_string" | |
return metric | |
if metric.tags["sql_state_code"] == "22P01": | |
metric.tags["sql_state_description"] = "floating_point_exception" | |
return metric | |
if metric.tags["sql_state_code"] == "22P02": | |
metric.tags["sql_state_description"] = "invalid_text_representation" | |
return metric | |
if metric.tags["sql_state_code"] == "22P03": | |
metric.tags["sql_state_description"] = "invalid_binary_representation" | |
return metric | |
if metric.tags["sql_state_code"] == "22P04": | |
metric.tags["sql_state_description"] = "bad_copy_file_format" | |
return metric | |
if metric.tags["sql_state_code"] == "22P05": | |
metric.tags["sql_state_description"] = "untranslatable_character" | |
return metric | |
if metric.tags["sql_state_code"] == "2200L": | |
metric.tags["sql_state_description"] = "not_an_xml_document" | |
return metric | |
if metric.tags["sql_state_code"] == "2200M": | |
metric.tags["sql_state_description"] = "invalid_xml_document" | |
return metric | |
if metric.tags["sql_state_code"] == "2200N": | |
metric.tags["sql_state_description"] = "invalid_xml_content" | |
return metric | |
if metric.tags["sql_state_code"] == "2200S": | |
metric.tags["sql_state_description"] = "invalid_xml_comment" | |
return metric | |
if metric.tags["sql_state_code"] == "2200T": | |
metric.tags["sql_state_description"] = "invalid_xml_processing_instruction" | |
return metric | |
if metric.tags["sql_state_code"] == "22030": | |
metric.tags["sql_state_description"] = "duplicate_json_object_key_value" | |
return metric | |
if metric.tags["sql_state_code"] == "22031": | |
metric.tags["sql_state_description"] = "invalid_argument_for_sql_json_datetime_function" | |
return metric | |
if metric.tags["sql_state_code"] == "22032": | |
metric.tags["sql_state_description"] = "invalid_json_text" | |
return metric | |
if metric.tags["sql_state_code"] == "22033": | |
metric.tags["sql_state_description"] = "invalid_sql_json_subscript" | |
return metric | |
if metric.tags["sql_state_code"] == "22034": | |
metric.tags["sql_state_description"] = "more_than_one_sql_json_item" | |
return metric | |
if metric.tags["sql_state_code"] == "22035": | |
metric.tags["sql_state_description"] = "no_sql_json_item" | |
return metric | |
if metric.tags["sql_state_code"] == "22036": | |
metric.tags["sql_state_description"] = "non_numeric_sql_json_item" | |
return metric | |
if metric.tags["sql_state_code"] == "22037": | |
metric.tags["sql_state_description"] = "non_unique_keys_in_a_json_object" | |
return metric | |
if metric.tags["sql_state_code"] == "22038": | |
metric.tags["sql_state_description"] = "singleton_sql_json_item_required" | |
return metric | |
if metric.tags["sql_state_code"] == "22039": | |
metric.tags["sql_state_description"] = "sql_json_array_not_found" | |
return metric | |
if metric.tags["sql_state_code"] == "2203A": | |
metric.tags["sql_state_description"] = "sql_json_member_not_found" | |
return metric | |
if metric.tags["sql_state_code"] == "2203B": | |
metric.tags["sql_state_description"] = "sql_json_number_not_found" | |
return metric | |
if metric.tags["sql_state_code"] == "2203C": | |
metric.tags["sql_state_description"] = "sql_json_object_not_found" | |
return metric | |
if metric.tags["sql_state_code"] == "2203D": | |
metric.tags["sql_state_description"] = "too_many_json_array_elements" | |
return metric | |
if metric.tags["sql_state_code"] == "2203E": | |
metric.tags["sql_state_description"] = "too_many_json_object_members" | |
return metric | |
if metric.tags["sql_state_code"] == "2203F": | |
metric.tags["sql_state_description"] = "sql_json_scalar_required" | |
return metric | |
if metric.tags["sql_state_code"] == "2203G": | |
metric.tags["sql_state_description"] = "sql_json_item_cannot_be_cast_to_target_type" | |
return metric | |
if metric.tags["sql_state_code"] == "23000": | |
metric.tags["sql_state_description"] = "integrity_constraint_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "23001": | |
metric.tags["sql_state_description"] = "restrict_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "23502": | |
metric.tags["sql_state_description"] = "not_null_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "23503": | |
metric.tags["sql_state_description"] = "foreign_key_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "23505": | |
metric.tags["sql_state_description"] = "unique_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "23514": | |
metric.tags["sql_state_description"] = "check_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "23P01": | |
metric.tags["sql_state_description"] = "exclusion_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "24000": | |
metric.tags["sql_state_description"] = "invalid_cursor_state" | |
return metric | |
if metric.tags["sql_state_code"] == "25000": | |
metric.tags["sql_state_description"] = "invalid_transaction_state" | |
return metric | |
if metric.tags["sql_state_code"] == "25001": | |
metric.tags["sql_state_description"] = "active_sql_transaction" | |
return metric | |
if metric.tags["sql_state_code"] == "25002": | |
metric.tags["sql_state_description"] = "branch_transaction_already_active" | |
return metric | |
if metric.tags["sql_state_code"] == "25008": | |
metric.tags["sql_state_description"] = "held_cursor_requires_same_isolation_level" | |
return metric | |
if metric.tags["sql_state_code"] == "25003": | |
metric.tags["sql_state_description"] = "inappropriate_access_mode_for_branch_transaction" | |
return metric | |
if metric.tags["sql_state_code"] == "25004": | |
metric.tags["sql_state_description"] = "inappropriate_isolation_level_for_branch_transaction" | |
return metric | |
if metric.tags["sql_state_code"] == "25005": | |
metric.tags["sql_state_description"] = "no_active_sql_transaction_for_branch_transaction" | |
return metric | |
if metric.tags["sql_state_code"] == "25006": | |
metric.tags["sql_state_description"] = "read_only_sql_transaction" | |
return metric | |
if metric.tags["sql_state_code"] == "25007": | |
metric.tags["sql_state_description"] = "schema_and_data_statement_mixing_not_supported" | |
return metric | |
if metric.tags["sql_state_code"] == "25P01": | |
metric.tags["sql_state_description"] = "no_active_sql_transaction" | |
return metric | |
if metric.tags["sql_state_code"] == "25P02": | |
metric.tags["sql_state_description"] = "in_failed_sql_transaction" | |
return metric | |
if metric.tags["sql_state_code"] == "25P03": | |
metric.tags["sql_state_description"] = "idle_in_transaction_session_timeout" | |
return metric | |
if metric.tags["sql_state_code"] == "26000": | |
metric.tags["sql_state_description"] = "invalid_sql_statement_name" | |
return metric | |
if metric.tags["sql_state_code"] == "27000": | |
metric.tags["sql_state_description"] = "triggered_data_change_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "28000": | |
metric.tags["sql_state_description"] = "invalid_authorization_specification" | |
return metric | |
if metric.tags["sql_state_code"] == "28P01": | |
metric.tags["sql_state_description"] = "invalid_password" | |
return metric | |
if metric.tags["sql_state_code"] == "2B000": | |
metric.tags["sql_state_description"] = "dependent_privilege_descriptors_still_exist" | |
return metric | |
if metric.tags["sql_state_code"] == "2BP01": | |
metric.tags["sql_state_description"] = "dependent_objects_still_exist" | |
return metric | |
if metric.tags["sql_state_code"] == "2D000": | |
metric.tags["sql_state_description"] = "invalid_transaction_termination" | |
return metric | |
if metric.tags["sql_state_code"] == "2F000": | |
metric.tags["sql_state_description"] = "sql_routine_exception" | |
return metric | |
if metric.tags["sql_state_code"] == "2F005": | |
metric.tags["sql_state_description"] = "function_executed_no_return_statement" | |
return metric | |
if metric.tags["sql_state_code"] == "2F002": | |
metric.tags["sql_state_description"] = "modifying_sql_data_not_permitted" | |
return metric | |
if metric.tags["sql_state_code"] == "2F003": | |
metric.tags["sql_state_description"] = "prohibited_sql_statement_attempted" | |
return metric | |
if metric.tags["sql_state_code"] == "2F004": | |
metric.tags["sql_state_description"] = "reading_sql_data_not_permitted" | |
return metric | |
if metric.tags["sql_state_code"] == "34000": | |
metric.tags["sql_state_description"] = "invalid_cursor_name" | |
return metric | |
if metric.tags["sql_state_code"] == "38000": | |
metric.tags["sql_state_description"] = "external_routine_exception" | |
return metric | |
if metric.tags["sql_state_code"] == "38001": | |
metric.tags["sql_state_description"] = "containing_sql_not_permitted" | |
return metric | |
if metric.tags["sql_state_code"] == "38002": | |
metric.tags["sql_state_description"] = "modifying_sql_data_not_permitted" | |
return metric | |
if metric.tags["sql_state_code"] == "38003": | |
metric.tags["sql_state_description"] = "prohibited_sql_statement_attempted" | |
return metric | |
if metric.tags["sql_state_code"] == "38004": | |
metric.tags["sql_state_description"] = "reading_sql_data_not_permitted" | |
return metric | |
if metric.tags["sql_state_code"] == "39000": | |
metric.tags["sql_state_description"] = "external_routine_invocation_exception" | |
return metric | |
if metric.tags["sql_state_code"] == "39001": | |
metric.tags["sql_state_description"] = "invalid_sqlstate_returned" | |
return metric | |
if metric.tags["sql_state_code"] == "39004": | |
metric.tags["sql_state_description"] = "null_value_not_allowed" | |
return metric | |
if metric.tags["sql_state_code"] == "39P01": | |
metric.tags["sql_state_description"] = "trigger_protocol_violated" | |
return metric | |
if metric.tags["sql_state_code"] == "39P02": | |
metric.tags["sql_state_description"] = "srf_protocol_violated" | |
return metric | |
if metric.tags["sql_state_code"] == "39P03": | |
metric.tags["sql_state_description"] = "event_trigger_protocol_violated" | |
return metric | |
if metric.tags["sql_state_code"] == "3B000": | |
metric.tags["sql_state_description"] = "savepoint_exception" | |
return metric | |
if metric.tags["sql_state_code"] == "3B001": | |
metric.tags["sql_state_description"] = "invalid_savepoint_specification" | |
return metric | |
if metric.tags["sql_state_code"] == "3D000": | |
metric.tags["sql_state_description"] = "invalid_catalog_name" | |
return metric | |
if metric.tags["sql_state_code"] == "3F000": | |
metric.tags["sql_state_description"] = "invalid_schema_name" | |
return metric | |
if metric.tags["sql_state_code"] == "40000": | |
metric.tags["sql_state_description"] = "transaction_rollback" | |
return metric | |
if metric.tags["sql_state_code"] == "40002": | |
metric.tags["sql_state_description"] = "transaction_integrity_constraint_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "40001": | |
metric.tags["sql_state_description"] = "serialization_failure" | |
return metric | |
if metric.tags["sql_state_code"] == "40003": | |
metric.tags["sql_state_description"] = "statement_completion_unknown" | |
return metric | |
if metric.tags["sql_state_code"] == "40P01": | |
metric.tags["sql_state_description"] = "deadlock_detected" | |
return metric | |
if metric.tags["sql_state_code"] == "42000": | |
metric.tags["sql_state_description"] = "syntax_error_or_access_rule_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "42601": | |
metric.tags["sql_state_description"] = "syntax_error" | |
return metric | |
if metric.tags["sql_state_code"] == "42501": | |
metric.tags["sql_state_description"] = "insufficient_privilege" | |
return metric | |
if metric.tags["sql_state_code"] == "42846": | |
metric.tags["sql_state_description"] = "cannot_coerce" | |
return metric | |
if metric.tags["sql_state_code"] == "42803": | |
metric.tags["sql_state_description"] = "grouping_error" | |
return metric | |
if metric.tags["sql_state_code"] == "42P20": | |
metric.tags["sql_state_description"] = "windowing_error" | |
return metric | |
if metric.tags["sql_state_code"] == "42P19": | |
metric.tags["sql_state_description"] = "invalid_recursion" | |
return metric | |
if metric.tags["sql_state_code"] == "42830": | |
metric.tags["sql_state_description"] = "invalid_foreign_key" | |
return metric | |
if metric.tags["sql_state_code"] == "42602": | |
metric.tags["sql_state_description"] = "invalid_name" | |
return metric | |
if metric.tags["sql_state_code"] == "42622": | |
metric.tags["sql_state_description"] = "name_too_long" | |
return metric | |
if metric.tags["sql_state_code"] == "42939": | |
metric.tags["sql_state_description"] = "reserved_name" | |
return metric | |
if metric.tags["sql_state_code"] == "42804": | |
metric.tags["sql_state_description"] = "datatype_mismatch" | |
return metric | |
if metric.tags["sql_state_code"] == "42P18": | |
metric.tags["sql_state_description"] = "indeterminate_datatype" | |
return metric | |
if metric.tags["sql_state_code"] == "42P21": | |
metric.tags["sql_state_description"] = "collation_mismatch" | |
return metric | |
if metric.tags["sql_state_code"] == "42P22": | |
metric.tags["sql_state_description"] = "indeterminate_collation" | |
return metric | |
if metric.tags["sql_state_code"] == "42809": | |
metric.tags["sql_state_description"] = "wrong_object_type" | |
return metric | |
if metric.tags["sql_state_code"] == "428C9": | |
metric.tags["sql_state_description"] = "generated_always" | |
return metric | |
if metric.tags["sql_state_code"] == "42703": | |
metric.tags["sql_state_description"] = "undefined_column" | |
return metric | |
if metric.tags["sql_state_code"] == "34000": | |
metric.tags["sql_state_description"] = "<none>" | |
return metric | |
if metric.tags["sql_state_code"] == "3D000": | |
metric.tags["sql_state_description"] = "<none>" | |
return metric | |
if metric.tags["sql_state_code"] == "42883": | |
metric.tags["sql_state_description"] = "undefined_function" | |
return metric | |
if metric.tags["sql_state_code"] == "26000": | |
metric.tags["sql_state_description"] = "<none>" | |
return metric | |
if metric.tags["sql_state_code"] == "3F000": | |
metric.tags["sql_state_description"] = "<none>" | |
return metric | |
if metric.tags["sql_state_code"] == "42P01": | |
metric.tags["sql_state_description"] = "undefined_table" | |
return metric | |
if metric.tags["sql_state_code"] == "42P02": | |
metric.tags["sql_state_description"] = "undefined_parameter" | |
return metric | |
if metric.tags["sql_state_code"] == "42704": | |
metric.tags["sql_state_description"] = "undefined_object" | |
return metric | |
if metric.tags["sql_state_code"] == "42701": | |
metric.tags["sql_state_description"] = "duplicate_column" | |
return metric | |
if metric.tags["sql_state_code"] == "42P03": | |
metric.tags["sql_state_description"] = "duplicate_cursor" | |
return metric | |
if metric.tags["sql_state_code"] == "42P04": | |
metric.tags["sql_state_description"] = "duplicate_database" | |
return metric | |
if metric.tags["sql_state_code"] == "42723": | |
metric.tags["sql_state_description"] = "duplicate_function" | |
return metric | |
if metric.tags["sql_state_code"] == "42P05": | |
metric.tags["sql_state_description"] = "duplicate_prepared_statement" | |
return metric | |
if metric.tags["sql_state_code"] == "42P06": | |
metric.tags["sql_state_description"] = "duplicate_schema" | |
return metric | |
if metric.tags["sql_state_code"] == "42P07": | |
metric.tags["sql_state_description"] = "duplicate_table" | |
return metric | |
if metric.tags["sql_state_code"] == "42712": | |
metric.tags["sql_state_description"] = "duplicate_alias" | |
return metric | |
if metric.tags["sql_state_code"] == "42710": | |
metric.tags["sql_state_description"] = "duplicate_object" | |
return metric | |
if metric.tags["sql_state_code"] == "42702": | |
metric.tags["sql_state_description"] = "ambiguous_column" | |
return metric | |
if metric.tags["sql_state_code"] == "42725": | |
metric.tags["sql_state_description"] = "ambiguous_function" | |
return metric | |
if metric.tags["sql_state_code"] == "42P08": | |
metric.tags["sql_state_description"] = "ambiguous_parameter" | |
return metric | |
if metric.tags["sql_state_code"] == "42P09": | |
metric.tags["sql_state_description"] = "ambiguous_alias" | |
return metric | |
if metric.tags["sql_state_code"] == "42P10": | |
metric.tags["sql_state_description"] = "invalid_column_reference" | |
return metric | |
if metric.tags["sql_state_code"] == "42611": | |
metric.tags["sql_state_description"] = "invalid_column_definition" | |
return metric | |
if metric.tags["sql_state_code"] == "42P11": | |
metric.tags["sql_state_description"] = "invalid_cursor_definition" | |
return metric | |
if metric.tags["sql_state_code"] == "42P12": | |
metric.tags["sql_state_description"] = "invalid_database_definition" | |
return metric | |
if metric.tags["sql_state_code"] == "42P13": | |
metric.tags["sql_state_description"] = "invalid_function_definition" | |
return metric | |
if metric.tags["sql_state_code"] == "42P14": | |
metric.tags["sql_state_description"] = "invalid_prepared_statement_definition" | |
return metric | |
if metric.tags["sql_state_code"] == "42P15": | |
metric.tags["sql_state_description"] = "invalid_schema_definition" | |
return metric | |
if metric.tags["sql_state_code"] == "42P16": | |
metric.tags["sql_state_description"] = "invalid_table_definition" | |
return metric | |
if metric.tags["sql_state_code"] == "42P17": | |
metric.tags["sql_state_description"] = "invalid_object_definition" | |
return metric | |
if metric.tags["sql_state_code"] == "44000": | |
metric.tags["sql_state_description"] = "with_check_option_violation" | |
return metric | |
if metric.tags["sql_state_code"] == "53000": | |
metric.tags["sql_state_description"] = "insufficient_resources" | |
return metric | |
if metric.tags["sql_state_code"] == "53100": | |
metric.tags["sql_state_description"] = "disk_full" | |
return metric | |
if metric.tags["sql_state_code"] == "53200": | |
metric.tags["sql_state_description"] = "out_of_memory" | |
return metric | |
if metric.tags["sql_state_code"] == "53300": | |
metric.tags["sql_state_description"] = "too_many_connections" | |
return metric | |
if metric.tags["sql_state_code"] == "53400": | |
metric.tags["sql_state_description"] = "configuration_limit_exceeded" | |
return metric | |
if metric.tags["sql_state_code"] == "54000": | |
metric.tags["sql_state_description"] = "program_limit_exceeded" | |
return metric | |
if metric.tags["sql_state_code"] == "54001": | |
metric.tags["sql_state_description"] = "statement_too_complex" | |
return metric | |
if metric.tags["sql_state_code"] == "54011": | |
metric.tags["sql_state_description"] = "too_many_columns" | |
return metric | |
if metric.tags["sql_state_code"] == "54023": | |
metric.tags["sql_state_description"] = "too_many_arguments" | |
return metric | |
if metric.tags["sql_state_code"] == "55000": | |
metric.tags["sql_state_description"] = "object_not_in_prerequisite_state" | |
return metric | |
if metric.tags["sql_state_code"] == "55006": | |
metric.tags["sql_state_description"] = "object_in_use" | |
return metric | |
if metric.tags["sql_state_code"] == "55P02": | |
metric.tags["sql_state_description"] = "cant_change_runtime_param" | |
return metric | |
if metric.tags["sql_state_code"] == "55P03": | |
metric.tags["sql_state_description"] = "lock_not_available" | |
return metric | |
if metric.tags["sql_state_code"] == "55P04": | |
metric.tags["sql_state_description"] = "unsafe_new_enum_value_usage" | |
return metric | |
if metric.tags["sql_state_code"] == "57000": | |
metric.tags["sql_state_description"] = "operator_intervention" | |
return metric | |
if metric.tags["sql_state_code"] == "57014": | |
metric.tags["sql_state_description"] = "query_canceled" | |
return metric | |
if metric.tags["sql_state_code"] == "57P01": | |
metric.tags["sql_state_description"] = "admin_shutdown" | |
return metric | |
if metric.tags["sql_state_code"] == "57P02": | |
metric.tags["sql_state_description"] = "crash_shutdown" | |
return metric | |
if metric.tags["sql_state_code"] == "57P03": | |
metric.tags["sql_state_description"] = "cannot_connect_now" | |
return metric | |
if metric.tags["sql_state_code"] == "57P04": | |
metric.tags["sql_state_description"] = "database_dropped" | |
return metric | |
if metric.tags["sql_state_code"] == "57P05": | |
metric.tags["sql_state_description"] = "idle_session_timeout" | |
return metric | |
if metric.tags["sql_state_code"] == "58000": | |
metric.tags["sql_state_description"] = "system_error" | |
return metric | |
if metric.tags["sql_state_code"] == "58030": | |
metric.tags["sql_state_description"] = "io_error" | |
return metric | |
if metric.tags["sql_state_code"] == "58P01": | |
metric.tags["sql_state_description"] = "undefined_file" | |
return metric | |
if metric.tags["sql_state_code"] == "58P02": | |
metric.tags["sql_state_description"] = "duplicate_file" | |
return metric | |
if metric.tags["sql_state_code"] == "72000": | |
metric.tags["sql_state_description"] = "snapshot_too_old" | |
return metric | |
if metric.tags["sql_state_code"] == "F0000": | |
metric.tags["sql_state_description"] = "config_file_error" | |
return metric | |
if metric.tags["sql_state_code"] == "F0001": | |
metric.tags["sql_state_description"] = "lock_file_exists" | |
return metric | |
if metric.tags["sql_state_code"] == "HV000": | |
metric.tags["sql_state_description"] = "fdw_error" | |
return metric | |
if metric.tags["sql_state_code"] == "HV005": | |
metric.tags["sql_state_description"] = "fdw_column_name_not_found" | |
return metric | |
if metric.tags["sql_state_code"] == "HV002": | |
metric.tags["sql_state_description"] = "fdw_dynamic_parameter_value_needed" | |
return metric | |
if metric.tags["sql_state_code"] == "HV010": | |
metric.tags["sql_state_description"] = "fdw_function_sequence_error" | |
return metric | |
if metric.tags["sql_state_code"] == "HV021": | |
metric.tags["sql_state_description"] = "fdw_inconsistent_descriptor_information" | |
return metric | |
if metric.tags["sql_state_code"] == "HV024": | |
metric.tags["sql_state_description"] = "fdw_invalid_attribute_value" | |
return metric | |
if metric.tags["sql_state_code"] == "HV007": | |
metric.tags["sql_state_description"] = "fdw_invalid_column_name" | |
return metric | |
if metric.tags["sql_state_code"] == "HV008": | |
metric.tags["sql_state_description"] = "fdw_invalid_column_number" | |
return metric | |
if metric.tags["sql_state_code"] == "HV004": | |
metric.tags["sql_state_description"] = "fdw_invalid_data_type" | |
return metric | |
if metric.tags["sql_state_code"] == "HV006": | |
metric.tags["sql_state_description"] = "fdw_invalid_data_type_descriptors" | |
return metric | |
if metric.tags["sql_state_code"] == "HV091": | |
metric.tags["sql_state_description"] = "fdw_invalid_descriptor_field_identifier" | |
return metric | |
if metric.tags["sql_state_code"] == "HV00B": | |
metric.tags["sql_state_description"] = "fdw_invalid_handle" | |
return metric | |
if metric.tags["sql_state_code"] == "HV00C": | |
metric.tags["sql_state_description"] = "fdw_invalid_option_index" | |
return metric | |
if metric.tags["sql_state_code"] == "HV00D": | |
metric.tags["sql_state_description"] = "fdw_invalid_option_name" | |
return metric | |
if metric.tags["sql_state_code"] == "HV090": | |
metric.tags["sql_state_description"] = "fdw_invalid_string_length_or_buffer_length" | |
return metric | |
if metric.tags["sql_state_code"] == "HV00A": | |
metric.tags["sql_state_description"] = "fdw_invalid_string_format" | |
return metric | |
if metric.tags["sql_state_code"] == "HV009": | |
metric.tags["sql_state_description"] = "fdw_invalid_use_of_null_pointer" | |
return metric | |
if metric.tags["sql_state_code"] == "HV014": | |
metric.tags["sql_state_description"] = "fdw_too_many_handles" | |
return metric | |
if metric.tags["sql_state_code"] == "HV001": | |
metric.tags["sql_state_description"] = "fdw_out_of_memory" | |
return metric | |
if metric.tags["sql_state_code"] == "HV00P": | |
metric.tags["sql_state_description"] = "fdw_no_schemas" | |
return metric | |
if metric.tags["sql_state_code"] == "HV00J": | |
metric.tags["sql_state_description"] = "fdw_option_name_not_found" | |
return metric | |
if metric.tags["sql_state_code"] == "HV00K": | |
metric.tags["sql_state_description"] = "fdw_reply_handle" | |
return metric | |
if metric.tags["sql_state_code"] == "HV00Q": | |
metric.tags["sql_state_description"] = "fdw_schema_not_found" | |
return metric | |
if metric.tags["sql_state_code"] == "HV00R": | |
metric.tags["sql_state_description"] = "fdw_table_not_found" | |
return metric | |
if metric.tags["sql_state_code"] == "HV00L": | |
metric.tags["sql_state_description"] = "fdw_unable_to_create_execution" | |
return metric | |
if metric.tags["sql_state_code"] == "HV00M": | |
metric.tags["sql_state_description"] = "fdw_unable_to_create_reply" | |
return metric | |
if metric.tags["sql_state_code"] == "HV00N": | |
metric.tags["sql_state_description"] = "fdw_unable_to_establish_connection" | |
return metric | |
if metric.tags["sql_state_code"] == "P0000": | |
metric.tags["sql_state_description"] = "plpgsql_error" | |
return metric | |
if metric.tags["sql_state_code"] == "P0001": | |
metric.tags["sql_state_description"] = "raise_exception" | |
return metric | |
if metric.tags["sql_state_code"] == "P0002": | |
metric.tags["sql_state_description"] = "no_data_found" | |
return metric | |
if metric.tags["sql_state_code"] == "P0003": | |
metric.tags["sql_state_description"] = "too_many_rows" | |
return metric | |
if metric.tags["sql_state_code"] == "P0004": | |
metric.tags["sql_state_description"] = "assert_failure" | |
return metric | |
if metric.tags["sql_state_code"] == "XX000": | |
metric.tags["sql_state_description"] = "internal_error" | |
return metric | |
if metric.tags["sql_state_code"] == "XX001": | |
metric.tags["sql_state_description"] = "data_corrupted" | |
return metric | |
if metric.tags["sql_state_code"] == "XX002": | |
metric.tags["sql_state_description"] = "index_corrupted" | |
return metric | |
return metric | |
''' | |
# OUTPUT | |
# > postgres_sql_state_code,database_name=database,error_severity=WARNING,host=host.example.com,logfile=/var/lib/pgsql/14/data/log/postgres-14.csv,sql_state_code=01000,sql_state_description=warning value=1i 1659703821855444137 | |
# vi:ft=toml |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment