-
Global information
- Generated on Thu Apr 30 06:06:49 2026
- Log file: /var/log/postgresql/postgresql-2026-03-25_000000.csv, ..., /var/log/postgresql/postgresql-2026-04-30_000000.csv
- Parsed 388,890 log entries in 6m48s
- Log start from 2026-04-23 00:00:01 to 2026-04-23 23:59:03
-
Overview
Global Stats
- 287 Number of unique normalized queries
- 25,162 Number of queries
- 1d1h37m40s Total query duration
- 2026-04-23 00:00:01 First query
- 2026-04-23 23:59:01 Last query
- 97 queries/s at 2026-04-23 00:46:51 Query peak
- 1d1h37m40s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 1d1h37m40s Execute total duration
- 86 Number of events
- 12 Number of unique normalized events
- 23 Max number of times the same event was reported
- 0 Number of cancellation
- 149 Total number of automatic vacuums
- 299 Total number of automatic analyzes
- 1,183 Number temporary file
- 1002.53 MiB Max size of temporary file
- 70.58 MiB Average size of temporary file
- 38,590 Total number of sessions
- 11 sessions at 2026-04-23 16:28:01 Session peak
- 2h26m7s Total duration of sessions
- 227ms Average duration of sessions
- 0 Average queries per session
- 2s390ms Average queries duration per session
- 0ms Average idle time per session
- 38,590 Total number of connections
- 50 connections/s at 2026-04-23 13:33:10 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 97 queries/s Query Peak
- 2026-04-23 00:46:51 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-04-23 09:25:45 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 97 queries/s Query Peak
- 2026-04-23 00:46:51 Date
Queries duration
Key values
- 1d1h37m40s Total query duration
Prepared queries ratio
Key values
- 0.00 Ratio of bind vs prepare
- 0.00 % Ratio between prepared and "usual" statements
General Activity
↑ Back to the top of the General Activity tableDay Hour Count Min duration Max duration Avg duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 23 00 1,297 526ms 1m40s 3s911ms 1m17s 2m33s 12m59s 01 1,038 762ms 4s152ms 3s758ms 1m12s 1m14s 1m14s 02 1,033 3s849ms 4s145ms 3s958ms 1m11s 1m12s 1m14s 03 1,021 3s914ms 3s941ms 3s939ms 1m7s 1m7s 1m10s 04 1,020 3s941ms 3s941ms 3s941ms 1m7s 1m7s 1m7s 05 1,020 3s941ms 3s941ms 3s941ms 1m7s 1m7s 1m7s 06 1,038 561ms 3s941ms 1s429ms 1m7s 1m7s 1m8s 07 1,029 523ms 3s21ms 783ms 13s877ms 14s401ms 16s766ms 08 1,024 779ms 1s751ms 786ms 13s286ms 13s286ms 19s252ms 09 1,047 641ms 6s263ms 1s862ms 1m15s 1m46s 1m51s 10 1,038 582ms 5s804ms 2s298ms 1m14s 1m14s 1m18s 11 1,057 512ms 4s708ms 3s540ms 1m19s 1m19s 1m28s 12 1,043 607ms 3s931ms 3s203ms 1m6s 1m7s 1m10s 13 1,045 513ms 4s447ms 3s530ms 1m13s 1m15s 1m19s 14 1,031 758ms 4s221ms 2s532ms 1m10s 1m10s 1m10s 15 1,036 760ms 5s6ms 3s985ms 1m14s 1m25s 1m29s 16 1,081 678ms 17s927ms 3s685ms 1m15s 1m18s 2m49s 17 1,032 3s901ms 4s320ms 4s94ms 1m13s 1m15s 1m17s 18 1,039 704ms 4s502ms 3s775ms 1m14s 1m16s 1m20s 19 1,032 704ms 4s150ms 3s979ms 1m12s 1m13s 1m14s 20 1,046 505ms 7s763ms 4s78ms 2m10s 2m11s 2m20s 21 1,045 752ms 8s17ms 5s728ms 2m15s 2m18s 2m21s 22 1,032 7s519ms 8s32ms 7s753ms 2m20s 2m23s 2m24s 23 1,038 626ms 7s969ms 7s412ms 2m20s 2m22s 2m23s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 23 00 1 40 2s789ms 0ms 0ms 41s542ms 01 5 0 774ms 0ms 0ms 782ms 02 0 0 0ms 0ms 0ms 0ms 03 0 0 0ms 0ms 0ms 0ms 04 0 0 0ms 0ms 0ms 0ms 05 0 0 0ms 0ms 0ms 0ms 06 18 0 1s30ms 0ms 1s448ms 2s771ms 07 8 0 793ms 0ms 0ms 1s504ms 08 2 0 881ms 0ms 0ms 779ms 09 19 0 788ms 0ms 1s476ms 2s921ms 10 11 0 975ms 0ms 1s243ms 1s603ms 11 11 0 720ms 0ms 0ms 2s762ms 12 9 0 769ms 0ms 0ms 1s540ms 13 10 0 977ms 0ms 513ms 2s174ms 14 4 0 765ms 0ms 0ms 1s525ms 15 3 0 2s176ms 0ms 0ms 1s524ms 16 35 0 2s547ms 0ms 2s924ms 6s808ms 17 0 0 0ms 0ms 0ms 0ms 18 2 0 766ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 7 0 732ms 0ms 0ms 1s540ms 21 9 0 1s901ms 0ms 762ms 1s533ms 22 0 0 0ms 0ms 0ms 0ms 23 0 6 1s545ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 23 00 0 0 0 12 16s314ms 0ms 0ms 14s731ms 01 0 1 0 0 1s202ms 0ms 0ms 0ms 02 0 0 0 0 0ms 0ms 0ms 0ms 03 0 0 0 0 0ms 0ms 0ms 0ms 04 0 0 0 0 0ms 0ms 0ms 0ms 05 0 0 0 0 0ms 0ms 0ms 0ms 06 0 0 0 0 0ms 0ms 0ms 0ms 07 0 0 0 0 0ms 0ms 0ms 0ms 08 0 0 0 0 0ms 0ms 0ms 0ms 09 0 0 0 0 0ms 0ms 0ms 0ms 10 0 0 0 0 0ms 0ms 0ms 0ms 11 0 0 0 0 0ms 0ms 0ms 0ms 12 0 0 0 0 0ms 0ms 0ms 0ms 13 0 0 0 0 0ms 0ms 0ms 0ms 14 0 0 0 0 0ms 0ms 0ms 0ms 15 0 0 0 0 0ms 0ms 0ms 0ms 16 0 0 0 0 0ms 0ms 0ms 0ms 17 0 0 0 0 0ms 0ms 0ms 0ms 18 0 0 0 0 0ms 0ms 0ms 0ms 19 0 0 0 0 0ms 0ms 0ms 0ms 20 0 0 0 0 0ms 0ms 0ms 0ms 21 0 0 0 0 0ms 0ms 0ms 0ms 22 0 0 0 0 0ms 0ms 0ms 0ms 23 0 0 0 0 0ms 0ms 0ms 0ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare Apr 23 00 0 24 24.00 0.00% 01 0 12 12.00 0.00% 02 0 13 13.00 0.00% 03 0 1 1.00 0.00% 04 0 0 0.00 0.00% 05 0 0 0.00 0.00% 06 0 0 0.00 0.00% 07 0 0 0.00 0.00% 08 0 0 0.00 0.00% 09 0 7 7.00 0.00% 10 0 6 6.00 0.00% 11 0 24 24.00 0.00% 12 0 14 14.00 0.00% 13 0 12 12.00 0.00% 14 0 4 4.00 0.00% 15 0 12 12.00 0.00% 16 0 36 36.00 0.00% 17 0 12 12.00 0.00% 18 0 12 12.00 0.00% 19 0 12 12.00 0.00% 20 0 16 16.00 0.00% 21 0 13 13.00 0.00% 22 0 12 12.00 0.00% 23 0 12 12.00 0.00% Day Hour Count Average / Second Apr 23 00 1,903 0.53/s 01 1,432 0.40/s 02 1,025 0.28/s 03 577 0.16/s 04 544 0.15/s 05 613 0.17/s 06 983 0.27/s 07 1,668 0.46/s 08 929 0.26/s 09 2,626 0.73/s 10 3,637 1.01/s 11 2,642 0.73/s 12 2,384 0.66/s 13 2,605 0.72/s 14 1,600 0.44/s 15 1,757 0.49/s 16 2,879 0.80/s 17 947 0.26/s 18 1,295 0.36/s 19 1,019 0.28/s 20 1,836 0.51/s 21 1,800 0.50/s 22 946 0.26/s 23 943 0.26/s Day Hour Count Average Duration Average idle time Apr 23 00 1,903 915ms 0ms 01 1,432 177ms 0ms 02 1,025 219ms 0ms 03 577 226ms 0ms 04 544 228ms 0ms 05 613 212ms 0ms 06 983 215ms 0ms 07 1,668 167ms 0ms 08 929 180ms 0ms 09 2,626 145ms 0ms 10 3,637 130ms 0ms 11 2,642 163ms 0ms 12 2,384 174ms 0ms 13 2,605 189ms 0ms 14 1,600 166ms 0ms 15 1,757 180ms 0ms 16 2,879 234ms 0ms 17 947 220ms 0ms 18 1,295 220ms 0ms 19 1,019 211ms 0ms 20 1,836 206ms 0ms 21 1,800 238ms 0ms 22 946 270ms 0ms 23 943 288ms 0ms -
Connections
Established Connections
Key values
- 50 connections Connection Peak
- 2026-04-23 13:33:10 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 38,590 connections Total
Connections per user
Key values
- labanimal Main User
- 38,590 connections Total
-
Sessions
Simultaneous sessions
Key values
- 11 sessions Session Peak
- 2026-04-23 16:28:01 Date
Histogram of session times
Key values
- 35,695 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 38,590 sessions Total
Sessions per user
Key values
- labanimal Main User
- 38,590 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 38,590 sessions Total
Sessions per application
Key values
- Main Application
- 38,590 sessions Total
Application Count Total Duration Average Duration 31,443 2h3m 234ms _backend_cage_autocomplete_api.php_q_2025_limit_12_zemm_produkt 17 539ms 31ms _backend_cage_autocomplete_api.php_q_28-040_limit_12_zemm_produ 2 62ms 31ms _backend_cage_autocomplete_api.php_q_28-042_limit_12_zemm_produ 1 31ms 31ms _backend_cage_autocomplete_api.php_q_28-044_limit_12_zemm_produ 1 27ms 27ms _backend_cage_autocomplete_api.php_q_47-3257_limit_12_zemm_prod 1 32ms 32ms _backend_cage_autocomplete_api.php_q_47-325_C2_B47_limit_12_zem 1 27ms 27ms _backend_cage_autocomplete_api.php_q_47-325_limit_12_zemm_produ 4 126ms 31ms _backend_cage_autocomplete_api.php_q_47-326_limit_12_zemm_produ 2 56ms 28ms _backend_cage_autocomplete_api.php_q_47-327_limit_12_zemm_produ 1 32ms 32ms _backend_cage_autocomplete_api.php_q_47-328_limit_12_zemm_produ 1 26ms 26ms _backend_cage_autocomplete_api.php_q_47-32_limit_12_zemm_produk 3 77ms 25ms _backend_cage_autocomplete_api.php_q_48-0078_limit_12_zemm_prod 4 103ms 25ms _backend_cage_autocomplete_api.php_q_48-007_C2_B48_limit_12_zem 1 27ms 27ms _backend_cage_autocomplete_api.php_q_48-007_limit_12_zemm_produ 2 60ms 30ms _backend_cage_autocomplete_api.php_q_48-029_limit_12_zemm_produ 2 59ms 29ms _backend_cage_autocomplete_api.php_q_48-040_limit_12_zemm_produ 1 27ms 27ms _backend_cage_autocomplete_api.php_q_48-041_limit_12_zemm_produ 2 51ms 25ms _backend_cage_autocomplete_api.php_q_48-0_limit_12_zemm_produkt 2 60ms 30ms _backend_cage_autocomplete_api.php_q_48-320_limit_12_zemm_produ 1 29ms 29ms _backend_cage_autocomplete_api.php_q_48-321_limit_12_zemm_produ 5 143ms 28ms _backend_cage_autocomplete_api.php_q_48-32_limit_12_zemm_produk 1 33ms 33ms _backend_cage_autocomplete_api.php_q_52-065_limit_12_zemm_produ 1 25ms 25ms _backend_cage_autocomplete_api.php_q_52-066_limit_12_zemm_produ 7 200ms 28ms _backend_cage_autocomplete_api.php_q_52-067_limit_12_zemm_produ 16 465ms 29ms _backend_cage_autocomplete_api.php_q_52-068_limit_12_zemm_produ 1 30ms 30ms _backend_cage_autocomplete_api.php_q_52-069_limit_12_zemm_produ 1 28ms 28ms _backend_cage_autocomplete_api.php_q_52-06_limit_12_zemm_produk 3 85ms 28ms _backend_cage_autocomplete_api.php_q_52-077_limit_12_zemm_produ 1 28ms 28ms _backend_cage_autocomplete_api.php_q_52-088_limit_12_zemm_produ 1 23ms 23ms _backend_cage_autocomplete_api.php_q_52-0_limit_12_zemm_produkt 2 74ms 37ms _backend_cage_autocomplete_api.php_q_55-065_limit_12_zemm_produ 2 65ms 32ms _backend_cage_autocomplete_api.php_q_Kadavertruhe_limit_12_zemm 15 595ms 39ms _backend_cage_autocomplete_api.php_q__limit_12_zemm_produktiv_7 2 56ms 28ms _backend_readyz.php_zemm_produktiv_7_localhost_5432 6 158ms 26ms _backend_wean_api.php_litter_id_10130227_zemm_produktiv_7_local 85 12s415ms 146ms _backend_wean_api.php_litter_id_10130236_zemm_produktiv_7_local 85 13s38ms 153ms _backend_wean_api.php_litter_id_10130257_zemm_produktiv_7_local 102 15s210ms 149ms _backend_wean_api.php_litter_id_10132273_zemm_produktiv_7_local 1 138ms 138ms _backend_wean_api.php_litter_id_10132281_zemm_produktiv_7_local 2 274ms 137ms _backend_wean_api.php_litter_id_10132291_zemm_produktiv_7_local 17 2s420ms 142ms _backend_wean_api.php_litter_id_10132299_zemm_produktiv_7_local 1 142ms 142ms _backend_wean_api.php_litter_id_10132300_zemm_produktiv_7_local 15 2s140ms 142ms _backend_wean_api.php_litter_id_10132301_zemm_produktiv_7_local 2 279ms 139ms _backend_wean_api.php_litter_id_10132306_zemm_produktiv_7_local 2 290ms 145ms _backend_wean_api.php_litter_id_10132310_zemm_produktiv_7_local 1 141ms 141ms _backend_wean_api.php_litter_id_10132315_zemm_produktiv_7_local 3 419ms 139ms _backend_wean_api.php_litter_id_10132317_zemm_produktiv_7_local 6 877ms 146ms _backend_wean_api.php_litter_id_10132319_zemm_produktiv_7_local 13 1s865ms 143ms _backend_wean_api.php_litter_id_10132321_zemm_produktiv_7_local 15 2s77ms 138ms _backend_wean_api.php_zemm_produktiv_7_localhost_5432 38 20s697ms 544ms _desktop__view_animal_name_on_animal_name__view_animal_id_on_an 1 41ms 41ms _desktop__zemm_produktiv_7_localhost_5432 49 5s449ms 111ms _desktop__zemm_produktiv_8_localhost_5432 11 718ms 65ms _desktop_index.php_animal_name_9_animal_id_2025_2F001_2F7463_sp 1 68ms 68ms _desktop_index.php_cage_name_51-303_current_only_true_val4_anim 1 83ms 83ms _desktop_index.php_cage_name_51-519_cage_type_9_cage_location_5 2 93ms 46ms _desktop_index.php_cage_name_63-316_breeding_date_2026-04-08_un 2 786ms 393ms _desktop_index.php_command_animals_breedings_subcommand_add_bre 2 90ms 45ms _desktop_index.php_command_animals_breedings_subcommand_select_ 17 948ms 55ms _desktop_index.php_command_animals_create_subcommand_init_zemm_ 17 1s177ms 69ms _desktop_index.php_command_animals_edit_subcommand_init_id_1028 1 96ms 96ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 1 79ms 79ms _desktop_index.php_command_animals_edit_subcommand_init_id_6000 1 121ms 121ms _desktop_index.php_command_animals_edit_subcommand_link_init_va 17 1s930ms 113ms _desktop_index.php_command_animals_edit_subcommand_m_init_scree 17 2s426ms 142ms _desktop_index.php_command_animals_litters_edit_subcommand_foun 1 101ms 101ms _desktop_index.php_command_animals_litters_edit_subcommand_init 17 1s987ms 116ms _desktop_index.php_command_animals_litters_edit_subcommand_m_in 17 5s715ms 336ms _desktop_index.php_command_animals_litters_subcommand_select_ze 17 916ms 53ms _desktop_index.php_command_animals_subcommand_found_val1_101001 4 180ms 45ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 43 1s933ms 44ms _desktop_index.php_command_animals_subcommand_select_zemm_produ 17 1s329ms 78ms _desktop_index.php_command_cages_subcommand_init_zemm_produktiv 2 85ms 42ms _desktop_index.php_command_facility_subcommand_init_zemm_produk 1 73ms 73ms _desktop_index.php_command_home_subcommand_init_zemm_produktiv_ 3 358ms 119ms _desktop_index.php_command_import_dashboard_subcommand_admin_ov 1 69ms 69ms _desktop_index.php_command_import_dashboard_subcommand_confirm_ 1 91ms 91ms _desktop_index.php_command_import_dashboard_subcommand_conflict 2 125ms 62ms _desktop_index.php_command_import_dashboard_subcommand_create_r 1 63ms 63ms _desktop_index.php_command_import_dashboard_subcommand_init_zem 9 714ms 79ms _desktop_index.php_command_import_dashboard_subcommand_select_s 1 65ms 65ms _desktop_index.php_command_import_dashboard_subcommand_source_f 2 141ms 70ms _desktop_index.php_command_import_dashboard_subcommand_submit_i 1 46ms 46ms _desktop_index.php_command_import_dashboard_subcommand_view_run 31 2s92ms 67ms _desktop_index.php_command_import_dashboard_zemm_produktiv_7_lo 5 307ms 61ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,803 57s146ms 31ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 1 135ms 135ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 5 618ms 123ms _desktop_index.php_command_reports_subcommand_annual_reports_ze 3 208ms 69ms _desktop_index.php_command_reports_subcommand_authority_meldung 2 143ms 71ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 19 2s313ms 121ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 41 32s53ms 781ms _desktop_index.php_command_reports_subcommand_select_zemm_produ 1 831ms 831ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 2 220ms 110ms _desktop_index.php_command_strains_subcommand_view_id_1443_zemm 1 49ms 49ms _desktop_index.php_command_tasks_subcommand_create_task_id_47_z 1 56ms 56ms _desktop_index.php_command_tasks_subcommand_edit_id_10134267_ze 17 1s547ms 91ms _desktop_index.php_command_tasks_subcommand_edit_id_10140264_ze 1 89ms 89ms _desktop_index.php_command_tasks_subcommand_edit_id_10142183_ze 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10142199_ze 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10142307_ze 1 88ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10142354_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142406_ze 1 82ms 82ms _desktop_index.php_command_tasks_subcommand_edit_id_10142410_ze 2 171ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10142430_ze 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10142435_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10142441_ze 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10142484_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142508_ze 1 79ms 79ms _desktop_index.php_command_tasks_subcommand_edit_id_10142523_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_86655_zemm_ 1 112ms 112ms _desktop_index.php_command_tasks_subcommand_edit_id_90304_zemm_ 1 122ms 122ms _desktop_index.php_command_tasks_subcommand_found_val1_10100176 1 46ms 46ms _desktop_index.php_command_tasks_subcommand_init_search_zemm_pr 17 871ms 51ms _desktop_index.php_command_tasks_subcommand_init_zemm_produktiv 4 334ms 83ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_id_10 2 166ms 83ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_id_79 1 96ms 96ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_zemm_ 7 609ms 87ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 100 9s64ms 90ms _desktop_index.php_command_tasks_subcommand_overview_zemm_produ 26 9s160ms 352ms _desktop_index.php_command_tasks_subcommand_search_zemm_produkt 2 88ms 44ms _desktop_index.php_command_tasks_subcommand_select_zemm_produkt 1 40ms 40ms _desktop_index.php_m_action_animals_edit_3Alink_init_row_animal 1 45ms 45ms _desktop_index.php_m_action_animals_litters_edit_3Am_init_val4_ 3 114ms 38ms _desktop_index.php_name_Abt_C3_B6ten_20alter_20Zuchtpaare_instr 1 45ms 45ms _desktop_index.php_name_Abt_C3_B6ten_20v._20Tieren_20ohne_20Ver 1 47ms 47ms _desktop_index.php_name_Genotypisierungsprobe_2C_20meldepflicht 1 45ms 45ms _desktop_index.php_name_Tiertransport_20durch_20das_20ZEMM_20-_ 2 121ms 60ms _desktop_index.php_name_Verpaarungen_20zur_20Zucht_instructions 2 120ms 60ms _desktop_index.php_search_id_10142183_search_status__25_no_subt 1 124ms 124ms _desktop_index.php_sire_name_Z_dam_name_Z_sire_id_2025_2F002_2F 1 147ms 147ms _desktop_index.php_unweaned_only_true_val4_animals_litters_sear 1 141ms 141ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 1 293ms 293ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 23 15s709ms 683ms _desktop_index.php_zemm_produktiv_7_localhost_5432 514 1m59s 231ms _desktop_index.php_zemm_produktiv_8_localhost_5432 3,323 10m35s 191ms _desktop_scoresheets.php_controller_scoresheet_charts_scoreshee 1 57ms 57ms _desktop_scoresheets.php_controller_scoresheet_edit_scoresheet_ 3 150ms 50ms _desktop_scoresheets.php_controller_scoresheets_status_copied_z 1 47ms 47ms _desktop_scoresheets.php_controller_scoresheets_status_deleted_ 1 59ms 59ms _desktop_scoresheets.php_zemm_produktiv_7_localhost_5432 7 437ms 62ms backend:zemm_produktiv_7@localhost 1 3s150ms 3s150ms backend:zemm_produktiv_8@localhost 65 3s916ms 60ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s222ms 1s222ms pg_dump 11 2m29s 13s580ms pg_restore 4 3m25s 51s373ms psql 216 13s20ms 60ms taskscron:zemm_produktiv_7@zemm.fbiscience.eu 24 1s175ms 48ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 10s637ms 443ms zemm_produktiv_7_localhost_5432 23 3s249ms 141ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 117,881 buffers Checkpoint Peak
- 2026-04-23 00:46:47 Date
- 270.014 seconds Highest write time
- 1.161 seconds Sync time
Checkpoints Wal files
Key values
- 134 files Wal files usage Peak
- 2026-04-23 00:51:21 Date
Checkpoints distance
Key values
- 4,372.88 Mo Distance Peak
- 2026-04-23 00:46:47 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Apr 23 00 360,480 1,354.366s 1.439s 1,356.568s 01 22,986 648.349s 0.137s 648.708s 02 3,106 311.577s 0.119s 312.091s 03 2,845 285.34s 0.092s 285.498s 04 2,701 271.316s 0.098s 271.477s 05 2,908 291.66s 0.103s 291.816s 06 3,764 377.375s 0.169s 377.603s 07 17,645 684.923s 0.244s 685.253s 08 29,489 837.342s 0.159s 837.646s 09 12,523 705.749s 0.213s 706.039s 10 23,289 1,253.892s 0.303s 1,254.453s 11 5,989 600.546s 0.856s 601.55s 12 24,164 1,025.586s 0.21s 1,025.927s 13 29,610 1,040.166s 0.238s 1,040.604s 14 9,183 919.206s 0.395s 919.721s 15 5,966 597.406s 0.175s 597.644s 16 11,496 838.987s 0.2s 839.254s 17 4,638 464.496s 0.107s 464.666s 18 4,421 444.763s 1.104s 446.107s 19 3,761 377.938s 0.091s 378.09s 20 5,193 521.01s 0.801s 521.997s 21 5,811 583.159s 0.38s 583.608s 22 4,984 499.536s 0.089s 499.681s 23 5,099 510.459s 0.088s 510.611s Day Hour Added Removed Recycled Synced files Longest sync Average sync Apr 23 00 0 4 353 1,905 0.309s 0.015s 01 0 7 0 647 0.002s 0.012s 02 0 1 0 475 0.003s 0.012s 03 0 1 0 401 0.002s 0.012s 04 0 1 0 388 0.005s 0.012s 05 0 1 0 431 0.002s 0.012s 06 0 1 0 922 0.002s 0.012s 07 0 6 0 1,219 0.005s 0.011s 08 0 11 0 864 0.002s 0.013s 09 0 3 0 1,176 0.002s 0.012s 10 0 6 0 1,752 0.003s 0.012s 11 0 2 0 1,239 0.155s 0.016s 12 0 12 0 1,203 0.003s 0.012s 13 0 9 0 1,323 0.004s 0.011s 14 0 3 0 1,073 0.046s 0.016s 15 0 2 0 918 0.003s 0.012s 16 0 2 0 1,110 0.003s 0.012s 17 0 2 0 548 0.002s 0.012s 18 0 1 0 579 0.159s 0.04s 19 0 1 0 465 0.001s 0.012s 20 0 1 0 651 0.075s 0.021s 21 0 2 0 712 0.042s 0.014s 22 0 1 0 439 0.004s 0.012s 23 0 1 0 455 0.001s 0.012s Day Hour Count Avg time (sec) Apr 23 00 0 0s 01 0 0s 02 0 0s 03 0 0s 04 0 0s 05 0 0s 06 0 0s 07 0 0s 08 0 0s 09 0 0s 10 0 0s 11 0 0s 12 0 0s 13 0 0s 14 0 0s 15 0 0s 16 0 0s 17 0 0s 18 0 0s 19 0 0s 20 0 0s 21 0 0s 22 0 0s 23 0 0s Day Hour Mean distance Mean estimate Apr 23 00 450,025.08 kB 971,086.38 kB 01 9,697.58 kB 1,003,111.33 kB 02 1,264.33 kB 286,305.67 kB 03 1,252.67 kB 81,776.83 kB 04 1,213.50 kB 23,971.25 kB 05 1,240.83 kB 7,659.58 kB 06 1,522.58 kB 3,187.92 kB 07 8,793.73 kB 38,064.27 kB 08 14,585.15 kB 66,175.92 kB 09 4,064.83 kB 32,278.08 kB 10 8,227.42 kB 36,424.92 kB 11 2,266.42 kB 12,338.83 kB 12 16,439.50 kB 56,059.33 kB 13 12,709.36 kB 42,515.82 kB 14 4,653.31 kB 25,307.62 kB 15 2,112.17 kB 8,462.75 kB 16 3,515.83 kB 9,922.50 kB 17 1,656.92 kB 5,673.42 kB 18 1,627.75 kB 2,892.83 kB 19 1,361.00 kB 2,403.08 kB 20 1,897.83 kB 2,708.58 kB 21 2,223.00 kB 3,326.83 kB 22 1,675.00 kB 2,154.58 kB 23 1,708.83 kB 2,106.08 kB -
Temporary Files
Size of temporary files
Key values
- 1.99 GiB Temp Files size Peak
- 2026-04-23 16:28:44 Date
Number of temporary files
Key values
- 7 per second Temp Files Peak
- 2026-04-23 16:28:44 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Apr 23 00 120 6.83 GiB 58.30 MiB 01 60 3.42 GiB 58.35 MiB 02 65 3.71 GiB 58.39 MiB 03 5 292.05 MiB 58.41 MiB 04 0 0 0 05 0 0 0 06 0 0 0 07 0 0 0 08 0 0 0 09 35 2.01 GiB 58.69 MiB 10 30 1.72 GiB 58.73 MiB 11 118 6.29 GiB 54.57 MiB 12 70 3.43 GiB 50.17 MiB 13 60 3.39 GiB 57.93 MiB 14 20 1.15 GiB 59.05 MiB 15 60 3.47 GiB 59.14 MiB 16 95 10.42 GiB 112.33 MiB 17 60 3.47 GiB 59.23 MiB 18 60 3.46 GiB 59.07 MiB 19 60 3.46 GiB 59.10 MiB 20 80 6.10 GiB 78.03 MiB 21 65 6.64 GiB 104.60 MiB 22 60 6.14 GiB 104.87 MiB 23 60 6.15 GiB 104.95 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 942 61.75 GiB 44.84 MiB 433.08 MiB 67.13 MiB with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-03-24 16:27:57+01' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:27:57+01' AND '2026-04-23 16:27:57+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:27:57+01' AND '2026-04-23 16:27:57+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-23 16:28:15 Duration: 17s927ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-03-24 16:28:30+01' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:28:30+01' AND '2026-04-23 16:28:30+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:28:30+01' AND '2026-04-23 16:28:30+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-23 16:28:44 Duration: 13s387ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at <= '2026-04-23 21:48:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at BETWEEN '2026-04-23 21:48:22+02' AND '2026-04-23 22:48:22+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at BETWEEN '2026-04-23 21:48:22+02' AND '2026-04-23 22:48:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-23 22:48:30 Duration: 8s32ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Queries generating the largest temporary files
Rank Size Query 1 433.08 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-23 16:28:15 - Queryid: 692757 ]
2 413.13 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-23 16:28:44 - Queryid: 693262 ]
3 374.71 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-23 16:28:15 - Queryid: 692757 ]
4 370.85 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-23 16:28:15 - Queryid: 692757 ]
5 343.23 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-23 16:28:44 - Queryid: 693262 ]
6 336.29 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-23 16:28:44 - Queryid: 693262 ]
7 335.07 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-23 16:28:44 - Queryid: 693262 ]
8 316.27 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-23 16:28:15 - Queryid: 692757 ]
9 118.48 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-23 22:43:29 - Queryid: 912411 ]
10 112.98 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-23 23:18:30 - Queryid: 924674 ]
11 112.73 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-23 23:28:30 - Queryid: 927972 ]
12 112.70 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-23 22:53:29 - Queryid: 915846 ]
13 112.52 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-23 23:43:30 - Queryid: 932897 ]
14 111.46 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-23 21:28:26 - Queryid: 884893 ]
15 111.38 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-23 21:03:25 - Queryid: 849968 ]
16 111.32 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-23 22:53:29 - Queryid: 915846 ]
17 111.23 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-23 22:33:29 - Queryid: 908564 ]
18 111.09 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-23 22:13:29 - Queryid: 901465 ]
19 110.77 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-23 20:38:12 - Queryid: 820881 ]
20 110.64 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($4, $5) AND collected_at BETWEEN $6 AND $7 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($8, $9) AND collected_at BETWEEN $10 AND $11 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $12 OFFSET $13;[ Date: 2026-04-23 23:23:30 - Queryid: 926437 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 13.14 sec Highest CPU-cost vacuum
Table public.diary
Database zemm_produktiv_7 - 2026-04-23 00:47:43 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_produktiv_7 - Date
Average Autovacuum Duration
Key values
- 13.14 sec Highest CPU-cost vacuum
Table public.diary
Database zemm_produktiv_7 - 2026-04-23 00:47:43 Date
Analyzes per table
Key values
- pg_catalog.pg_type (58) Main table analyzed (database zemm_produktiv_8)
- 299 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 58 zemm_produktiv_8.pg_catalog.pg_attribute 41 zemm_produktiv_8.pg_catalog.pg_class 30 zemm_produktiv_8.pg_catalog.pg_depend 27 zemm_produktiv_7.public.login_tracker 14 zemm_produktiv_8.public.breedingssires 14 zemm_produktiv_8.public.breedingsdams 14 zemm_produktiv_7.pg_catalog.pg_class 4 zemm_monitoring.observability.metrics_timeseries 3 zemm_produktiv_8.public.tmptasks 3 zemm_produktiv_7.pg_catalog.pg_type 3 zemm_produktiv_7.public.animals_search_mview 2 zemm_produktiv_7.public.cages_search_mview 2 zemm_produktiv_7.public.diary 2 zemm_produktiv_7.public.cages 2 zemm_produktiv_7.public.choice 2 zemm_produktiv_7.public.users 2 zemm_produktiv_7.public.animals 2 zemm_produktiv_7.public.targetgroups 2 zemm_produktiv_7.pg_catalog.pg_attribute 2 zemm_produktiv_7.public.fem_numbers 2 zemm_produktiv_7.public.import_column_mappings 2 zemm_produktiv_7.public.genes 2 zemm_produktiv_8.public.cages_search_mview 2 fbi_unire.pg_catalog.pg_shdepend 2 zemm_produktiv_7.public.cost_history 2 zemm_produktiv_7.public.litters_search_mview 2 postgres.pg_catalog.pg_shdepend 2 zemm_produktiv_7.public.targetgroupMembers 2 zemm_produktiv_8.public.cost_history 2 zemm_test_3.pg_catalog.pg_shdepend 2 zemm_produktiv_7.public.litters 2 zemm_produktiv_7.public.strains 1 zemm_produktiv_7.pg_catalog.pg_depend 1 zemm_produktiv_7.public.user_ui_prefs 1 zemm_produktiv_7.public.monitoring_session_activity 1 zemm_produktiv_7.public.task_templates 1 zemm_monitoring.observability.db_top_queries 1 zemm_produktiv_7.public.services 1 zemm_monitoring.observability.system_metrics 1 zemm_produktiv_7.public.groupMembers 1 zemm_produktiv_7.public.licenses 1 zemm_produktiv_7.pg_catalog.pg_shdepend 1 template0.pg_catalog.pg_shdepend 1 zemm_produktiv_7.public.scoresheet_answer 1 zemm_produktiv_7.public.taskattachment 1 zemm_produktiv_7.public.documents 1 zemm_produktiv_7.public.import_staging_rows 1 zemm_produktiv_7.public.animals_tasks 1 zemm_produktiv_7.public.tasks_changes 1 zemm_produktiv_7.public.stresslevel_response 1 zemm_produktiv_7.public.breedingssires 1 zemm_produktiv_7.public.affiliation 1 zemm_produktiv_7.public.sys_actions 1 zemm_produktiv_7.public.litter_history 1 zemm_produktiv_7.public.question 1 zemm_produktiv_8.public.login_tracker 1 zemm_monitoring.observability.uptime_checks 1 zemm_produktiv_7.public.sys_screens 1 zemm_produktiv_7.public.scoresheet_diary 1 zemm_monitoring.observability.app_events 1 zemm_produktiv_8.public.cages 1 zemm_produktiv_7.public.breedingsdams 1 template1.pg_catalog.pg_shdepend 1 zemm_produktiv_7.public.breedings 1 zemm_produktiv_7.public.tasks 1 zemm_produktiv_8.public.users 1 zemm_produktiv_7.public.locations 1 zemm_produktiv_7.public.groups 1 zemm_produktiv_8.public.tasks 1 zemm_produktiv_7.public.license_history 1 zemm_produktiv_7.public.import_runs 1 zemm_produktiv_7.public.roles_users 1 labanimal.pg_catalog.pg_shdepend 1 zemm_produktiv_7.public.stress_levels 1 zemm_produktiv_8.public.monitoring_session_activity 1 zemm_produktiv_7.public.scoresheet_response 1 zemm_produktiv_7.public.tmptasks 1 Total 299 Vacuums per table
Key values
- pg_catalog.pg_type (20) Main table vacuumed on database zemm_produktiv_8
- 149 vacuums Total
Index Buffer usage Skipped WAL usage Frozen Table Vacuums scans hits misses dirtied pins frozen records full page bytes pages tuples zemm_produktiv_8.pg_catalog.pg_type 20 20 0 0 0 0 0 1,034 248 231,994 0 0 zemm_produktiv_8.public.breedingssires 14 0 0 0 0 0 0 2,072 201 631,688 0 0 zemm_produktiv_8.public.breedingsdams 14 0 0 0 0 0 0 2,786 252 849,642 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 14 14 0 0 0 0 0 1,834 616 403,766 0 0 zemm_produktiv_8.pg_catalog.pg_class 9 9 0 0 0 0 0 888 281 333,734 2 2 zemm_produktiv_8.pg_catalog.pg_depend 7 7 0 0 0 0 0 871 247 298,843 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 0 0 0 0 0 755 181 952,492 36 117 fbi_unibi.pg_catalog.pg_shdepend 4 4 0 0 0 0 0 361 125 218,270 0 0 zemm_monitoring.pg_toast.pg_toast_67431 4 0 0 0 0 0 0 3,754 1,261 2,868,958 1,241 7,446 zemm_produktiv_7.public.cages 3 1 0 0 0 0 0 2,163 187 1,024,414 180 13,882 zemm_produktiv_7.public.targetgroups 3 1 0 0 0 0 0 162,156 16,202 71,304,794 2,298 325,624 zemm_produktiv_7.public.animals 3 1 0 0 0 0 0 117,249 16,010 62,192,535 16,006 608,929 zemm_produktiv_7.public.diary 2 0 0 0 0 0 0 95,568 31,857 68,992,075 31,855 2,231,287 zemm_produktiv_7.public.animals_search_mview 2 0 0 0 0 0 0 65,179 23,059 101,375,720 21,060 556,281 zemm_produktiv_7.public.cages_search_mview 2 0 0 0 0 0 0 211 208 719,489 0 0 zemm_produktiv_7.public.fem_numbers 2 0 0 0 0 0 0 3,093 1,032 2,885,197 1,030 123,595 zemm_produktiv_7.pg_catalog.pg_class 2 2 0 0 0 0 0 166 13 33,641 0 0 zemm_produktiv_7.public.litters 2 0 0 0 0 0 0 3,255 1,086 4,568,867 1,084 94,083 zemm_produktiv_7.public.scoresheet_response 2 0 0 0 0 0 0 17 8 14,910 4 555 zemm_produktiv_7.public.targetgroupMembers 2 0 0 0 0 0 0 127,035 42,347 151,413,510 42,344 6,647,931 zemm_produktiv_7.public.cost_history 2 0 0 0 0 0 0 28,185 9,397 26,237,557 9,394 729,390 zemm_produktiv_7.public.litters_search_mview 2 0 0 0 0 0 0 3,434 2,505 10,904,382 464 17,649 zemm_produktiv_7.public.roles_users 2 0 0 0 0 0 0 17 8 13,516 4 552 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 0 0 0 0 0 206 66 221,219 33 102 zemm_produktiv_7.public.users 1 0 0 0 0 0 0 182 65 213,766 58 756 zemm_produktiv_7.pg_toast.pg_toast_2619 1 1 0 0 0 0 0 261 8 39,556 1 5 zemm_produktiv_7.public.licenses 1 0 0 0 0 0 0 59 23 94,890 17 638 zemm_produktiv_7.public.groupMembers 1 0 0 0 0 0 0 19 9 16,315 5 767 zemm_produktiv_7.public.user_ui_prefs 1 1 0 0 0 0 0 34 7 9,721 0 0 zemm_monitoring.pg_toast.pg_toast_2619 1 1 0 0 0 0 0 100 19 103,919 6 21 zemm_monitoring.observability.metrics_timeseries 1 1 0 0 0 0 0 13,625 6,146 14,729,939 1,231 23,987 zemm_produktiv_7.public.strains 1 0 0 0 0 0 0 167 59 259,481 53 2,269 zemm_produktiv_7.public.breedingssires 1 0 0 0 0 0 0 438 149 568,301 143 22,451 zemm_produktiv_7.public.import_column_mappings 1 1 0 0 0 0 0 9 5 3,808 0 0 zemm_produktiv_7.pg_catalog.pg_attribute 1 1 0 0 0 0 0 188 77 95,676 0 0 zemm_produktiv_7.public.tasks_changes 1 0 0 0 0 0 0 7,447 3,815 11,814,947 1,816 168,887 zemm_produktiv_7.public.stresslevel_response 1 0 0 0 0 0 0 32 14 27,207 8 1,663 zemm_produktiv_7.public.taskattachment 1 0 0 0 0 0 0 296 295 1,205,706 0 0 zemm_produktiv_7.public.scoresheet_answer 1 0 0 0 0 0 0 92 34 93,408 28 3,387 zemm_produktiv_7.public.breedingsdams 1 0 0 0 0 0 0 591 200 771,280 194 30,458 zemm_produktiv_7.public.scoresheet_diary 1 0 0 0 0 0 0 22 10 24,891 6 1,057 zemm_produktiv_7.public.litter_history 1 0 0 0 0 0 0 5,045 1,683 5,714,576 1,681 182,045 zemm_produktiv_7.public.login_tracker 1 0 0 0 0 0 0 1 0 311 0 0 zemm_produktiv_7.public.tmptasks 1 0 0 0 0 0 0 104 102 276,024 0 0 zemm_produktiv_7.pg_catalog.pg_type 1 1 0 0 0 0 0 41 13 14,140 0 0 zemm_produktiv_7.pg_catalog.pg_statistic 1 1 0 0 0 0 0 321 4 29,719 0 0 zemm_produktiv_7.public.license_history 1 0 0 0 0 0 0 512 175 555,188 168 22,793 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 47,325 42 3,522,699 3 3 zemm_produktiv_7.public.locations 1 1 0 0 0 0 0 23 3 4,606 0 0 zemm_produktiv_7.public.breedings 1 0 0 0 0 0 0 665 225 974,525 219 22,570 zemm_produktiv_7.public.tasks 1 0 0 0 0 0 0 22,008 8,664 27,676,131 6,672 43,924 Total 149 74 0 0 0 0 0 721,896 169,243 577,531,943 139,344 11,885,106 Vacuum throughput per table
Key values
- public.diary (13.14) Max CPU elapsed for vacuum on database zemm_produktiv_7
- public.animals (43.617 ms) Max I/O read time for vacuum on database zemm_produktiv_7
- public.targetgroups (106.35 ms) Max I/O write time for vacuum on database zemm_produktiv_7
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 3.06 0 0 zemm_produktiv_8.public.breedingssires 0 0.343 0 zemm_produktiv_8.public.breedingsdams 0 0.23 0 zemm_produktiv_8.pg_catalog.pg_attribute 4.261 0 0.15 zemm_produktiv_8.pg_catalog.pg_class 3.704 0 0.03 zemm_produktiv_8.pg_catalog.pg_depend 3.04 0 0.06 zemm_produktiv_8.pg_toast.pg_toast_2619 2.764 0 0.04 fbi_unibi.pg_catalog.pg_shdepend 3.088 0 0.03 zemm_monitoring.pg_toast.pg_toast_67431 9.74 0.24 0.32 zemm_produktiv_7.public.cages 0.082 0.054 0.09 zemm_produktiv_7.public.targetgroups 33.078 106.35 11.35 zemm_produktiv_7.public.animals 43.617 93.203 11.75 zemm_produktiv_7.public.diary 0.021 0.016 13.14 zemm_produktiv_7.public.animals_search_mview 8.12 100.987 11.32 zemm_produktiv_7.public.cages_search_mview 0.059 0.015 0.01 zemm_produktiv_7.public.fem_numbers 0.03 0.016 0.25 zemm_produktiv_7.pg_catalog.pg_class 0.188 0 0 zemm_produktiv_7.public.litters 0.02 0.018 0.28 zemm_produktiv_7.public.scoresheet_response 0.011 0.011 0 zemm_produktiv_7.public.targetgroupMembers 0.036 0.051 10.83 zemm_produktiv_7.public.cost_history 0.021 0.015 2.32 zemm_produktiv_7.public.litters_search_mview 0.232 0.671 0.24 zemm_produktiv_7.public.roles_users 0.012 0.016 0 zemm_produktiv_8.pg_catalog.pg_statistic 0.195 0 0.01 zemm_produktiv_7.public.users 0 0.013 0.01 zemm_produktiv_7.pg_toast.pg_toast_2619 0.245 0 0.01 zemm_produktiv_7.public.licenses 0 0.025 0.01 zemm_produktiv_7.public.groupMembers 0 0.03 0 zemm_produktiv_7.public.user_ui_prefs 0 0.05 0 zemm_monitoring.pg_toast.pg_toast_2619 1.693 0 0 zemm_monitoring.observability.metrics_timeseries 31.677 7.027 2.05 zemm_produktiv_7.public.strains 0 0.011 0.01 zemm_produktiv_7.public.breedingssires 0 0.021 0.04 zemm_produktiv_7.public.import_column_mappings 0 0.049 0 zemm_produktiv_7.pg_catalog.pg_attribute 1.501 0 0.02 zemm_produktiv_7.public.tasks_changes 0.631 6.969 0.58 zemm_produktiv_7.public.stresslevel_response 0 0.014 0 zemm_produktiv_7.public.taskattachment 0 0.016 0.01 zemm_produktiv_7.public.scoresheet_answer 0 0.021 0.01 zemm_produktiv_7.public.breedingsdams 0 0.015 0.05 zemm_produktiv_7.public.scoresheet_diary 0 0.015 0 zemm_produktiv_7.public.litter_history 0 0.019 0.42 zemm_produktiv_7.public.login_tracker 0.062 0 0 zemm_produktiv_7.public.tmptasks 0 0.016 0 zemm_produktiv_7.pg_catalog.pg_type 0.681 0 0 zemm_produktiv_7.pg_catalog.pg_statistic 0.047 0 0 zemm_produktiv_7.public.license_history 0 0.019 0.05 zemm_produktiv_8.public.tasks 0.18 0 0.61 zemm_produktiv_7.public.locations 0 0.025 0 zemm_produktiv_7.public.breedings 0 0.013 0.06 zemm_produktiv_7.public.tasks 0 0.011 1.72 Total 152.096 316.615 67.88 Tuples removed per table
Key values
- public.targetgroups (2307194) Main table with removed tuples on database zemm_produktiv_7
- 3055293 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_7.public.targetgroups 3 1 2,307,194 2,307,194 0 16,256 22,976 zemm_produktiv_7.public.animals 3 1 608,929 608,929 0 16,032 16,032 zemm_produktiv_8.public.tasks 1 1 54,004 57,078 0 0 16,816 zemm_monitoring.observability.metrics_timeseries 1 1 41,701 363,763 0 0 8,116 zemm_produktiv_8.pg_catalog.pg_attribute 14 14 14,022 79,985 0 0 2,576 zemm_produktiv_7.public.cages 3 1 13,882 13,882 0 268 180 zemm_produktiv_8.pg_catalog.pg_depend 7 7 6,118 29,197 0 0 385 zemm_produktiv_8.pg_catalog.pg_type 20 20 4,032 16,620 0 0 620 fbi_unibi.pg_catalog.pg_shdepend 4 4 1,660 15,536 0 0 152 zemm_produktiv_8.pg_catalog.pg_class 9 9 1,373 8,046 0 0 378 zemm_produktiv_7.pg_catalog.pg_attribute 1 1 557 7,100 0 0 190 zemm_produktiv_7.pg_catalog.pg_statistic 1 1 504 1,245 0 0 142 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 425 1,157 0 0 424 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 285 1,308 0 0 144 zemm_produktiv_7.pg_toast.pg_toast_2619 1 1 247 291 0 10 120 zemm_produktiv_7.public.locations 1 1 102 0 0 2 0 zemm_produktiv_7.pg_catalog.pg_type 1 1 96 861 0 0 27 zemm_produktiv_7.pg_catalog.pg_class 2 2 80 1,974 0 0 78 zemm_monitoring.pg_toast.pg_toast_2619 1 1 57 79 0 0 36 zemm_produktiv_7.public.user_ui_prefs 1 1 25 2 0 0 1 zemm_produktiv_7.public.users 1 0 0 756 0 14 58 zemm_produktiv_7.public.licenses 1 0 0 638 0 15 17 zemm_produktiv_7.public.groupMembers 1 0 0 767 0 0 5 zemm_produktiv_7.public.diary 2 0 0 2,231,287 0 0 31,904 zemm_produktiv_7.public.animals_search_mview 2 0 0 608,929 0 0 23,108 zemm_produktiv_7.public.cages_search_mview 2 0 0 13,885 0 43 205 zemm_produktiv_7.public.strains 1 0 0 2,269 0 11 53 zemm_produktiv_7.public.breedingssires 1 0 0 22,582 0 32 144 zemm_produktiv_7.public.fem_numbers 2 0 0 123,595 0 0 1,032 zemm_produktiv_7.public.import_column_mappings 1 1 0 14 0 0 1 zemm_produktiv_7.public.tasks_changes 1 0 0 351,456 0 0 3,864 zemm_produktiv_7.public.stresslevel_response 1 0 0 1,663 0 2 8 zemm_produktiv_7.public.taskattachment 1 0 0 16,691 0 53 291 zemm_produktiv_7.public.scoresheet_answer 1 0 0 3,387 0 4 28 zemm_produktiv_7.public.breedingsdams 1 0 0 30,510 0 45 195 zemm_monitoring.pg_toast.pg_toast_67431 4 0 0 1,811,902 0 0 305,833 zemm_produktiv_7.public.scoresheet_diary 1 0 0 1,057 0 0 6 zemm_produktiv_8.public.breedingssires 14 0 0 316,239 0 0 2,016 zemm_produktiv_7.public.litter_history 1 0 0 182,045 0 0 1,744 zemm_produktiv_7.public.login_tracker 1 0 0 0 0 0 0 zemm_produktiv_7.public.tmptasks 1 0 0 1,006 0 45 99 zemm_produktiv_7.public.litters 2 0 0 94,083 0 0 1,104 zemm_produktiv_7.public.scoresheet_response 2 0 0 555 0 0 4 zemm_produktiv_8.public.breedingsdams 14 0 0 427,249 0 0 2,730 zemm_produktiv_7.public.targetgroupMembers 2 0 0 6,647,931 0 0 42,352 zemm_produktiv_7.public.cost_history 2 0 0 729,390 0 0 9,456 zemm_produktiv_7.public.litters_search_mview 2 0 0 94,085 0 0 2,512 zemm_produktiv_7.public.roles_users 2 0 0 552 0 0 4 zemm_produktiv_7.public.license_history 1 0 0 22,793 0 24 168 zemm_produktiv_7.public.breedings 1 0 0 22,570 0 53 219 zemm_produktiv_7.public.tasks 1 0 0 57,078 0 0 8,720 Total 149 74 3,055,293 17,331,211 0 32,909 507,273 Pages removed per table
Key values
- public.targetgroups (16256) Main table with removed pages on database zemm_produktiv_7
- 32909 pages Total removed
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_7.public.targetgroups 3 1 2307194 16256 zemm_produktiv_7.public.animals 3 1 608929 16032 zemm_produktiv_7.public.cages 3 1 13882 268 zemm_produktiv_7.public.taskattachment 1 0 0 53 zemm_produktiv_7.public.breedings 1 0 0 53 zemm_produktiv_7.public.breedingsdams 1 0 0 45 zemm_produktiv_7.public.tmptasks 1 0 0 45 zemm_produktiv_7.public.cages_search_mview 2 0 0 43 zemm_produktiv_7.public.breedingssires 1 0 0 32 zemm_produktiv_7.public.license_history 1 0 0 24 zemm_produktiv_7.public.licenses 1 0 0 15 zemm_produktiv_7.public.users 1 0 0 14 zemm_produktiv_7.public.strains 1 0 0 11 zemm_produktiv_7.pg_toast.pg_toast_2619 1 1 247 10 zemm_produktiv_7.public.scoresheet_answer 1 0 0 4 zemm_produktiv_7.public.stresslevel_response 1 0 0 2 zemm_produktiv_7.public.locations 1 1 102 2 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 285 0 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 425 0 zemm_produktiv_7.public.groupMembers 1 0 0 0 fbi_unibi.pg_catalog.pg_shdepend 4 4 1660 0 zemm_produktiv_7.public.diary 2 0 0 0 zemm_produktiv_7.public.user_ui_prefs 1 1 25 0 zemm_produktiv_8.pg_catalog.pg_type 20 20 4032 0 zemm_monitoring.pg_toast.pg_toast_2619 1 1 57 0 zemm_produktiv_7.public.animals_search_mview 2 0 0 0 zemm_monitoring.observability.metrics_timeseries 1 1 41701 0 zemm_produktiv_7.public.fem_numbers 2 0 0 0 zemm_produktiv_7.public.import_column_mappings 1 1 0 0 zemm_produktiv_7.pg_catalog.pg_attribute 1 1 557 0 zemm_produktiv_7.public.tasks_changes 1 0 0 0 zemm_monitoring.pg_toast.pg_toast_67431 4 0 0 0 zemm_produktiv_7.pg_catalog.pg_class 2 2 80 0 zemm_produktiv_8.pg_catalog.pg_depend 7 7 6118 0 zemm_produktiv_7.public.scoresheet_diary 1 0 0 0 zemm_produktiv_8.public.breedingssires 14 0 0 0 zemm_produktiv_7.public.litter_history 1 0 0 0 zemm_produktiv_7.public.login_tracker 1 0 0 0 zemm_produktiv_7.public.litters 2 0 0 0 zemm_produktiv_7.public.scoresheet_response 2 0 0 0 zemm_produktiv_7.pg_catalog.pg_type 1 1 96 0 zemm_produktiv_8.public.breedingsdams 14 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 14 14 14022 0 zemm_produktiv_7.public.targetgroupMembers 2 0 0 0 zemm_produktiv_7.public.cost_history 2 0 0 0 zemm_produktiv_7.public.litters_search_mview 2 0 0 0 zemm_produktiv_7.pg_catalog.pg_statistic 1 1 504 0 zemm_produktiv_7.public.roles_users 2 0 0 0 zemm_produktiv_8.public.tasks 1 1 54004 0 zemm_produktiv_8.pg_catalog.pg_class 9 9 1373 0 zemm_produktiv_7.public.tasks 1 0 0 0 Total 149 74 3,055,293 32,909 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Apr 23 00 51 59 01 2 6 02 0 0 03 0 0 04 0 0 05 1 0 06 1 7 07 17 33 08 6 7 09 8 19 10 15 43 11 5 16 12 16 34 13 9 23 14 3 11 15 5 9 16 5 18 17 1 1 18 2 2 19 0 0 20 1 6 21 1 4 22 0 1 23 0 0 - 13.14 sec Highest CPU-cost vacuum
-
Locks
Locks by types
Key values
- unknown Main Lock Type
- 0 locks Total
Most frequent waiting queries (N)
Rank Count Total time Min time Max time Avg duration Query NO DATASET
Queries that waited the most
Rank Wait time Query NO DATASET
-
Queries
Queries by type
Key values
- 154 Total read queries
- 25,007 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,741 Requests
- 1d1h11m3s (zemm_monitoring)
- Main time consuming database
Database Request type Count Duration zemm_monitoring Total 24,741 1d1h11m3s cte 242 19m25s ddl 24,480 1d50m18s select 13 1m13s tcl 5 5s223ms zemm_produktiv_7 Total 278 23m5s copy from 12 3m15s copy to 8 22s223ms cte 21 25s456ms ddl 194 18m28s select 43 33s27ms zemm_produktiv_8 Total 143 3m31s copy to 38 1m38s cte 6 12s73ms select 98 1m39s update 1 1s202ms Queries by user
Key values
- labanimal Main user
- 698,881 Requests
User Request type Count Duration deploy Total 58 14m47s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s labanimal Total 698,881 20d1h46m43s copy from 20 3m34s copy to 158 7m23s cte 4,207 4h34m59s ddl 691,245 19d20h3m56s others 179 2m6s select 3,014 53m41s tcl 9 7s973ms update 32 34s116ms postgres Total 172 3m53s copy to 172 3m53s Duration by user
Key values
- 20d1h46m43s (labanimal) Main time consuming user
User Request type Count Duration deploy Total 58 14m47s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s labanimal Total 698,881 20d1h46m43s copy from 20 3m34s copy to 158 7m23s cte 4,207 4h34m59s ddl 691,245 19d20h3m56s others 179 2m6s select 3,014 53m41s tcl 9 7s973ms update 32 34s116ms postgres Total 172 3m53s copy to 172 3m53s Queries by host
Key values
- unknown Main host
- 698,846 Requests
- 20d1h43m6s (unknown)
- Main time consuming host
Host Request type Count Duration 127.0.0.1 Total 2 6s311ms ddl 2 6s311ms 81.169.238.237 Total 33 3m30s select 1 2m56s update 32 34s116ms [local] Total 230 18m40s copy to 172 3m53s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s unknown Total 698,846 20d1h43m6s copy from 20 3m34s copy to 158 7m23s cte 4,207 4h34m59s ddl 691,243 19d20h3m50s others 179 2m6s select 3,013 50m44s tcl 9 7s973ms Queries by application
Key values
- unknown Main application
- 24,932 Requests
- 1d1h29m28s (unknown)
- Main time consuming application
Application Request type Count Duration _backend_wean_api.php_zemm_produktiv_7_localhost_5432 Total 5 3s580ms select 5 3s580ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt Total 37 28s681ms select 37 28s681ms _desktop_index.php_command_reports_subcommand_select_zemm_produ Total 1 765ms select 1 765ms _desktop_index.php_command_tasks_subcommand_overview_zemm_produ Total 3 2s195ms cte 3 2s195ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b Total 10 7s351ms select 10 7s351ms _desktop_index.php_zemm_produktiv_7_localhost_5432 Total 18 23s260ms cte 18 23s260ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 92 1m37s cte 6 12s73ms select 86 1m25s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s202ms update 1 1s202ms pg_dump Total 46 2m1s copy to 46 2m1s pg_restore Total 12 3m15s copy from 12 3m15s psql Total 5 11s94ms ddl 2 1s890ms select 3 9s203ms unknown Total 24,932 1d1h29m28s cte 242 19m25s ddl 24,672 1d1h8m45s select 12 1m11s tcl 5 5s223ms Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-04-23 16:59:01 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 331 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 1m40s COPY public."targetgroupMembers" (id, targetgroup, "user", "group") FROM stdin;[ Date: 2026-04-23 00:46:39 - Database: zemm_produktiv_7 - User: labanimal - Application: pg_restore - Bind query: yes ]
2 25s570ms COPY public.animals (id, species, transgen, "homeCage", tourist, editor, owner, comments, pregnant, name, sex, "standardDescription", "parentFemale", "parentMale", "parentFoster", colour, "plannedUseFor", deleted, generation, chimare, "birthDate", "arrivalDate", "outgoingDate", "deathDate", breedstatus_2, "healthState", breeder, restrictions, "geneStatus", "geneFlanking", "geneDeleted", "fromOrder_2", "group", "fromOrder", strain, "breedStatus", "FEMnumber", genotype, inbreeding, identification, jax, "KOgene", "feedingClass", dummy_gen_info, breeding, sterile, project, dummy_line_info, dummy_strain_info, "bredWith", "curCage", dummy_backcross_info, fate, "fateComment", alive, reciever, "animalID", litter, weight_at_arrival, cohort, gen_2_info, gen_3_info, gen_4_info, gen_5_info, gen_1_typ, gen_2_typ, gen_3_typ, gen_4_typ, gen_5_typ, "latestMatingDate", "latestMating", genecomment, recycle) FROM stdin;[ Date: 2026-04-23 00:44:27 - Database: zemm_produktiv_7 - User: labanimal - Application: pg_restore - Bind query: yes ]
3 21s686ms COPY public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) FROM stdin;[ Date: 2026-04-23 00:44:56 - Database: zemm_produktiv_7 - User: labanimal - Application: pg_restore - Bind query: yes ]
4 17s927ms WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-03-24 16:27:57+01' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:27:57+01' AND '2026-04-23 16:27:57+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:27:57+01' AND '2026-04-23 16:27:57+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';[ Date: 2026-04-23 16:28:15 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
5 14s197ms COPY public.targetgroups (id, title) FROM stdin;[ Date: 2026-04-23 00:12:40 - Database: zemm_produktiv_7 - User: labanimal - Application: pg_restore - Bind query: yes ]
6 14s129ms COPY public.targetgroups (id, title) FROM stdin;[ Date: 2026-04-23 00:44:01 - Database: zemm_produktiv_7 - User: labanimal - Application: pg_restore - Bind query: yes ]
7 13s387ms WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-03-24 16:28:30+01' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:28:30+01' AND '2026-04-23 16:28:30+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:28:30+01' AND '2026-04-23 16:28:30+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';[ Date: 2026-04-23 16:28:44 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
8 11s59ms WITH normalised AS ( SELECT id, tenant_key, event_type, severity, message, payload, occurred_at, regexp_replace(regexp_replace(message, '\d+', '#', 'g'), '/[^ :]+/', '.../', 'g') AS fingerprint FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at BETWEEN '2026-03-24 16:27:59+01' AND '2026-04-23 16:27:59+02' AND severity IN ('error', 'warning') AND NOT (event_type = 'db_error' AND (lower(COALESCE(message, '')) = 'lock wait: client / clientread' OR ( lower(COALESCE(payload->>'wait_event_type', '')) = 'client' AND lower(COALESCE(payload ->> 'wait_event', '')) = 'clientread')))) SELECT fingerprint, COUNT(*) AS occurrence_count, COUNT(DISTINCT COALESCE(payload ->> 'user', payload ->> 'username', 'unbekannt')) AS affected_users, MAX(severity) AS max_severity, MIN(occurred_at) AS first_seen, MAX(occurred_at) AS last_seen, (array_agg(message ORDER BY occurred_at DESC))[1] AS sample_message, (array_agg(DISTINCT event_type))[1] AS event_type, (array_agg(payload ->> 'file' ORDER BY occurred_at DESC))[1] AS source_file, (array_agg(payload ->> 'line' ORDER BY occurred_at DESC))[1] AS source_line, (array_agg(payload ->> 'request' ORDER BY occurred_at DESC))[1] AS sample_request, (array_agg(id ORDER BY occurred_at DESC))[1] AS latest_event_id FROM normalised GROUP BY fingerprint ORDER BY occurrence_count DESC, last_seen DESC LIMIT '30';[ Date: 2026-04-23 16:28:10 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
9 9s706ms SELECT tenant_key, event_type, severity, message, payload, occurred_at FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at >= '2026-03-24 15:27:57+01' AND (event_type = 'db_connect_error' OR (severity IN ('critical', 'error', 'warning') AND (lower(message) LIKE '%deadlock%' OR lower(message) LIKE '%duplicate key%' OR lower(message) LIKE '%unique constraint%' OR lower(message) LIKE '%foreign key%' OR lower(message) LIKE '%not-null constraint%' OR lower(message) LIKE '%check constraint%' OR lower(message) LIKE '%integrity constraint%' OR lower(message) LIKE '%referential integrity%' OR lower(message) LIKE '%lock wait:%' OR lower(message) LIKE '%sqlstate%' OR lower(COALESCE(payload ->> 'sqlstate', '')) <> '' OR lower(COALESCE(payload ->> 'code', '')) IN ('23505', '23503', '23502', '40p01')))) ORDER BY occurred_at DESC LIMIT '100';[ Date: 2026-04-23 16:28:07 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
10 9s364ms SELECT tenant_key, event_type, severity, message, payload, occurred_at FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at >= '2026-03-24 15:28:31+01' AND (event_type = 'db_connect_error' OR (severity IN ('critical', 'error', 'warning') AND (lower(message) LIKE '%deadlock%' OR lower(message) LIKE '%duplicate key%' OR lower(message) LIKE '%unique constraint%' OR lower(message) LIKE '%foreign key%' OR lower(message) LIKE '%not-null constraint%' OR lower(message) LIKE '%check constraint%' OR lower(message) LIKE '%integrity constraint%' OR lower(message) LIKE '%referential integrity%' OR lower(message) LIKE '%lock wait:%' OR lower(message) LIKE '%sqlstate%' OR lower(COALESCE(payload ->> 'sqlstate', '')) <> '' OR lower(COALESCE(payload ->> 'code', '')) IN ('23505', '23503', '23502', '40p01')))) ORDER BY occurred_at DESC LIMIT '100';[ Date: 2026-04-23 16:28:40 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
11 9s167ms WITH normalised AS ( SELECT id, tenant_key, event_type, severity, message, payload, occurred_at, regexp_replace(regexp_replace(message, '\d+', '#', 'g'), '/[^ :]+/', '.../', 'g') AS fingerprint FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at BETWEEN '2026-03-24 16:28:33+01' AND '2026-04-23 16:28:33+02' AND severity IN ('error', 'warning') AND NOT (event_type = 'db_error' AND (lower(COALESCE(message, '')) = 'lock wait: client / clientread' OR ( lower(COALESCE(payload->>'wait_event_type', '')) = 'client' AND lower(COALESCE(payload ->> 'wait_event', '')) = 'clientread')))) SELECT fingerprint, COUNT(*) AS occurrence_count, COUNT(DISTINCT COALESCE(payload ->> 'user', payload ->> 'username', 'unbekannt')) AS affected_users, MAX(severity) AS max_severity, MIN(occurred_at) AS first_seen, MAX(occurred_at) AS last_seen, (array_agg(message ORDER BY occurred_at DESC))[1] AS sample_message, (array_agg(DISTINCT event_type))[1] AS event_type, (array_agg(payload ->> 'file' ORDER BY occurred_at DESC))[1] AS source_file, (array_agg(payload ->> 'line' ORDER BY occurred_at DESC))[1] AS source_line, (array_agg(payload ->> 'request' ORDER BY occurred_at DESC))[1] AS sample_request, (array_agg(id ORDER BY occurred_at DESC))[1] AS latest_event_id FROM normalised GROUP BY fingerprint ORDER BY occurrence_count DESC, last_seen DESC LIMIT '30';[ Date: 2026-04-23 16:28:42 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
12 8s32ms WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at <= '2026-04-23 21:48:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at BETWEEN '2026-04-23 21:48:22+02' AND '2026-04-23 22:48:22+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at BETWEEN '2026-04-23 21:48:22+02' AND '2026-04-23 22:48:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';[ Date: 2026-04-23 22:48:30 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
13 8s32ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-23 22:49:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
14 8s32ms CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );[ Date: 2026-04-23 22:49:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
15 8s32ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-23 22:49:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
16 8s32ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-23 22:49:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
17 8s32ms CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-23 22:49:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
18 8s32ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-23 22:49:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
19 8s32ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-04-23 22:49:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
20 8s32ms CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-23 22:49:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 1h27m40s 1,440 505ms 8s32ms 3s652ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
2 1h27m40s 1,440 505ms 8s32ms 3s652ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
3 1h27m40s 1,440 505ms 8s32ms 3s652ms create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
4 1h27m40s 1,440 505ms 8s32ms 3s652ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
5 1h27m40s 1,440 505ms 8s32ms 3s652ms create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
6 1h27m40s 1,440 505ms 8s32ms 3s652ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
7 1h27m40s 1,440 505ms 8s32ms 3s652ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
8 1h27m40s 1,440 505ms 8s32ms 3s652ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
9 1h27m40s 1,440 505ms 8s32ms 3s652ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
10 1h27m40s 1,440 505ms 8s32ms 3s652ms create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
11 1h27m40s 1,440 505ms 8s32ms 3s652ms create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
12 1h27m40s 1,440 505ms 8s32ms 3s652ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
13 1h27m40s 1,440 505ms 8s32ms 3s652ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
14 1h27m40s 1,440 505ms 8s32ms 3s652ms create schema if not exists observability;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
15 1h27m39s 1,440 505ms 8s32ms 3s652ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s471ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m39s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
16 1h27m39s 1,440 505ms 8s32ms 3s652ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s471ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m39s - Times executed: 1439 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
17 1h27m39s 1,440 505ms 8s32ms 3s652ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s471ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m39s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
18 18m55s 236 3s459ms 17s927ms 4s809ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 23 01 24 1m39s 4s141ms 02 12 48s377ms 4s31ms 03 13 51s396ms 3s953ms 04 1 3s941ms 3s941ms 10 7 30s461ms 4s351ms 11 6 25s117ms 4s186ms 12 24 1m34s 3s925ms 13 14 50s227ms 3s587ms 14 12 48s548ms 4s45ms 15 4 16s206ms 4s51ms 16 12 48s458ms 4s38ms 17 18 1m37s 5s440ms 18 12 48s966ms 4s80ms 19 12 48s944ms 4s78ms 20 12 48s416ms 4s34ms 21 16 1m29s 5s622ms 22 13 1m38s 7s555ms 23 12 1m33s 7s761ms 00 12 1m33s 7s756ms [ User: labanimal - Total duration: 18m55s - Times executed: 236 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-03-24 16:27:57+01' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:27:57+01' AND '2026-04-23 16:27:57+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:27:57+01' AND '2026-04-23 16:27:57+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-23 16:28:15 Duration: 17s927ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-03-24 16:28:30+01' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:28:30+01' AND '2026-04-23 16:28:30+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:28:30+01' AND '2026-04-23 16:28:30+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-23 16:28:44 Duration: 13s387ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at <= '2026-04-23 21:48:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at BETWEEN '2026-04-23 21:48:22+02' AND '2026-04-23 22:48:22+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at BETWEEN '2026-04-23 21:48:22+02' AND '2026-04-23 22:48:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-23 22:48:30 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
19 1m40s 1 1m40s 1m40s 1m40s copy public."targetgroupMembers" (id, targetgroup, "user", "group") from stdin;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 23 01 1 1m40s 1m40s [ User: labanimal - Total duration: 1m40s - Times executed: 1 ]
[ Application: pg_restore - Total duration: 1m40s - Times executed: 1 ]
-
COPY public."targetgroupMembers" (id, targetgroup, "user", "group") FROM stdin;
Date: 2026-04-23 00:46:39 Duration: 1m40s Database: zemm_produktiv_7 User: labanimal Application: pg_restore Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
20 46s94ms 6 4s854ms 9s706ms 7s682ms select tenant_key, event_type, severity, message, payload, occurred_at from observability.app_events where tenant_key in (...) and occurred_at >= ? and (event_type = ? or (severity in (...) and (lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(coalesce(payload ->> ?, ?)) <> ? or lower(coalesce(payload ->> ?, ?)) in (...)))) order by occurred_at desc limit ?;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 23 17 6 46s94ms 7s682ms [ User: labanimal - Total duration: 46s94ms - Times executed: 6 ]
-
SELECT tenant_key, event_type, severity, message, payload, occurred_at FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at >= '2026-03-24 15:27:57+01' AND (event_type = 'db_connect_error' OR (severity IN ('critical', 'error', 'warning') AND (lower(message) LIKE '%deadlock%' OR lower(message) LIKE '%duplicate key%' OR lower(message) LIKE '%unique constraint%' OR lower(message) LIKE '%foreign key%' OR lower(message) LIKE '%not-null constraint%' OR lower(message) LIKE '%check constraint%' OR lower(message) LIKE '%integrity constraint%' OR lower(message) LIKE '%referential integrity%' OR lower(message) LIKE '%lock wait:%' OR lower(message) LIKE '%sqlstate%' OR lower(COALESCE(payload ->> 'sqlstate', '')) <> '' OR lower(COALESCE(payload ->> 'code', '')) IN ('23505', '23503', '23502', '40p01')))) ORDER BY occurred_at DESC LIMIT '100';
Date: 2026-04-23 16:28:07 Duration: 9s706ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
SELECT tenant_key, event_type, severity, message, payload, occurred_at FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at >= '2026-03-24 15:28:31+01' AND (event_type = 'db_connect_error' OR (severity IN ('critical', 'error', 'warning') AND (lower(message) LIKE '%deadlock%' OR lower(message) LIKE '%duplicate key%' OR lower(message) LIKE '%unique constraint%' OR lower(message) LIKE '%foreign key%' OR lower(message) LIKE '%not-null constraint%' OR lower(message) LIKE '%check constraint%' OR lower(message) LIKE '%integrity constraint%' OR lower(message) LIKE '%referential integrity%' OR lower(message) LIKE '%lock wait:%' OR lower(message) LIKE '%sqlstate%' OR lower(COALESCE(payload ->> 'sqlstate', '')) <> '' OR lower(COALESCE(payload ->> 'code', '')) IN ('23505', '23503', '23502', '40p01')))) ORDER BY occurred_at DESC LIMIT '100';
Date: 2026-04-23 16:28:40 Duration: 9s364ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
SELECT tenant_key, event_type, severity, message, payload, occurred_at FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at >= '2026-03-24 15:28:00+01' AND (event_type = 'db_connect_error' OR (severity IN ('critical', 'error', 'warning') AND (lower(message) LIKE '%deadlock%' OR lower(message) LIKE '%duplicate key%' OR lower(message) LIKE '%unique constraint%' OR lower(message) LIKE '%foreign key%' OR lower(message) LIKE '%not-null constraint%' OR lower(message) LIKE '%check constraint%' OR lower(message) LIKE '%integrity constraint%' OR lower(message) LIKE '%referential integrity%' OR lower(message) LIKE '%lock wait:%' OR lower(message) LIKE '%sqlstate%' OR lower(COALESCE(payload ->> 'sqlstate', '')) <> '' OR lower(COALESCE(payload ->> 'code', '')) IN ('23505', '23503', '23502', '40p01')))) ORDER BY occurred_at DESC LIMIT '100';
Date: 2026-04-23 16:28:08 Duration: 7s813ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 1h27m40s 505ms 8s32ms 3s652ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
2 1,440 1h27m40s 505ms 8s32ms 3s652ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
3 1,440 1h27m40s 505ms 8s32ms 3s652ms create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
4 1,440 1h27m40s 505ms 8s32ms 3s652ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
5 1,440 1h27m40s 505ms 8s32ms 3s652ms create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
6 1,440 1h27m40s 505ms 8s32ms 3s652ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
7 1,440 1h27m40s 505ms 8s32ms 3s652ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
8 1,440 1h27m40s 505ms 8s32ms 3s652ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
9 1,440 1h27m40s 505ms 8s32ms 3s652ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
10 1,440 1h27m40s 505ms 8s32ms 3s652ms create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
11 1,440 1h27m40s 505ms 8s32ms 3s652ms create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
12 1,440 1h27m40s 505ms 8s32ms 3s652ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
13 1,440 1h27m40s 505ms 8s32ms 3s652ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
14 1,440 1h27m40s 505ms 8s32ms 3s652ms create schema if not exists observability;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
15 1,440 1h27m39s 505ms 8s32ms 3s652ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s471ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m39s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
16 1,440 1h27m39s 505ms 8s32ms 3s652ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s471ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m39s - Times executed: 1439 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
17 1,440 1h27m39s 505ms 8s32ms 3s652ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s471ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m39s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
18 236 18m55s 3s459ms 17s927ms 4s809ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 23 01 24 1m39s 4s141ms 02 12 48s377ms 4s31ms 03 13 51s396ms 3s953ms 04 1 3s941ms 3s941ms 10 7 30s461ms 4s351ms 11 6 25s117ms 4s186ms 12 24 1m34s 3s925ms 13 14 50s227ms 3s587ms 14 12 48s548ms 4s45ms 15 4 16s206ms 4s51ms 16 12 48s458ms 4s38ms 17 18 1m37s 5s440ms 18 12 48s966ms 4s80ms 19 12 48s944ms 4s78ms 20 12 48s416ms 4s34ms 21 16 1m29s 5s622ms 22 13 1m38s 7s555ms 23 12 1m33s 7s761ms 00 12 1m33s 7s756ms [ User: labanimal - Total duration: 18m55s - Times executed: 236 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-03-24 16:27:57+01' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:27:57+01' AND '2026-04-23 16:27:57+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:27:57+01' AND '2026-04-23 16:27:57+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-23 16:28:15 Duration: 17s927ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-03-24 16:28:30+01' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:28:30+01' AND '2026-04-23 16:28:30+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:28:30+01' AND '2026-04-23 16:28:30+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-23 16:28:44 Duration: 13s387ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at <= '2026-04-23 21:48:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at BETWEEN '2026-04-23 21:48:22+02' AND '2026-04-23 22:48:22+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at BETWEEN '2026-04-23 21:48:22+02' AND '2026-04-23 22:48:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-23 22:48:30 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
19 38 29s446ms 747ms 978ms 774ms select "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", sum(a."alive") AS "alive", sum(a."dead") AS "dead", sum(a."leftalive") AS "leftalive", sum(a."alive" + a."used" + a."leftalive") AS "total", sum(a."used") AS "used" from "groups" inner join "licenses" on "licenses"."workgroup" = "groups"."id" and not ("licenses"."deleted") and licenses.proposed_end >= ?::date and licenses.proposed_start <= ?::date inner join ( select "animals"."animalID", "animals"."project", "animals"."species", case when "fates".alive and ("animals"."fate" = ?) then ? else ? end AS "leftalive", case when "fates".alive and ("animals"."fate" = ?) then ? else ? end AS "alive", case when "fates".alive and ("animals"."fate" = ?) then ? when not ("fates".alive) and (("animals"."deathDate" is not null and "animals"."deathDate" >= ? and "animals"."deathDate" >= ?) or ("animals"."outgoingDate" is not null and "animals"."outgoingDate" >= ? and "animals"."outgoingDate" >= ?)) then ? else ? end AS "dead", case when "fates".alive and ("animals"."fate" = ?) then ? when not ("fates".alive) and ("animals"."deathDate" >= ? or "animals"."outgoingDate" >= ?) then ? else ? end AS "used" from "animals" inner join "fates" on "fates"."id" = "animals"."fate" where not ("animals"."deleted")) "a" on cast("a"."project" as bigint) = "licenses"."id" inner join "species" on "species"."id" = "a"."species" where not ("groups"."deleted") group by "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" order by "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 23 02 5 3s874ms 774ms 10 3 2s360ms 786ms 11 2 1s525ms 762ms 12 2 1s503ms 751ms 14 2 1s764ms 882ms 15 4 3s61ms 765ms 16 2 1s524ms 762ms 17 4 3s75ms 768ms 19 2 1s533ms 766ms 21 6 4s624ms 770ms 22 6 4s599ms 766ms [ User: labanimal - Total duration: 29s446ms - Times executed: 38 ]
[ Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt - Total duration: 28s681ms - Times executed: 37 ]
[ Application: _desktop_index.php_command_reports_subcommand_select_zemm_produ - Total duration: 765ms - Times executed: 1 ]
-
SELECT "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", SUM(a."alive") AS "alive", SUM(a."dead") AS "dead", SUM(a."leftalive") AS "leftalive", SUM(a."alive" + a."used" + a."leftalive") AS "total", SUM(a."used") AS "used" FROM "groups" INNER JOIN "licenses" ON "licenses"."workgroup" = "groups"."id" AND NOT ("licenses"."deleted") AND licenses.proposed_end >= '2026-01-01'::date AND licenses.proposed_start <= '2026-12-31'::date INNER JOIN ( SELECT "animals"."animalID", "animals"."project", "animals"."species", CASE WHEN "fates".alive AND ("animals"."fate" = 6) THEN 1 ELSE 0 END AS "leftalive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 1 ELSE 0 END AS "alive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND (("animals"."deathDate" IS NOT NULL AND "animals"."deathDate" >= '2026-01-01' AND "animals"."deathDate" >= '2010-04-01') OR ("animals"."outgoingDate" IS NOT NULL AND "animals"."outgoingDate" >= '2026-01-01' AND "animals"."outgoingDate" >= '2010-04-01')) THEN 1 ELSE 0 END AS "dead", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND ("animals"."deathDate" >= '2010-04-01' OR "animals"."outgoingDate" >= '2010-04-01') THEN 1 ELSE 0 END AS "used" FROM "animals" INNER JOIN "fates" ON "fates"."id" = "animals"."fate" WHERE NOT ("animals"."deleted")) "a" ON CAST("a"."project" AS bigint) = "licenses"."id" INNER JOIN "species" ON "species"."id" = "a"."species" WHERE NOT ("groups"."deleted") GROUP BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" ORDER BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";
Date: 2026-04-23 13:13:11 Duration: 978ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
SELECT "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", SUM(a."alive") AS "alive", SUM(a."dead") AS "dead", SUM(a."leftalive") AS "leftalive", SUM(a."alive" + a."used" + a."leftalive") AS "total", SUM(a."used") AS "used" FROM "groups" INNER JOIN "licenses" ON "licenses"."workgroup" = "groups"."id" AND NOT ("licenses"."deleted") AND licenses.proposed_end >= '2026-01-01'::date AND licenses.proposed_start <= '2026-12-31'::date INNER JOIN ( SELECT "animals"."animalID", "animals"."project", "animals"."species", CASE WHEN "fates".alive AND ("animals"."fate" = 6) THEN 1 ELSE 0 END AS "leftalive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 1 ELSE 0 END AS "alive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND (("animals"."deathDate" IS NOT NULL AND "animals"."deathDate" >= '2026-01-01' AND "animals"."deathDate" >= '2010-04-01') OR ("animals"."outgoingDate" IS NOT NULL AND "animals"."outgoingDate" >= '2026-01-01' AND "animals"."outgoingDate" >= '2010-04-01')) THEN 1 ELSE 0 END AS "dead", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND ("animals"."deathDate" >= '2010-04-01' OR "animals"."outgoingDate" >= '2010-04-01') THEN 1 ELSE 0 END AS "used" FROM "animals" INNER JOIN "fates" ON "fates"."id" = "animals"."fate" WHERE NOT ("animals"."deleted")) "a" ON CAST("a"."project" AS bigint) = "licenses"."id" INNER JOIN "species" ON "species"."id" = "a"."species" WHERE NOT ("groups"."deleted") GROUP BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" ORDER BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";
Date: 2026-04-23 09:40:33 Duration: 833ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
SELECT "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", SUM(a."alive") AS "alive", SUM(a."dead") AS "dead", SUM(a."leftalive") AS "leftalive", SUM(a."alive" + a."used" + a."leftalive") AS "total", SUM(a."used") AS "used" FROM "groups" INNER JOIN "licenses" ON "licenses"."workgroup" = "groups"."id" AND NOT ("licenses"."deleted") AND licenses.proposed_end >= '2026-01-01'::date AND licenses.proposed_start <= '2026-12-31'::date INNER JOIN ( SELECT "animals"."animalID", "animals"."project", "animals"."species", CASE WHEN "fates".alive AND ("animals"."fate" = 6) THEN 1 ELSE 0 END AS "leftalive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 1 ELSE 0 END AS "alive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND (("animals"."deathDate" IS NOT NULL AND "animals"."deathDate" >= '2026-01-01' AND "animals"."deathDate" >= '2010-04-01') OR ("animals"."outgoingDate" IS NOT NULL AND "animals"."outgoingDate" >= '2026-01-01' AND "animals"."outgoingDate" >= '2010-04-01')) THEN 1 ELSE 0 END AS "dead", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND ("animals"."deathDate" >= '2010-04-01' OR "animals"."outgoingDate" >= '2010-04-01') THEN 1 ELSE 0 END AS "used" FROM "animals" INNER JOIN "fates" ON "fates"."id" = "animals"."fate" WHERE NOT ("animals"."deleted")) "a" ON CAST("a"."project" AS bigint) = "licenses"."id" INNER JOIN "species" ON "species"."id" = "a"."species" WHERE NOT ("groups"."deleted") GROUP BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" ORDER BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";
Date: 2026-04-23 01:28:55 Duration: 792ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
20 18 14s241ms 759ms 894ms 791ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 23 08 1 811ms 811ms 10 4 3s90ms 772ms 11 1 764ms 764ms 12 2 1s653ms 826ms 13 1 790ms 790ms 17 9 7s132ms 792ms [ User: labanimal - Total duration: 14s241ms - Times executed: 18 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 10s336ms - Times executed: 13 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 3s905ms - Times executed: 5 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 580) AS is_owner, user_is_tgm (animals_search_mview.editor, 580) AS is_editor, user_is_tgm (animals_search_mview.tourist, 580) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-23 16:58:50 Duration: 894ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-23 11:05:34 Duration: 855ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100142) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100142) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100142) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-23 16:10:35 Duration: 818ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 1m40s 1m40s 1m40s 1 1m40s copy public."targetgroupMembers" (id, targetgroup, "user", "group") from stdin;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 23 01 1 1m40s 1m40s [ User: labanimal - Total duration: 1m40s - Times executed: 1 ]
[ Application: pg_restore - Total duration: 1m40s - Times executed: 1 ]
-
COPY public."targetgroupMembers" (id, targetgroup, "user", "group") FROM stdin;
Date: 2026-04-23 00:46:39 Duration: 1m40s Database: zemm_produktiv_7 User: labanimal Application: pg_restore Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
2 4s854ms 9s706ms 7s682ms 6 46s94ms select tenant_key, event_type, severity, message, payload, occurred_at from observability.app_events where tenant_key in (...) and occurred_at >= ? and (event_type = ? or (severity in (...) and (lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(message) like ? or lower(coalesce(payload ->> ?, ?)) <> ? or lower(coalesce(payload ->> ?, ?)) in (...)))) order by occurred_at desc limit ?;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 23 17 6 46s94ms 7s682ms [ User: labanimal - Total duration: 46s94ms - Times executed: 6 ]
-
SELECT tenant_key, event_type, severity, message, payload, occurred_at FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at >= '2026-03-24 15:27:57+01' AND (event_type = 'db_connect_error' OR (severity IN ('critical', 'error', 'warning') AND (lower(message) LIKE '%deadlock%' OR lower(message) LIKE '%duplicate key%' OR lower(message) LIKE '%unique constraint%' OR lower(message) LIKE '%foreign key%' OR lower(message) LIKE '%not-null constraint%' OR lower(message) LIKE '%check constraint%' OR lower(message) LIKE '%integrity constraint%' OR lower(message) LIKE '%referential integrity%' OR lower(message) LIKE '%lock wait:%' OR lower(message) LIKE '%sqlstate%' OR lower(COALESCE(payload ->> 'sqlstate', '')) <> '' OR lower(COALESCE(payload ->> 'code', '')) IN ('23505', '23503', '23502', '40p01')))) ORDER BY occurred_at DESC LIMIT '100';
Date: 2026-04-23 16:28:07 Duration: 9s706ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
SELECT tenant_key, event_type, severity, message, payload, occurred_at FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at >= '2026-03-24 15:28:31+01' AND (event_type = 'db_connect_error' OR (severity IN ('critical', 'error', 'warning') AND (lower(message) LIKE '%deadlock%' OR lower(message) LIKE '%duplicate key%' OR lower(message) LIKE '%unique constraint%' OR lower(message) LIKE '%foreign key%' OR lower(message) LIKE '%not-null constraint%' OR lower(message) LIKE '%check constraint%' OR lower(message) LIKE '%integrity constraint%' OR lower(message) LIKE '%referential integrity%' OR lower(message) LIKE '%lock wait:%' OR lower(message) LIKE '%sqlstate%' OR lower(COALESCE(payload ->> 'sqlstate', '')) <> '' OR lower(COALESCE(payload ->> 'code', '')) IN ('23505', '23503', '23502', '40p01')))) ORDER BY occurred_at DESC LIMIT '100';
Date: 2026-04-23 16:28:40 Duration: 9s364ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
SELECT tenant_key, event_type, severity, message, payload, occurred_at FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at >= '2026-03-24 15:28:00+01' AND (event_type = 'db_connect_error' OR (severity IN ('critical', 'error', 'warning') AND (lower(message) LIKE '%deadlock%' OR lower(message) LIKE '%duplicate key%' OR lower(message) LIKE '%unique constraint%' OR lower(message) LIKE '%foreign key%' OR lower(message) LIKE '%not-null constraint%' OR lower(message) LIKE '%check constraint%' OR lower(message) LIKE '%integrity constraint%' OR lower(message) LIKE '%referential integrity%' OR lower(message) LIKE '%lock wait:%' OR lower(message) LIKE '%sqlstate%' OR lower(COALESCE(payload ->> 'sqlstate', '')) <> '' OR lower(COALESCE(payload ->> 'code', '')) IN ('23505', '23503', '23502', '40p01')))) ORDER BY occurred_at DESC LIMIT '100';
Date: 2026-04-23 16:28:08 Duration: 7s813ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
3 3s459ms 17s927ms 4s809ms 236 18m55s with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 23 01 24 1m39s 4s141ms 02 12 48s377ms 4s31ms 03 13 51s396ms 3s953ms 04 1 3s941ms 3s941ms 10 7 30s461ms 4s351ms 11 6 25s117ms 4s186ms 12 24 1m34s 3s925ms 13 14 50s227ms 3s587ms 14 12 48s548ms 4s45ms 15 4 16s206ms 4s51ms 16 12 48s458ms 4s38ms 17 18 1m37s 5s440ms 18 12 48s966ms 4s80ms 19 12 48s944ms 4s78ms 20 12 48s416ms 4s34ms 21 16 1m29s 5s622ms 22 13 1m38s 7s555ms 23 12 1m33s 7s761ms 00 12 1m33s 7s756ms [ User: labanimal - Total duration: 18m55s - Times executed: 236 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-03-24 16:27:57+01' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:27:57+01' AND '2026-04-23 16:27:57+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:27:57+01' AND '2026-04-23 16:27:57+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-23 16:28:15 Duration: 17s927ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-03-24 16:28:30+01' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:28:30+01' AND '2026-04-23 16:28:30+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-03-24 16:28:30+01' AND '2026-04-23 16:28:30+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-23 16:28:44 Duration: 13s387ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at <= '2026-04-23 21:48:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at BETWEEN '2026-04-23 21:48:22+02' AND '2026-04-23 22:48:22+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'dev') AND collected_at BETWEEN '2026-04-23 21:48:22+02' AND '2026-04-23 22:48:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-23 22:48:30 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
4 505ms 8s32ms 3s652ms 1,440 1h27m40s create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
5 505ms 8s32ms 3s652ms 1,440 1h27m40s create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
6 505ms 8s32ms 3s652ms 1,440 1h27m40s create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
7 505ms 8s32ms 3s652ms 1,440 1h27m40s create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
8 505ms 8s32ms 3s652ms 1,440 1h27m40s create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
9 505ms 8s32ms 3s652ms 1,440 1h27m40s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
10 505ms 8s32ms 3s652ms 1,440 1h27m40s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
11 505ms 8s32ms 3s652ms 1,440 1h27m40s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
12 505ms 8s32ms 3s652ms 1,440 1h27m40s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
13 505ms 8s32ms 3s652ms 1,440 1h27m40s create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
14 505ms 8s32ms 3s652ms 1,440 1h27m40s create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
15 505ms 8s32ms 3s652ms 1,440 1h27m40s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
16 505ms 8s32ms 3s652ms 1,440 1h27m40s create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
17 505ms 8s32ms 3s652ms 1,440 1h27m40s create schema if not exists observability;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s480ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m40s - Times executed: 1439 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
18 505ms 8s32ms 3s652ms 1,440 1h27m39s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s471ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m39s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
19 505ms 8s32ms 3s652ms 1,440 1h27m39s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s471ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m39s - Times executed: 1439 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
20 505ms 8s32ms 3s652ms 1,440 1h27m39s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 23 01 60 3m28s 3s471ms 02 60 3m46s 3s772ms 03 60 3m57s 3s958ms 04 60 3m56s 3s939ms 05 60 3m56s 3s941ms 06 60 3m56s 3s941ms 07 60 1m26s 1s436ms 08 60 46s876ms 781ms 09 60 47s66ms 784ms 10 60 1m51s 1s866ms 11 60 2m17s 2s298ms 12 60 3m33s 3s566ms 13 60 3m13s 3s219ms 14 60 3m33s 3s555ms 15 60 2m32s 2s537ms 16 60 3m59s 3s992ms 17 60 3m41s 3s691ms 18 60 4m5s 4s95ms 19 60 3m47s 3s790ms 20 60 3m58s 3s979ms 21 60 4m5s 4s86ms 22 60 5m45s 5s753ms 23 60 7m45s 7s752ms 00 60 7m26s 7s443ms [ User: labanimal - Total duration: 1h27m39s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-23 22:53:01 Duration: 8s32ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-23 22:48:01 Duration: 7s984ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-23 23:08:01 Duration: 7s969ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Time consuming prepare
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
Time consuming bind
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
-
Events
Log levels
Key values
- 181,821 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 3 FATAL entries
- 83 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 23 Max number of times the same event was reported
- 86 Total events found
Rank Times reported Error 1 23 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #1
Day Hour Count Apr 23 01 1 02 3 03 5 10 4 11 7 12 1 13 2 - ERROR: duplicate key value violates unique constraint "tasks_pkey"
- ERROR: duplicate key value violates unique constraint "litter_history_pkey"
- ERROR: duplicate key value violates unique constraint "litter_history_pkey"
Detail: Key (id)=(10142028) already exists.
Context: SQL statement "INSERT INTO tasks (id, name, "order", parent, "method", "entryValue", "returnedValue", done, deadline, loc, instructions, "comment", active, link, task_status, prio_owner, prio_editor, prio_agent, issuer, time_issued, completed_by, time_completed) VALUES (task_id, t.name, t."order", real_parent_id, t."method", t."entryValue", t."returnedValue", t.done, t.deadline, t.loc, t.instructions, t."comment", t.active, t.link, t.task_status, t.prio_owner, t.prio_editor, t.prio_agent, t.issuer, t.time_issued, t.completed_by, t.time_completed)" PL/pgSQL function p_save_task_tree(bigint,text,bigint) line 132 at SQL statement
Statement: SELECT p_save_task_tree(1, '42', 10307363);Date: 2026-04-23 00:57:14 Database: zemm_produktiv_7 Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Detail: Key (id)=(10163748) already exists.
Context: SQL statement "INSERT INTO litter_history(id, litter, "splitMale", "splitFemale", timestamp, "byID") VALUES (nextval('public.litter_history_id_seq'::text), litter_id_in, males_to_wean_in, 0, now(), user_id_in)" PL/pgSQL function p_wean_males(integer,integer,integer,integer,character varying,character varying,character varying,character varying,date,character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying,text,text,bigint) line 112 at SQL statement
Statement: SELECT * FROM p_wean_males(1, 10132300, 1, 10249, NULL, 'B6.3xNfat.Foxp3cre', 'B6.Nfatc1fl.c2ko.c3fl.Foxp3tm4(YFP/cre)Ayr/J', 'F2', '2026-04-23', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '10100108', NULL);Date: 2026-04-23 01:51:28 Database: zemm_produktiv_7 Application: _backend_wean_api.php_zemm_produktiv_7_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Detail: Key (id)=(10163749) already exists.
Context: SQL statement "INSERT INTO litter_history(id, litter, "splitMale", "splitFemale", timestamp, "byID") VALUES (nextval('public.litter_history_id_seq'::text), litter_id_in, males_to_wean_in, 0, now(), user_id_in)" PL/pgSQL function p_wean_males(integer,integer,integer,integer,character varying,character varying,character varying,character varying,date,character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying,character varying,text,text,bigint) line 112 at SQL statement
Statement: SELECT * FROM p_wean_males(1, 10132291, 1, 2475, NULL, 'C.CbyLdlr', NULL, ' F0', '2026-04-23', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '10100108', 1);Date: 2026-04-23 01:54:52 Database: zemm_produktiv_7 Application: _backend_wean_api.php_zemm_produktiv_7_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
2 22 ERROR: syntax error at or near "..."
Times Reported Most Frequent Error / Event #2
Day Hour Count Apr 23 01 18 12 2 16 1 17 1 - ERROR: syntax error at or near "server_version"
- ERROR: syntax error at or near "public"
- ERROR: syntax error at or near "public"
Statement: SELECT current_database(), current_setting(''server_version''), current_setting(''TimeZone'');
Date: 2026-04-23 00:48:07 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Statement: SELECT 'users', to_regclass(''public.users'');
Date: 2026-04-23 00:48:07 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Statement: SELECT 'sys_screens', to_regclass(''public.sys_screens'');
Date: 2026-04-23 00:48:07 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
3 14 ERROR: column "..." does not exist
Times Reported Most Frequent Error / Event #3
Day Hour Count Apr 23 01 1 02 2 03 9 11 1 14 1 - ERROR: column "level" does not exist
- ERROR: column "fullname" does not exist
- ERROR: column "created_at" does not exist
Statement: SELECT occurred_at, tenant_key, level, message, coalesce(metadata::text,'') FROM observability.app_events WHERE occurred_at > NOW() - INTERVAL '6 hours' AND ( message ILIKE '%Live nach Test%' OR coalesce(metadata::text,'') ILIKE '%database-live-to-test%' OR coalesce(metadata::text,'') ILIKE '%target_tenant%' OR coalesce(metadata::text,'') ILIKE '%requested_by%' ) ORDER BY occurred_at DESC LIMIT 50;
Date: 2026-04-23 00:16:37 Database: zemm_monitoring Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Hint: Perhaps you meant to reference the column "users.fullName".
Statement: SELECT id, username, fullName, role, active, deleted FROM users WHERE username = 'aadmin';Date: 2026-04-23 01:10:40 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Statement: SELECT COUNT(*) AS runs, MIN(created_at) AS first_run, MAX(created_at) AS last_run FROM information_schema.tables t JOIN LATERAL (SELECT 1) x ON TRUE WHERE EXISTS (SELECT 1 FROM information_schema.tables WHERE table_schema='public' AND table_name='import_runs');
Date: 2026-04-23 01:14:07 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
4 13 ERROR: argument of AND must be type boolean, not type text
Times Reported Most Frequent Error / Event #4
Day Hour Count Apr 23 21 13 - ERROR: argument of AND must be type boolean, not type text
- ERROR: argument of AND must be type boolean, not type text
- ERROR: argument of AND must be type boolean, not type text
Statement: WITH RECURSIVE root_subtree AS ( SELECT tk.id, tk.parent, 0 AS depth, LPAD(tk.id::text, 12, '0') AS path FROM tasks tk WHERE tk.id = 10141452 AND NOT(tk.deleted) UNION ALL SELECT child.id, child.parent, root_subtree.depth + 1 AS depth, root_subtree.path || '.' || LPAD(child.id::text, 12, '0') AS path FROM tasks child INNER JOIN root_subtree ON child.parent = root_subtree.id WHERE NOT(child.deleted) ), subtree AS ( SELECT rs.id, rs.parent, rs.depth, rs.path, tk.name, tk.comment, tk.instructions, tk.task_status::text AS task_status, CASE WHEN tk.deadline IS NULL THEN '' ELSE tk.deadline::date::text END AS deadline, COALESCE(encode(tk.link, 'escape'), '') AS link, tk.owner, tk.editor, tk.agent, tk.issuer, tk.time_issued, tk.completed_by, tk.time_completed, tk.prio_owner, tk.prio_editor, tk.prio_agent, tk.active::text AS active, COALESCE(issuer_user."fullName", '') AS issuer_name, COALESCE(completed_user."fullName", '') AS completed_by_name, COALESCE(owner_members.user_ids, '') AS owner_user_ids, COALESCE(owner_members.group_ids, '') AS owner_group_ids, COALESCE(editor_members.user_ids, '') AS editor_user_ids, COALESCE(editor_members.group_ids, '') AS editor_group_ids, COALESCE(agent_members.user_ids, '') AS agent_user_ids, COALESCE(agent_members.group_ids, '') AS agent_group_ids, false AS deleted FROM root_subtree rs INNER JOIN tasks tk ON tk.id = rs.id LEFT JOIN users issuer_user ON issuer_user.id = tk.issuer LEFT JOIN users completed_user ON completed_user.id = tk.completed_by LEFT JOIN LATERAL ( SELECT STRING_AGG(DISTINCT tgm."user"::text, ',') AS user_ids, STRING_AGG(DISTINCT tgm."group"::text, ',') AS group_ids FROM "targetgroupMembers" tgm WHERE tgm.targetgroup = tk.owner ) owner_members ON TRUE LEFT JOIN LATERAL ( SELECT STRING_AGG(DISTINCT tgm."user"::text, ',') AS user_ids, STRING_AGG(DISTINCT tgm."group"::text, ',') AS group_ids FROM "targetgroupMembers" tgm WHERE tgm.targetgroup = tk.editor ) editor_members ON TRUE LEFT JOIN LATERAL ( SELECT STRING_AGG(DISTINCT tgm."user"::text, ',') AS user_ids, STRING_AGG(DISTINCT tgm."group"::text, ',') AS group_ids FROM "targetgroupMembers" tgm WHERE tgm.targetgroup = tk.agent ) agent_members ON TRUE ), matched AS ( SELECT * FROM subtree WHERE NOT(subtree.deleted) AND subtree.active AND (subtree.task_status::text IN ('2','4','6') OR (subtree.task_status::text = '3' AND (subtree.time_completed IS NULL OR subtree.time_completed + interval '30 days' >= NOW()))) AND (subtree.deadline IS NULL OR subtree.deadline::date >= CURRENT_DATE - INTERVAL '30 days') ), visible_nodes AS ( SELECT matched.id, matched.parent FROM matched UNION SELECT parent.id, parent.parent FROM subtree parent INNER JOIN visible_nodes child ON child.parent = parent.id ) SELECT scope.id, scope.parent, scope.depth, scope.path, scope.name, scope.comment, scope.instructions, scope.task_status, scope.deadline, scope.link, scope.owner, scope.editor, scope.agent, scope.issuer, scope.time_issued, scope.completed_by, scope.time_completed, scope.prio_owner, scope.prio_editor, scope.prio_agent, scope.active, scope.issuer_name, scope.completed_by_name, scope.owner_user_ids, scope.owner_group_ids, scope.editor_user_ids, scope.editor_group_ids, scope.agent_user_ids, scope.agent_group_ids FROM ( SELECT DISTINCT subtree.id, subtree.parent, subtree.depth, subtree.path, subtree.name, subtree.comment, subtree.instructions, subtree.task_status, subtree.deadline, subtree.link, subtree.owner, subtree.editor, subtree.agent, subtree.issuer, subtree.time_issued, subtree.completed_by, subtree.time_completed, subtree.prio_owner, subtree.prio_editor, subtree.prio_agent, subtree.active, subtree.issuer_name, subtree.completed_by_name, subtree.owner_user_ids, subtree.owner_group_ids, subtree.editor_user_ids, subtree.editor_group_ids, subtree.agent_user_ids, subtree.agent_group_ids FROM subtree INNER JOIN visible_nodes ON visible_nodes.id = subtree.id ORDER BY subtree.path ) scope
Date: 2026-04-23 20:34:26 Database: zemm_produktiv_7 Application: _desktop_index.php_command_tasks_subcommand_overview_zemm_produ User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Statement: WITH RECURSIVE root_subtree AS ( SELECT tk.id, tk.parent, 0 AS depth, LPAD(tk.id::text, 12, '0') AS path FROM tasks tk WHERE tk.id = 10141452 AND NOT(tk.deleted) UNION ALL SELECT child.id, child.parent, root_subtree.depth + 1 AS depth, root_subtree.path || '.' || LPAD(child.id::text, 12, '0') AS path FROM tasks child INNER JOIN root_subtree ON child.parent = root_subtree.id WHERE NOT(child.deleted) ), subtree AS ( SELECT rs.id, rs.parent, rs.depth, rs.path, tk.name, tk.comment, tk.instructions, tk.task_status::text AS task_status, CASE WHEN tk.deadline IS NULL THEN '' ELSE tk.deadline::date::text END AS deadline, COALESCE(encode(tk.link, 'escape'), '') AS link, tk.owner, tk.editor, tk.agent, tk.issuer, tk.time_issued, tk.completed_by, tk.time_completed, tk.prio_owner, tk.prio_editor, tk.prio_agent, tk.active::text AS active, COALESCE(issuer_user."fullName", '') AS issuer_name, COALESCE(completed_user."fullName", '') AS completed_by_name, COALESCE(owner_members.user_ids, '') AS owner_user_ids, COALESCE(owner_members.group_ids, '') AS owner_group_ids, COALESCE(editor_members.user_ids, '') AS editor_user_ids, COALESCE(editor_members.group_ids, '') AS editor_group_ids, COALESCE(agent_members.user_ids, '') AS agent_user_ids, COALESCE(agent_members.group_ids, '') AS agent_group_ids, false AS deleted FROM root_subtree rs INNER JOIN tasks tk ON tk.id = rs.id LEFT JOIN users issuer_user ON issuer_user.id = tk.issuer LEFT JOIN users completed_user ON completed_user.id = tk.completed_by LEFT JOIN LATERAL ( SELECT STRING_AGG(DISTINCT tgm."user"::text, ',') AS user_ids, STRING_AGG(DISTINCT tgm."group"::text, ',') AS group_ids FROM "targetgroupMembers" tgm WHERE tgm.targetgroup = tk.owner ) owner_members ON TRUE LEFT JOIN LATERAL ( SELECT STRING_AGG(DISTINCT tgm."user"::text, ',') AS user_ids, STRING_AGG(DISTINCT tgm."group"::text, ',') AS group_ids FROM "targetgroupMembers" tgm WHERE tgm.targetgroup = tk.editor ) editor_members ON TRUE LEFT JOIN LATERAL ( SELECT STRING_AGG(DISTINCT tgm."user"::text, ',') AS user_ids, STRING_AGG(DISTINCT tgm."group"::text, ',') AS group_ids FROM "targetgroupMembers" tgm WHERE tgm.targetgroup = tk.agent ) agent_members ON TRUE ), matched AS ( SELECT * FROM subtree WHERE NOT(subtree.deleted) AND subtree.active AND (subtree.task_status::text IN ('2','4','6') OR (subtree.task_status::text = '3' AND (subtree.time_completed IS NULL OR subtree.time_completed + interval '30 days' >= NOW()))) AND (subtree.deadline IS NULL OR subtree.deadline::date >= CURRENT_DATE - INTERVAL '30 days') ), visible_nodes AS ( SELECT matched.id, matched.parent FROM matched UNION SELECT parent.id, parent.parent FROM subtree parent INNER JOIN visible_nodes child ON child.parent = parent.id ) SELECT scope.id, scope.parent, scope.depth, scope.path, scope.name, scope.comment, scope.instructions, scope.task_status, scope.deadline, scope.link, scope.owner, scope.editor, scope.agent, scope.issuer, scope.time_issued, scope.completed_by, scope.time_completed, scope.prio_owner, scope.prio_editor, scope.prio_agent, scope.active, scope.issuer_name, scope.completed_by_name, scope.owner_user_ids, scope.owner_group_ids, scope.editor_user_ids, scope.editor_group_ids, scope.agent_user_ids, scope.agent_group_ids FROM ( SELECT DISTINCT subtree.id, subtree.parent, subtree.depth, subtree.path, subtree.name, subtree.comment, subtree.instructions, subtree.task_status, subtree.deadline, subtree.link, subtree.owner, subtree.editor, subtree.agent, subtree.issuer, subtree.time_issued, subtree.completed_by, subtree.time_completed, subtree.prio_owner, subtree.prio_editor, subtree.prio_agent, subtree.active, subtree.issuer_name, subtree.completed_by_name, subtree.owner_user_ids, subtree.owner_group_ids, subtree.editor_user_ids, subtree.editor_group_ids, subtree.agent_user_ids, subtree.agent_group_ids FROM subtree INNER JOIN visible_nodes ON visible_nodes.id = subtree.id ORDER BY subtree.path ) scope
Date: 2026-04-23 20:34:38 Database: zemm_produktiv_7 Application: _desktop_index.php_command_tasks_subcommand_overview_zemm_produ User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Statement: WITH RECURSIVE root_subtree AS ( SELECT tk.id, tk.parent, 0 AS depth, LPAD(tk.id::text, 12, '0') AS path FROM tasks tk WHERE tk.id = 10141452 AND NOT(tk.deleted) UNION ALL SELECT child.id, child.parent, root_subtree.depth + 1 AS depth, root_subtree.path || '.' || LPAD(child.id::text, 12, '0') AS path FROM tasks child INNER JOIN root_subtree ON child.parent = root_subtree.id WHERE NOT(child.deleted) ), subtree AS ( SELECT rs.id, rs.parent, rs.depth, rs.path, tk.name, tk.comment, tk.instructions, tk.task_status::text AS task_status, CASE WHEN tk.deadline IS NULL THEN '' ELSE tk.deadline::date::text END AS deadline, COALESCE(encode(tk.link, 'escape'), '') AS link, tk.owner, tk.editor, tk.agent, tk.issuer, tk.time_issued, tk.completed_by, tk.time_completed, tk.prio_owner, tk.prio_editor, tk.prio_agent, tk.active::text AS active, COALESCE(issuer_user."fullName", '') AS issuer_name, COALESCE(completed_user."fullName", '') AS completed_by_name, COALESCE(owner_members.user_ids, '') AS owner_user_ids, COALESCE(owner_members.group_ids, '') AS owner_group_ids, COALESCE(editor_members.user_ids, '') AS editor_user_ids, COALESCE(editor_members.group_ids, '') AS editor_group_ids, COALESCE(agent_members.user_ids, '') AS agent_user_ids, COALESCE(agent_members.group_ids, '') AS agent_group_ids, false AS deleted FROM root_subtree rs INNER JOIN tasks tk ON tk.id = rs.id LEFT JOIN users issuer_user ON issuer_user.id = tk.issuer LEFT JOIN users completed_user ON completed_user.id = tk.completed_by LEFT JOIN LATERAL ( SELECT STRING_AGG(DISTINCT tgm."user"::text, ',') AS user_ids, STRING_AGG(DISTINCT tgm."group"::text, ',') AS group_ids FROM "targetgroupMembers" tgm WHERE tgm.targetgroup = tk.owner ) owner_members ON TRUE LEFT JOIN LATERAL ( SELECT STRING_AGG(DISTINCT tgm."user"::text, ',') AS user_ids, STRING_AGG(DISTINCT tgm."group"::text, ',') AS group_ids FROM "targetgroupMembers" tgm WHERE tgm.targetgroup = tk.editor ) editor_members ON TRUE LEFT JOIN LATERAL ( SELECT STRING_AGG(DISTINCT tgm."user"::text, ',') AS user_ids, STRING_AGG(DISTINCT tgm."group"::text, ',') AS group_ids FROM "targetgroupMembers" tgm WHERE tgm.targetgroup = tk.agent ) agent_members ON TRUE ), matched AS ( SELECT * FROM subtree WHERE NOT(subtree.deleted) AND subtree.active AND (subtree.task_status::text IN ('2','4','6') OR (subtree.task_status::text = '3' AND (subtree.time_completed IS NULL OR subtree.time_completed + interval '30 days' >= NOW()))) AND (subtree.deadline IS NULL OR subtree.deadline::date >= CURRENT_DATE - INTERVAL '30 days') ), visible_nodes AS ( SELECT matched.id, matched.parent FROM matched UNION SELECT parent.id, parent.parent FROM subtree parent INNER JOIN visible_nodes child ON child.parent = parent.id ) SELECT scope.id, scope.parent, scope.depth, scope.path, scope.name, scope.comment, scope.instructions, scope.task_status, scope.deadline, scope.link, scope.owner, scope.editor, scope.agent, scope.issuer, scope.time_issued, scope.completed_by, scope.time_completed, scope.prio_owner, scope.prio_editor, scope.prio_agent, scope.active, scope.issuer_name, scope.completed_by_name, scope.owner_user_ids, scope.owner_group_ids, scope.editor_user_ids, scope.editor_group_ids, scope.agent_user_ids, scope.agent_group_ids FROM ( SELECT DISTINCT subtree.id, subtree.parent, subtree.depth, subtree.path, subtree.name, subtree.comment, subtree.instructions, subtree.task_status, subtree.deadline, subtree.link, subtree.owner, subtree.editor, subtree.agent, subtree.issuer, subtree.time_issued, subtree.completed_by, subtree.time_completed, subtree.prio_owner, subtree.prio_editor, subtree.prio_agent, subtree.active, subtree.issuer_name, subtree.completed_by_name, subtree.owner_user_ids, subtree.owner_group_ids, subtree.editor_user_ids, subtree.editor_group_ids, subtree.agent_user_ids, subtree.agent_group_ids FROM subtree INNER JOIN visible_nodes ON visible_nodes.id = subtree.id ORDER BY subtree.path ) scope
Date: 2026-04-23 20:35:42 Database: zemm_produktiv_7 Application: _desktop_index.php_command_tasks_subcommand_overview_zemm_produ User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
5 5 ERROR: relation "..." does not exist
Times Reported Most Frequent Error / Event #5
Day Hour Count Apr 23 01 2 03 1 10 1 12 1 - ERROR: relation "animals_search_mview" does not exist
- ERROR: relation "public.groupmembers" does not exist
- ERROR: relation "import_questions" does not exist
Context: PL/pgSQL function public.insert_search_mviews_by_animals() line 2 at SQL statement
Statement: COPY public.animals (id, species, transgen, "homeCage", tourist, editor, owner, comments, pregnant, name, sex, "standardDescription", "parentFemale", "parentMale", "parentFoster", colour, "plannedUseFor", deleted, generation, chimare, "birthDate", "arrivalDate", "outgoingDate", "deathDate", breedstatus_2, "healthState", breeder, restrictions, "geneStatus", "geneFlanking", "geneDeleted", "fromOrder_2", "group", "fromOrder", strain, "breedStatus", "FEMnumber", genotype, inbreeding, identification, jax, "KOgene", "feedingClass", dummy_gen_info, breeding, sterile, project, dummy_line_info, dummy_strain_info, "bredWith", "curCage", dummy_backcross_info, fate, "fateComment", alive, reciever, "animalID", litter, weight_at_arrival, cohort, gen_2_info, gen_3_info, gen_4_info, gen_5_info, gen_1_typ, gen_2_typ, gen_3_typ, gen_4_typ, gen_5_typ, "latestMatingDate", "latestMating", genecomment, recycle) FROM stdin;Date: 2026-04-23 00:12:48 Database: zemm_produktiv_7 Application: pg_restore User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Statement: SELECT pg_get_serial_sequence($1, $2) AS seq_name
Date: 2026-04-23 00:46:51 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Statement: SELECT COUNT(*) AS import_questions_seed_rows FROM information_schema.tables t LEFT JOIN LATERAL ( SELECT COUNT(*)::bigint AS c FROM import_questions ) q ON t.table_name='import_questions' WHERE t.table_schema='public' AND t.table_name='import_questions';
Date: 2026-04-23 02:59:15 Database: zemm_produktiv_8 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
6 2 FATAL: terminating connection due to administrator command
Times Reported Most Frequent Error / Event #6
Day Hour Count Apr 23 01 2 - FATAL: terminating connection due to administrator command
- FATAL: terminating connection due to administrator command
Date: 2026-04-23 00:12:26 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Date: 2026-04-23 00:43:47 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
7 2 ERROR: invalid input syntax for type boolean: ...
Times Reported Most Frequent Error / Event #7
Day Hour Count Apr 23 01 1 02 1 - ERROR: invalid input syntax for type boolean: ""
- ERROR: invalid input syntax for type boolean: ""
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id WHERE NOT(a.deleted) AND ( (a."deathDate" IS NOT NULL AND a."deathDate" >= '2026-01-01'::DATE AND a."deathDate" <= '2026-12-31'::DATE) OR (a."outgoingDate" IS NOT NULL AND a."outgoingDate" >= '2026-01-01'::DATE AND a."outgoingDate" <= '2026-12-31'::DATE) OR (a.fate IN (1, 10, 11, 13, 14, 15, 9, 4) AND a."deathDate" IS NULL AND a."outgoingDate" IS NULL) ) ORDER BY g.name, l.application_id, a.id
Date: 2026-04-23 00:54:23 Database: zemm_produktiv_7 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id WHERE NOT(a.deleted) AND ( (a."deathDate" IS NOT NULL AND a."deathDate" >= '2026-01-01'::DATE AND a."deathDate" <= '2026-12-31'::DATE) OR (a."outgoingDate" IS NOT NULL AND a."outgoingDate" >= '2026-01-01'::DATE AND a."outgoingDate" <= '2026-12-31'::DATE) OR (a.fate IN (1, 10, 11, 13, 14, 15, 9, 4) AND a."deathDate" IS NULL AND a."outgoingDate" IS NULL) ) ORDER BY g.name, l.application_id, a.id
Date: 2026-04-23 01:09:13 Database: zemm_produktiv_7 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
8 1 ERROR: setval: value 600002002 is out of bounds for sequence "..." (...)
Times Reported Most Frequent Error / Event #8
Day Hour Count Apr 23 10 1 - ERROR: setval: value 600002002 is out of bounds for sequence "litter_history_id_seq" (1..99900000)
Statement: SELECT 'litter_history_id_seq', setval('litter_history_id_seq', GREATEST((SELECT COALESCE(MAX(id),1) FROM litter_history), (SELECT last_value FROM litter_history_id_seq)), true); SELECT 'animals_id_seq', setval('animals_id_seq', GREATEST((SELECT COALESCE(MAX(id),1) FROM animals), (SELECT last_value FROM animals_id_seq)), true); SELECT 'fem_numbers_id_seq', setval('fem_numbers_id_seq', GREATEST((SELECT COALESCE(MAX(id),1) FROM fem_numbers), (SELECT last_value FROM fem_numbers_id_seq)), true); SELECT 'cost_history_id_seq', setval('cost_history_id_seq', GREATEST((SELECT COALESCE(MAX(id),1) FROM cost_history), (SELECT last_value FROM cost_history_id_seq)), true); SELECT 'targetgroups_id_seq', setval('targetgroups_id_seq', GREATEST((SELECT COALESCE(MAX(id),1) FROM targetgroups), (SELECT last_value FROM targetgroups_id_seq)), true); SELECT 'targetgroupMembers_id_seq', setval('"targetgroupMembers_id_seq"', GREATEST((SELECT COALESCE(MAX(id),1) FROM "targetgroupMembers"), (SELECT last_value FROM "targetgroupMembers_id_seq")), true);
Date: 2026-04-23 09:53:23 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
9 1 FATAL: Peer authentication failed for user "..."
Times Reported Most Frequent Error / Event #9
Day Hour Count Apr 23 12 1 - FATAL: Peer authentication failed for user "labanimal"
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-23 11:46:24 Database: zemm_produktiv_7 Application: User: labanimal Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
10 1 ERROR: invalid input syntax for type date: ...
Times Reported Most Frequent Error / Event #10
Day Hour Count Apr 23 10 1 - ERROR: invalid input syntax for type date: ""
Statement: SELECT p_update_breedings(12, 10111341, 14930, '2026-04-08'::DATE, ''::DATE, '10298161'::TEXT, '10293976'::TEXT, '2026-04-22'::DATE) AS id
Date: 2026-04-23 09:27:04 Database: zemm_produktiv_8 Application: _desktop_index.php_cage_name_63-316_breeding_date_2026-04-08_un User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
11 1 ERROR: insert or update on table "..." violates foreign key constraint "..."
Times Reported Most Frequent Error / Event #11
Day Hour Count Apr 23 14 1 - ERROR: insert or update on table "import_validation_issues" violates foreign key constraint "import_validation_issues_run_id_fkey"
Detail: Key (run_id)=(0) is not present in table "import_runs".
Statement: INSERT INTO import_validation_issues ( run_id, severity, category, message_de, issue_code, is_blocking, detail_json, acknowledged_by, acknowledged_at ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)Date: 2026-04-23 13:47:53 Database: zemm_produktiv_7 Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv
12 1 ERROR: setval: value 600002111 is out of bounds for sequence "..." (...)
Times Reported Most Frequent Error / Event #12
Day Hour Count Apr 23 11 1 - ERROR: setval: value 600002111 is out of bounds for sequence "diary_id_seq" (1..199999999)
Statement: SELECT setval('diary_id_seq', (SELECT COALESCE(MAX(id),0) FROM diary), true);
Date: 2026-04-23 10:59:15 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-23_000000.csv