-
Global information
- Generated on Thu Apr 30 06:06:01 2026
- Log file: /var/log/postgresql/postgresql-2026-03-25_000000.csv, ..., /var/log/postgresql/postgresql-2026-04-30_000000.csv
- Parsed 295,610 log entries in 6m
- Log start from 2026-04-10 00:00:01 to 2026-04-10 23:59:02
-
Overview
Global Stats
- 68 Number of unique normalized queries
- 24,729 Number of queries
- 8h50m41s Total query duration
- 2026-04-10 00:00:01 First query
- 2026-04-10 23:59:01 Last query
- 19 queries/s at 2026-04-10 14:41:01 Query peak
- 8h50m41s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 8h50m41s Execute total duration
- 19 Number of events
- 10 Number of unique normalized events
- 5 Max number of times the same event was reported
- 0 Number of cancellation
- 72 Total number of automatic vacuums
- 156 Total number of automatic analyzes
- 211 Number temporary file
- 222.98 MiB Max size of temporary file
- 55.40 MiB Average size of temporary file
- 27,414 Total number of sessions
- 8 sessions at 2026-04-10 11:11:58 Session peak
- 1h41m14s Total duration of sessions
- 221ms Average duration of sessions
- 0 Average queries per session
- 1s161ms Average queries duration per session
- 0ms Average idle time per session
- 27,414 Total number of connections
- 43 connections/s at 2026-04-10 07:55:12 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 19 queries/s Query Peak
- 2026-04-10 14:41:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-04-10 00:13:56 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 19 queries/s Query Peak
- 2026-04-10 14:41:01 Date
Queries duration
Key values
- 8h50m41s 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 10 00 1,029 0ms 3s175ms 1s340ms 53s891ms 55s535ms 56s17ms 01 1,021 846ms 1s233ms 1s33ms 20s964ms 20s964ms 20s964ms 02 1,020 1s233ms 1s233ms 1s233ms 20s964ms 20s964ms 20s964ms 03 1,020 1s233ms 1s233ms 1s233ms 20s964ms 20s964ms 20s964ms 04 1,020 1s233ms 1s233ms 1s233ms 20s964ms 20s964ms 20s964ms 05 1,020 1s233ms 1s233ms 1s233ms 20s964ms 20s964ms 20s964ms 06 1,025 0ms 1s936ms 1s2ms 32s919ms 32s919ms 32s919ms 07 1,049 509ms 6s93ms 2s315ms 1m39s 1m43s 1m44s 08 1,035 554ms 4s717ms 2s481ms 1m20s 1m20s 1m29s 09 1,035 505ms 3s415ms 2s364ms 59s826ms 1m 1m1s 10 1,063 514ms 3s384ms 2s634ms 59s320ms 59s978ms 1m 11 1,070 516ms 3s951ms 2s245ms 59s292ms 1m1s 1m8s 12 1,032 666ms 2s307ms 1s19ms 39s229ms 39s229ms 41s168ms 13 1,039 671ms 2s297ms 942ms 39s51ms 39s51ms 41s876ms 14 1,056 558ms 3s508ms 1s498ms 59s581ms 59s637ms 1m2s 15 1,020 667ms 667ms 667ms 11s349ms 11s349ms 11s349ms 16 1,024 667ms 750ms 671ms 11s428ms 11s428ms 14s194ms 17 1,022 672ms 843ms 729ms 14s344ms 14s344ms 14s535ms 18 1,023 805ms 843ms 810ms 14s344ms 14s543ms 15s154ms 19 1,020 805ms 805ms 805ms 13s691ms 13s691ms 13s691ms 20 1,020 805ms 805ms 805ms 13s691ms 13s691ms 13s691ms 21 1,020 805ms 805ms 805ms 13s691ms 13s691ms 13s691ms 22 1,020 805ms 805ms 805ms 13s691ms 13s691ms 13s691ms 23 1,026 631ms 2s272ms 834ms 13s691ms 20s270ms 22s272ms Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 10 00 4 0 725ms 0ms 0ms 1s352ms 01 0 0 0ms 0ms 0ms 0ms 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 4 0 726ms 0ms 0ms 1s421ms 07 18 0 990ms 0ms 1s577ms 2s568ms 08 9 0 925ms 0ms 0ms 1s834ms 09 5 0 795ms 0ms 0ms 1s608ms 10 29 0 896ms 1s82ms 1s564ms 3s148ms 11 24 0 1s2ms 0ms 1s405ms 4s120ms 12 10 0 758ms 0ms 0ms 1s938ms 13 18 0 714ms 0ms 0ms 2s863ms 14 14 0 768ms 0ms 894ms 2s830ms 15 0 0 0ms 0ms 0ms 0ms 16 4 0 711ms 0ms 0ms 0ms 17 0 0 0ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 0 6 1s430ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 10 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s233ms 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 10 00 0 8 8.00 0.00% 01 0 0 0.00 0.00% 02 0 0 0.00 0.00% 03 0 0 0.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 15 15.00 0.00% 08 0 4 4.00 0.00% 09 0 9 9.00 0.00% 10 0 14 14.00 0.00% 11 0 31 31.00 0.00% 12 0 0 0.00 0.00% 13 0 0 0.00 0.00% 14 0 28 28.00 0.00% 15 0 0 0.00 0.00% 16 0 0 0.00 0.00% 17 0 0 0.00 0.00% 18 0 0 0.00 0.00% 19 0 0 0.00 0.00% 20 0 0 0.00 0.00% 21 0 0 0.00 0.00% 22 0 0 0.00 0.00% 23 0 0 0.00 0.00% Day Hour Count Average / Second Apr 10 00 902 0.25/s 01 547 0.15/s 02 547 0.15/s 03 544 0.15/s 04 544 0.15/s 05 578 0.16/s 06 1,410 0.39/s 07 1,852 0.51/s 08 1,997 0.55/s 09 2,553 0.71/s 10 3,140 0.87/s 11 2,901 0.81/s 12 1,547 0.43/s 13 825 0.23/s 14 994 0.28/s 15 659 0.18/s 16 971 0.27/s 17 1,027 0.29/s 18 1,100 0.31/s 19 550 0.15/s 20 549 0.15/s 21 549 0.15/s 22 570 0.16/s 23 558 0.15/s Day Hour Count Average Duration Average idle time Apr 10 00 902 206ms 0ms 01 547 236ms 0ms 02 547 233ms 0ms 03 544 234ms 0ms 04 544 233ms 0ms 05 578 221ms 0ms 06 1,410 152ms 0ms 07 1,852 200ms 0ms 08 1,997 166ms 0ms 09 2,553 203ms 0ms 10 3,140 282ms 0ms 11 2,899 310ms 0ms 12 1,549 160ms 0ms 13 825 217ms 0ms 14 994 218ms 0ms 15 659 205ms 0ms 16 971 181ms 0ms 17 1,027 183ms 0ms 18 1,100 207ms 0ms 19 550 232ms 0ms 20 549 230ms 0ms 21 549 230ms 0ms 22 570 224ms 0ms 23 558 255ms 0ms -
Connections
Established Connections
Key values
- 43 connections Connection Peak
- 2026-04-10 07:55:12 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 27,414 connections Total
Connections per user
Key values
- labanimal Main User
- 27,414 connections Total
-
Sessions
Simultaneous sessions
Key values
- 8 sessions Session Peak
- 2026-04-10 11:11:58 Date
Histogram of session times
Key values
- 24,734 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 27,414 sessions Total
Sessions per user
Key values
- labanimal Main User
- 27,414 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 27,414 sessions Total
Sessions per application
Key values
- Main Application
- 27,414 sessions Total
Application Count Total Duration Average Duration 21,748 1h21m24s 224ms _backend_cage_autocomplete_api.php_q_2025_limit_12_zemm_produkt 10 272ms 27ms _backend_cage_autocomplete_api.php_q_55-065_limit_12_zemm_produ 10 313ms 31ms _backend_wean_api.php_litter_id_10130227_zemm_produktiv_7_local 50 7s197ms 143ms _backend_wean_api.php_litter_id_10130236_zemm_produktiv_7_local 50 7s490ms 149ms _backend_wean_api.php_litter_id_10130257_zemm_produktiv_7_local 60 8s727ms 145ms _backend_wean_api.php_litter_id_10131692_zemm_produktiv_8_local 39 5s434ms 139ms _backend_wean_api.php_litter_id_10131731_zemm_produktiv_8_local 2 278ms 139ms _backend_wean_api.php_litter_id_10131746_zemm_produktiv_8_local 1 140ms 140ms _backend_wean_api.php_litter_id_10131781_zemm_produktiv_8_local 38 5s311ms 139ms _backend_wean_api.php_litter_id_10131787_zemm_produktiv_8_local 7 970ms 138ms _backend_wean_api.php_litter_id_10131788_zemm_produktiv_8_local 38 5s283ms 139ms _backend_wean_api.php_litter_id_10131789_zemm_produktiv_8_local 9 1s263ms 140ms _backend_wean_api.php_litter_id_10131793_zemm_produktiv_8_local 38 5s300ms 139ms _backend_wean_api.php_litter_id_10131799_zemm_produktiv_8_local 39 5s434ms 139ms _backend_wean_api.php_litter_id_10131800_zemm_produktiv_8_local 39 5s431ms 139ms _backend_wean_api.php_litter_id_10131802_zemm_produktiv_8_local 7 975ms 139ms _backend_wean_api.php_litter_id_10131803_zemm_produktiv_8_local 38 5s317ms 139ms _backend_wean_api.php_litter_id_10131838_zemm_produktiv_8_local 2 282ms 141ms _backend_wean_api.php_litter_id_10131864_zemm_produktiv_8_local 4 558ms 139ms _backend_wean_api.php_litter_id_10131865_zemm_produktiv_8_local 5 682ms 136ms _backend_wean_api.php_litter_id_10131867_zemm_produktiv_8_local 4 556ms 139ms _backend_wean_api.php_litter_id_10131868_zemm_produktiv_8_local 2 282ms 141ms _backend_wean_api.php_litter_id_10131869_zemm_produktiv_8_local 4 560ms 140ms _backend_wean_api.php_litter_id_10131870_zemm_produktiv_8_local 2 281ms 140ms _backend_wean_api.php_litter_id_10131871_zemm_produktiv_8_local 2 278ms 139ms _backend_wean_api.php_litter_id_10131874_zemm_produktiv_8_local 38 5s292ms 139ms _backend_wean_api.php_litter_id_10131877_zemm_produktiv_8_local 38 5s297ms 139ms _backend_wean_api.php_litter_id_10131879_zemm_produktiv_8_local 32 4s430ms 138ms _backend_wean_api.php_litter_id_10131880_zemm_produktiv_8_local 38 5s275ms 138ms _backend_wean_api.php_litter_id_10131898_zemm_produktiv_8_local 2 280ms 140ms _backend_wean_api.php_litter_id_10131899_zemm_produktiv_8_local 2 279ms 139ms _backend_wean_api.php_litter_id_10131900_zemm_produktiv_8_local 2 284ms 142ms _backend_wean_api.php_litter_id_10131901_zemm_produktiv_8_local 2 283ms 141ms _backend_wean_api.php_litter_id_10131961_zemm_produktiv_8_local 2 280ms 140ms _backend_wean_api.php_litter_id_10131974_zemm_produktiv_8_local 2 276ms 138ms _backend_wean_api.php_litter_id_10131975_zemm_produktiv_8_local 2 287ms 143ms _backend_wean_api.php_litter_id_10132006_zemm_produktiv_8_local 38 5s287ms 139ms _backend_wean_api.php_litter_id_10132126_zemm_produktiv_8_local 2 278ms 139ms _backend_wean_api.php_litter_id_10132141_zemm_produktiv_8_local 2 280ms 140ms _backend_wean_api.php_litter_id_10132142_zemm_produktiv_8_local 3 414ms 138ms _backend_wean_api.php_litter_id_10132143_zemm_produktiv_8_local 2 280ms 140ms _desktop__zemm_produktiv_7_localhost_5432 11 700ms 63ms _desktop__zemm_produktiv_8_localhost_5432 7 445ms 63ms _desktop_index.php_animal_name_34_animal_id_2025_2F002_2F8112_s 1 43ms 43ms _desktop_index.php_breeding__25_sex__25_in_breeding__25_fate_5_ 39 18s93ms 463ms _desktop_index.php_cages_name_55-_2A_cages_empty_false_val4_cag 1 653ms 653ms _desktop_index.php_cages_name_A15.415-1_2A_cages_empty_false_va 1 60ms 60ms _desktop_index.php_cages_name_A15.415-_2A_cages_empty__25_val4_ 1 587ms 587ms _desktop_index.php_cages_name_A15.415-_2A_cages_empty_false_val 1 243ms 243ms _desktop_index.php_cages_name_A15.415.1_2A_cages_empty__25_val4 1 581ms 581ms _desktop_index.php_command_animals_breedings_subcommand_select_ 10 532ms 53ms _desktop_index.php_command_animals_create_subcommand_init_zemm_ 10 605ms 60ms _desktop_index.php_command_animals_edit_subcommand_init_id_1028 2 219ms 109ms _desktop_index.php_command_animals_edit_subcommand_init_id_1029 3 304ms 101ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 3 272ms 90ms _desktop_index.php_command_animals_edit_subcommand_link_init_va 10 1s161ms 116ms _desktop_index.php_command_animals_edit_subcommand_m_init_scree 10 1s357ms 135ms _desktop_index.php_command_animals_litters_create_subcommand_se 1 176ms 176ms _desktop_index.php_command_animals_litters_edit_subcommand_init 10 1s72ms 107ms _desktop_index.php_command_animals_litters_edit_subcommand_m_in 10 3s224ms 322ms _desktop_index.php_command_animals_litters_subcommand_select_ze 10 490ms 49ms _desktop_index.php_command_animals_subcommand_found_val1_1760_v 1 36ms 36ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 8 364ms 45ms _desktop_index.php_command_animals_subcommand_select_zemm_produ 10 709ms 70ms _desktop_index.php_command_cages_edit_subcommand_init_id_101017 1 73ms 73ms _desktop_index.php_command_cages_subcommand_init_zemm_produktiv 1 42ms 42ms _desktop_index.php_command_import_dashboard_subcommand_conflict 2 137ms 68ms _desktop_index.php_command_import_dashboard_subcommand_view_run 2 140ms 70ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,607 48s768ms 30ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 2 297ms 148ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 13 1s409ms 108ms _desktop_index.php_command_reports_subcommand_annual_reports_ze 3 130ms 43ms _desktop_index.php_command_reports_subcommand_annual_year_2025_ 1 39ms 39ms _desktop_index.php_command_reports_subcommand_authority_meldung 2 91ms 45ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 10 1s160ms 116ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 20 5s865ms 293ms _desktop_index.php_command_tasks_subcommand_create_zemm_produkt 1 51ms 51ms _desktop_index.php_command_tasks_subcommand_edit_id_10134267_ze 10 881ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10141663_ze 1 78ms 78ms _desktop_index.php_command_tasks_subcommand_edit_id_10141911_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10141965_ze 1 79ms 79ms _desktop_index.php_command_tasks_subcommand_edit_id_10142069_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10142131_ze 2 164ms 82ms _desktop_index.php_command_tasks_subcommand_edit_id_10142175_ze 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10142181_ze 4 341ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10142189_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_found_val1_10100000 2 87ms 43ms _desktop_index.php_command_tasks_subcommand_init_search_zemm_pr 10 443ms 44ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 49 4s173ms 85ms _desktop_index.php_command_tasks_subcommand_search_zemm_produkt 10 505ms 50ms _desktop_index.php_m_action_animals_3Am_delete_row_animals_1029 1 47ms 47ms _desktop_index.php_m_action_animals_3Am_delete_row_animals_1030 5 221ms 44ms _desktop_index.php_m_action_animals_3Am_delete_val4_animals_lis 6 385ms 64ms _desktop_index.php_m_action_animals_edit_3Alink_init_row_animal 2 94ms 47ms _desktop_index.php_m_action_cages_3Am_cage_card_row_11136_11136 1 45ms 45ms _desktop_index.php_name_Abt_C3_B6ten_20v._20Tieren_20ohne_20Ver 1 99ms 99ms _desktop_index.php_name_Genotypisierungsproben_20genommen_instr 1 52ms 52ms _desktop_index.php_search_status_5_no_subtasks_true_command_use 1 49ms 49ms _desktop_index.php_unweaned_only_true_val4_animals_litters_sear 1 136ms 136ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 1 221ms 221ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 20 7s319ms 365ms _desktop_index.php_zemm_produktiv_7_localhost_5432 201 49s196ms 244ms _desktop_index.php_zemm_produktiv_8_localhost_5432 2,653 14m49s 335ms backend:zemm_produktiv_8@localhost 32 2s878ms 89ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s251ms 1s251ms notification:zemm_produktiv_8@h2940066.stratoserver.net:5432 5 21s664ms 4s332ms pg_dump 1 15s448ms 15s448ms psql 59 2s183ms 37ms taskscron:zemm_produktiv_7@zemm.fbiscience.eu 24 591ms 24ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 4s717ms 196ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 40,202 buffers Checkpoint Peak
- 2026-04-10 12:14:32 Date
- 270.017 seconds Highest write time
- 0.038 seconds Sync time
Checkpoints Wal files
Key values
- 8 files Wal files usage Peak
- 2026-04-10 00:23:17 Date
Checkpoints distance
Key values
- 264.32 Mo Distance Peak
- 2026-04-10 00:23:17 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Apr 10 00 16,709 600.555s 0.152s 600.765s 01 20,718 476.503s 0.098s 476.652s 02 2,329 233.621s 0.112s 233.785s 03 2,619 262.544s 0.098s 262.694s 04 2,330 233.696s 0.1s 233.844s 05 2,289 229.595s 0.102s 229.753s 06 3,691 365.915s 0.187s 366.163s 07 25,794 969.492s 0.249s 969.806s 08 20,090 935.219s 0.245s 935.52s 09 36,908 1,564.563s 0.233s 1,564.863s 10 33,018 1,809.706s 0.247s 1,810.025s 11 23,494 2,174.716s 0.235s 2,175.011s 12 57,889 980.65s 0.178s 980.891s 13 3,506 351.343s 0.129s 351.53s 14 7,207 579.806s 0.122s 579.989s 15 2,933 294.086s 0.107s 294.251s 16 3,227 323.646s 0.122s 323.825s 17 6,863 687.353s 0.14s 687.55s 18 6,668 667.611s 0.103s 667.767s 19 2,529 253.686s 0.087s 253.828s 20 2,577 258.467s 0.086s 258.611s 21 2,545 255.274s 0.087s 255.416s 22 2,805 281.187s 0.09s 281.333s 23 2,743 276.534s 0.084s 277.51s Day Hour Added Removed Recycled Synced files Longest sync Average sync Apr 10 00 0 0 10 599 0.005s 0.011s 01 0 0 7 415 0.002s 0.011s 02 0 0 0 426 0.002s 0.012s 03 0 0 1 424 0.002s 0.012s 04 0 0 1 421 0.002s 0.012s 05 0 0 1 440 0.004s 0.012s 06 0 0 1 993 0.004s 0.012s 07 0 0 8 1,416 0.004s 0.012s 08 0 0 5 1,374 0.003s 0.012s 09 0 0 15 1,366 0.002s 0.012s 10 0 0 11 1,273 0.009s 0.012s 11 0 0 11 1,167 0.005s 0.011s 12 0 0 8 1,010 0.002s 0.012s 13 0 0 1 670 0.006s 0.012s 14 0 0 2 692 0.001s 0.012s 15 0 0 1 598 0.001s 0.012s 16 0 0 1 698 0.002s 0.012s 17 0 0 2 786 0.002s 0.012s 18 0 0 1 564 0.002s 0.012s 19 0 0 1 451 0.002s 0.012s 20 0 0 1 445 0.002s 0.012s 21 0 0 0 443 0.002s 0.012s 22 0 0 1 476 0.002s 0.012s 23 0 0 1 442 0.001s 0.012s Day Hour Count Avg time (sec) Apr 10 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 10 00 13,796.36 kB 71,299.55 kB 01 10,430.00 kB 63,590.73 kB 02 1,111.83 kB 36,995.17 kB 03 1,156.50 kB 11,253.67 kB 04 1,101.92 kB 3,997.92 kB 05 1,099.58 kB 1,918.17 kB 06 1,596.30 kB 1,709.00 kB 07 10,744.67 kB 28,228.42 kB 08 7,195.25 kB 43,626.08 kB 09 20,788.75 kB 56,455.00 kB 10 14,826.08 kB 42,245.17 kB 11 16,537.18 kB 46,040.00 kB 12 11,101.00 kB 42,886.50 kB 13 1,453.42 kB 19,308.58 kB 14 2,292.08 kB 8,900.58 kB 15 1,253.17 kB 5,391.08 kB 16 1,360.75 kB 2,443.92 kB 17 1,994.50 kB 3,088.25 kB 18 1,879.58 kB 3,814.42 kB 19 1,144.17 kB 2,480.58 kB 20 1,154.92 kB 1,535.75 kB 21 1,128.33 kB 1,277.58 kB 22 1,173.33 kB 1,446.75 kB 23 1,181.92 kB 1,299.00 kB -
Temporary Files
Size of temporary files
Key values
- 369.44 MiB Temp Files size Peak
- 2026-04-10 07:35:16 Date
Number of temporary files
Key values
- 8 per second Temp Files Peak
- 2026-04-10 07:55:16 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Apr 10 00 11 500.71 MiB 45.52 MiB 01 0 0 0 02 0 0 0 03 0 0 0 04 0 0 0 05 0 0 0 06 0 0 0 07 37 1.84 GiB 51.03 MiB 08 6 277.66 MiB 46.28 MiB 09 34 1.53 GiB 46.14 MiB 10 51 2.43 GiB 48.70 MiB 11 42 2.65 GiB 64.62 MiB 12 0 0 0 13 0 0 0 14 30 2.20 GiB 75.22 MiB 15 0 0 0 16 0 0 0 17 0 0 0 18 0 0 0 19 0 0 0 20 0 0 0 21 0 0 0 22 0 0 0 23 0 0 0 Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 146 6.62 GiB 45.48 MiB 102.72 MiB 46.45 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-04-10 01:25:14+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') AND collected_at BETWEEN '2026-04-10 01:25:14+02' AND '2026-04-10 07:25:14+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-04-10 01:25:14+02' AND '2026-04-10 07:25:14+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-10 07:25:20 Duration: 6s93ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-04-10 01:45:12+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') AND collected_at BETWEEN '2026-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-10 07:45:18 Duration: 5s741ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-04-10 01:45:12+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') AND collected_at BETWEEN '2026-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-10 07:45:17 Duration: 5s684ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
Queries generating the largest temporary files
Rank Size Query 1 102.72 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-10 07:25:20 - Queryid: 3033269 ]
2 61.41 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-10 07:45:18 - Queryid: 3037281 ]
3 60.14 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-10 07:45:18 - Queryid: 3037281 ]
4 51.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) 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-10 07:45:18 - Queryid: 3037281 ]
5 46.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) 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-10 07:37:40 - Queryid: 3036237 ]
6 46.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) 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-10 07:37:40 - Queryid: 3036237 ]
7 46.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) 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-10 07:45:17 - Queryid: 3037197 ]
8 46.41 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-10 08:05:16 - Queryid: 3046406 ]
9 46.34 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-10 10:07:01 - Queryid: 3081997 ]
10 46.33 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-10 07:55:16 - Queryid: 3044638 ]
11 46.33 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-10 07:37:40 - Queryid: 3036237 ]
12 46.31 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-10 07:55:16 - Queryid: 3044638 ]
13 46.31 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-10 10:57:01 - Queryid: 3089608 ]
14 46.31 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-10 11:32:01 - Queryid: 3094723 ]
15 46.30 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-10 10:17:01 - Queryid: 3083301 ]
16 46.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-10 09:47:01 - Queryid: 3079383 ]
17 46.28 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-10 09:52:01 - Queryid: 3080094 ]
18 46.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-10 09:27:00 - Queryid: 3076355 ]
19 46.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-10 10:02:01 - Queryid: 3081301 ]
20 46.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-10 07:35:16 - Queryid: 3035709 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 3.81 sec Highest CPU-cost vacuum
Table observability.app_events
Database zemm_monitoring - 2026-04-10 12:08:30 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_monitoring - Date
Average Autovacuum Duration
Key values
- 3.81 sec Highest CPU-cost vacuum
Table observability.app_events
Database zemm_monitoring - 2026-04-10 12:08:30 Date
Analyzes per table
Key values
- pg_catalog.pg_type (39) Main table analyzed (database zemm_produktiv_8)
- 156 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 39 zemm_produktiv_8.pg_catalog.pg_attribute 28 zemm_produktiv_8.pg_catalog.pg_class 20 zemm_produktiv_8.pg_catalog.pg_depend 19 zemm_produktiv_8.public.breedingsdams 5 zemm_produktiv_8.public.breedingssires 5 zemm_produktiv_8.public.cages_search_mview 5 zemm_produktiv_7.public.breedingssires 4 zemm_monitoring.observability.uptime_checks 4 zemm_produktiv_7.public.breedingsdams 4 zemm_test_3.pg_catalog.pg_shdepend 2 zemm_produktiv_7.pg_catalog.pg_type 2 zemm_produktiv_8.public.tmptasks 2 template1.pg_catalog.pg_shdepend 2 zemm_monitoring.observability.metrics_timeseries 2 zemm_monitoring.pg_catalog.pg_shdepend 1 zemm_produktiv_7.public.import_column_mappings 1 zemm_produktiv_7.pg_catalog.pg_attribute 1 zemm_produktiv_8.public.users 1 zemm_produktiv_8.public.tasks 1 zemm_produktiv_7.pg_catalog.pg_class 1 zemm_monitoring.observability.app_events 1 zemm_produktiv_8.public.cages 1 fbi_ci_db.pg_catalog.pg_shdepend 1 zemm_produktiv_8.pg_catalog.pg_shdepend 1 zemm_produktiv_7.pg_catalog.pg_depend 1 zemm_monitoring.observability.system_metrics 1 zemm_produktiv_7.public.import_validation_issues 1 Total 156 Vacuums per table
Key values
- pg_catalog.pg_type (13) Main table vacuumed on database zemm_produktiv_8
- 72 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 13 13 0 0 0 0 0 659 148 139,396 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 11 11 0 0 0 0 0 1,327 442 311,667 0 0 zemm_produktiv_8.pg_catalog.pg_class 6 6 0 0 0 0 0 585 179 201,728 1 1 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 0 0 0 4,123 1,384 3,142,322 1,363 8,178 zemm_produktiv_8.public.breedingsdams 5 0 0 0 0 0 0 990 20 61,710 0 0 zemm_produktiv_8.pg_catalog.pg_depend 5 5 0 0 0 0 0 636 191 224,544 0 0 zemm_produktiv_8.public.breedingssires 5 0 0 0 0 0 0 740 20 46,960 0 0 zemm_produktiv_7.public.breedingsdams 4 0 0 0 0 0 0 792 16 49,368 0 0 zemm_produktiv_7.public.breedingssires 4 0 0 0 0 0 0 592 16 37,568 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 0 0 0 0 0 554 156 874,693 43 125 fbi_ci_db.pg_catalog.pg_shdepend 2 2 0 0 0 0 0 191 69 136,241 0 0 zemm_monitoring.observability.uptime_checks 2 0 0 0 0 0 0 375 343 531,180 15 300 zemm_monitoring.observability.app_events 1 0 0 0 0 0 0 16,239 16,174 20,427,891 0 0 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 47,847 50 3,599,743 1 1 zemm_produktiv_8.public.cages_search_mview 1 1 0 0 0 0 0 613 287 991,353 21 236 zemm_produktiv_7.public.import_validation_issues 1 1 0 0 0 0 0 16 8 6,165 0 0 zemm_monitoring.observability.metrics_timeseries 1 1 0 0 0 0 0 9,585 4,348 9,872,810 645 14,176 zemm_monitoring.pg_toast.pg_toast_2619 1 1 0 0 0 0 0 94 24 138,066 6 21 zemm_produktiv_8.public.tmptasks 1 1 0 0 0 0 0 80 28 18,843 2 2 Total 72 46 0 0 0 0 0 86,038 23,903 40,812,248 2,097 23,040 Vacuum throughput per table
Key values
- observability.app_events (3.81) Max CPU elapsed for vacuum on database zemm_monitoring
- observability.metrics_timeseries (8.771 ms) Max I/O read time for vacuum on database zemm_monitoring
- observability.metrics_timeseries (4.237 ms) Max I/O write time for vacuum on database zemm_monitoring
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 0.11 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 0.9 0 0.09 zemm_produktiv_8.pg_catalog.pg_class 0.344 0 0.01 zemm_monitoring.pg_toast.pg_toast_67431 1.722 0 0.35 zemm_produktiv_8.public.breedingsdams 0 0.105 0 zemm_produktiv_8.pg_catalog.pg_depend 0.322 0 0.05 zemm_produktiv_8.public.breedingssires 0 0.123 0 zemm_produktiv_7.public.breedingsdams 0 0.094 0 zemm_produktiv_7.public.breedingssires 0 0.072 0 zemm_produktiv_8.pg_toast.pg_toast_2619 0.697 0 0.03 fbi_ci_db.pg_catalog.pg_shdepend 0.273 0 0.02 zemm_monitoring.observability.uptime_checks 0.073 0 0.08 zemm_monitoring.observability.app_events 0.562 0 3.81 zemm_produktiv_8.public.tasks 0.688 0 0.65 zemm_produktiv_8.public.cages_search_mview 1.627 0 0.08 zemm_produktiv_7.public.import_validation_issues 0.232 0 0 zemm_monitoring.observability.metrics_timeseries 8.771 4.237 1.41 zemm_monitoring.pg_toast.pg_toast_2619 0.509 0 0 zemm_produktiv_8.public.tmptasks 0.631 0 0 Total 17.461 4.631 6.58 Tuples removed per table
Key values
- public.tasks (53700) Main table with removed tuples on database zemm_produktiv_8
- 111312 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 53,700 56,768 0 0 16,690 zemm_monitoring.observability.metrics_timeseries 1 1 37,344 300,372 0 0 6,377 zemm_produktiv_8.pg_catalog.pg_attribute 11 11 10,730 64,195 0 0 2,024 zemm_produktiv_8.pg_catalog.pg_depend 5 5 4,327 20,855 0 0 275 zemm_produktiv_8.pg_catalog.pg_type 13 13 2,632 10,803 0 0 403 zemm_produktiv_8.pg_catalog.pg_class 6 6 949 5,364 0 0 252 fbi_ci_db.pg_catalog.pg_shdepend 2 2 896 7,768 0 0 76 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 292 879 0 0 318 zemm_produktiv_8.public.cages_search_mview 1 1 288 13,829 0 0 234 zemm_produktiv_8.public.tmptasks 1 1 84 830 0 0 121 zemm_monitoring.pg_toast.pg_toast_2619 1 1 51 80 0 0 36 zemm_produktiv_7.public.import_validation_issues 1 1 19 8 0 0 2 zemm_produktiv_7.public.breedingsdams 4 0 0 121,493 0 0 776 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 1,722,560 0 0 288,690 zemm_monitoring.observability.uptime_checks 2 0 0 31,224 0 0 1,597 zemm_produktiv_8.public.breedingsdams 5 0 0 152,124 0 0 970 zemm_monitoring.observability.app_events 1 0 0 1,260,479 0 0 127,274 zemm_produktiv_7.public.breedingssires 4 0 0 89,917 0 0 576 zemm_produktiv_8.public.breedingssires 5 0 0 112,595 0 0 720 Total 72 46 111,312 3,972,143 0 0 447,411 Pages removed per table
Key values
- unknown (0) Main table with removed pages on database unknown
- 0 pages Total removed
Pages removed per tables
NO DATASET
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_7.public.breedingsdams 4 0 0 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 fbi_ci_db.pg_catalog.pg_shdepend 2 2 896 0 zemm_monitoring.observability.uptime_checks 2 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 11 11 10730 0 zemm_produktiv_8.public.breedingsdams 5 0 0 0 zemm_monitoring.observability.app_events 1 0 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 292 0 zemm_produktiv_8.pg_catalog.pg_depend 5 5 4327 0 zemm_produktiv_7.public.breedingssires 4 0 0 0 zemm_produktiv_8.public.tasks 1 1 53700 0 zemm_produktiv_8.public.cages_search_mview 1 1 288 0 zemm_produktiv_7.public.import_validation_issues 1 1 19 0 zemm_produktiv_8.public.breedingssires 5 0 0 0 zemm_monitoring.observability.metrics_timeseries 1 1 37344 0 zemm_produktiv_8.pg_catalog.pg_class 6 6 949 0 zemm_monitoring.pg_toast.pg_toast_2619 1 1 51 0 zemm_produktiv_8.pg_catalog.pg_type 13 13 2632 0 zemm_produktiv_8.public.tmptasks 1 1 84 0 Total 72 46 111,312 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Apr 10 00 5 4 01 1 1 02 0 0 03 1 0 04 0 1 05 0 0 06 7 19 07 4 14 08 12 15 09 10 23 10 7 12 11 4 19 12 12 19 13 1 4 14 1 5 15 0 3 16 3 7 17 3 6 18 0 2 19 0 0 20 0 0 21 0 1 22 1 1 23 0 0 - 3.81 sec Highest CPU-cost vacuum
-
Locks
Locks by types
Key values
- ShareLock Main Lock Type
- 1 locks Total
Most frequent waiting queries (N)
Rank Count Total time Min time Max time Avg duration Query 1 1 1s 1s 1s 1s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-10 07:30:01 Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-10 07:47:01 Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-10 08:05:01 Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
Queries that waited the most
Rank Wait time Query 1 1s CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-10 12:08:02 - Database: zemm_monitoring - User: labanimal ]
-
Queries
Queries by type
Key values
- 139 Total read queries
- 24,589 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,582 Requests
- 8h48m25s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- labanimal Main user
- 376,675 Requests
User Request type Count Duration deploy Total 57 14m43s cte 4 1m18s ddl 30 4m31s others 8 19s381ms select 9 6m3s labanimal Total 376,675 10d19h46m14s copy from 8 18s286ms copy to 96 4m30s cte 2,147 2h23m57s ddl 372,870 10d16h49m8s others 174 1m49s select 1,346 25m52s tcl 3 1s733ms update 19 20s772ms postgres Total 102 2m15s copy to 102 2m15s Duration by user
Key values
- 10d19h46m14s (labanimal) Main time consuming user
User Request type Count Duration deploy Total 57 14m43s cte 4 1m18s ddl 30 4m31s others 8 19s381ms select 9 6m3s labanimal Total 376,675 10d19h46m14s copy from 8 18s286ms copy to 96 4m30s cte 2,147 2h23m57s ddl 372,870 10d16h49m8s others 174 1m49s select 1,346 25m52s tcl 3 1s733ms update 19 20s772ms postgres Total 102 2m15s copy to 102 2m15s Queries by host
Key values
- unknown Main host
- 376,653 Requests
- 10d19h42m50s (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 20 3m17s select 1 2m56s update 19 20s772ms [local] Total 159 16m58s copy to 102 2m15s cte 4 1m18s ddl 30 4m31s others 8 19s381ms select 9 6m3s unknown Total 376,653 10d19h42m50s copy from 8 18s286ms copy to 96 4m30s cte 2,147 2h23m57s ddl 372,868 10d16h49m2s others 174 1m49s select 1,345 22m55s tcl 3 1s733ms Queries by application
Key values
- unknown Main application
- 24,590 Requests
- 8h48m30s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_zemm_produktiv_7_localhost_5432 Total 10 8s405ms cte 10 8s405ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 122 1m52s cte 5 9s166ms select 117 1m43s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s233ms update 1 1s233ms pg_dump Total 6 8s581ms copy to 6 8s581ms unknown Total 24,590 8h48m30s cte 87 3m34s ddl 24,480 8h44m38s select 22 16s600ms Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-04-10 09:39:44 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 152 500-1000ms duration
Slowest individual queries
Rank Duration Query 1 6s93ms 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-04-10 01:25:14+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') AND collected_at BETWEEN '2026-04-10 01:25:14+02' AND '2026-04-10 07:25:14+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-04-10 01:25:14+02' AND '2026-04-10 07:25:14+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-10 07:25:20 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
2 6s93ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
3 6s93ms 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-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
4 6s93ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
5 6s93ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
6 6s93ms 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-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
7 6s93ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
8 6s93ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-04-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
9 6s93ms 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-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
10 6s93ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-04-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
11 6s93ms 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-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
12 6s93ms 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-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
13 6s93ms 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-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
14 6s93ms 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-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
15 6s93ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-04-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
16 6s93ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-04-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
17 6s93ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-04-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
18 6s93ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-04-10 07:26:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
19 6s93ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-10 07:27:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
20 6s93ms 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-10 07:27: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 30m51s 1,440 505ms 6s93ms 1s285ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
2 30m51s 1,440 505ms 6s93ms 1s285ms 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 #2
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
3 30m51s 1,440 505ms 6s93ms 1s285ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
4 30m51s 1,440 505ms 6s93ms 1s285ms 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 #4
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
5 30m51s 1,440 505ms 6s93ms 1s285ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
6 30m51s 1,440 505ms 6s93ms 1s285ms 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 #6
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
7 30m51s 1,440 505ms 6s93ms 1s285ms 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 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
8 30m51s 1,440 505ms 6s93ms 1s285ms 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 #8
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
9 30m51s 1,440 505ms 6s93ms 1s285ms 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 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
10 30m51s 1,440 505ms 6s93ms 1s285ms 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 #10
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
11 30m51s 1,440 505ms 6s93ms 1s285ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
12 30m51s 1,440 505ms 6s93ms 1s285ms 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 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
13 30m51s 1,440 505ms 6s93ms 1s285ms create schema if not exists observability;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
14 30m51s 1,440 505ms 6s93ms 1s285ms 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 #14
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
15 30m51s 1,440 505ms 6s93ms 1s285ms 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 #15
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
16 30m51s 1,440 505ms 6s93ms 1s285ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
17 30m51s 1,440 505ms 6s93ms 1s285ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
18 3m2s 49 3s88ms 6s93ms 3s715ms 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 10 01 4 12s547ms 3s136ms 08 10 49s581ms 4s958ms 09 2 9s47ms 4s523ms 10 9 30s231ms 3s359ms 11 12 39s638ms 3s303ms 12 7 23s662ms 3s380ms 15 5 17s373ms 3s474ms [ User: labanimal - Total duration: 3m2s - Times executed: 49 ]
-
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-04-10 01:25:14+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') AND collected_at BETWEEN '2026-04-10 01:25:14+02' AND '2026-04-10 07:25:14+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-04-10 01:25:14+02' AND '2026-04-10 07:25:14+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-10 07:25:20 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-04-10 01:45:12+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') AND collected_at BETWEEN '2026-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-10 07:45:18 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-04-10 01:45:12+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') AND collected_at BETWEEN '2026-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-10 07:45:17 Duration: 5s684ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
19 22s399ms 30 728ms 766ms 746ms 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 #19
Day Hour Count Duration Avg duration Apr 10 11 5 3s750ms 750ms 12 6 4s449ms 741ms 13 4 2s966ms 741ms 14 9 6s758ms 750ms 15 4 2s984ms 746ms 17 2 1s490ms 745ms [ User: labanimal - Total duration: 22s399ms - Times executed: 30 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 22s399ms - Times executed: 30 ]
-
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, 10100002) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100002) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100002) 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-10 10:06:58 Duration: 766ms 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-10_062957.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, 10100176) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100176) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100176) 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-10 13:34:46 Duration: 763ms 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-10_062957.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, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) 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-10 10:50:14 Duration: 763ms 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-10_062957.csv
20 20s566ms 30 663ms 989ms 685ms select distinct * from ( select animals_search_mview.*, b.unbreeding_date, fates.loc as fate_name, 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, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, string_agg(l."application_id" || ? || l."title" || ? || date(lh."timestamp")::varchar, ?) as licensehistory, 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 inner join fates on fates.id = animals_search_mview.fate left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join licenses l on l.id = lh.licid left join breedings b on b.id = animals_search_mview.last_mating group by animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data where data.fate = ? and data.alive = ? and data.deleted = ? and (is_owner or is_editor or is_tourist) and (data.straindeleted = ? or data.straindeleted is null) order by data.cage_name, data.animal_id, data.name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 10 11 5 3s678ms 735ms 12 6 4s54ms 675ms 13 4 2s680ms 670ms 14 9 6s101ms 677ms 15 4 2s698ms 674ms 17 2 1s354ms 677ms [ User: labanimal - Total duration: 20s566ms - Times executed: 30 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 20s566ms - Times executed: 30 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100002) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100002) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100002) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, 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 INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-10 10:06:59 Duration: 989ms 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-10_062957.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100176) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100176) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100176) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, 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 INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-10 13:36:47 Duration: 691ms 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-10_062957.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, 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 INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-10 10:50:15 Duration: 685ms 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-10_062957.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 30m51s 505ms 6s93ms 1s285ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
2 1,440 30m51s 505ms 6s93ms 1s285ms 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 #2
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
3 1,440 30m51s 505ms 6s93ms 1s285ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
4 1,440 30m51s 505ms 6s93ms 1s285ms 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 #4
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
5 1,440 30m51s 505ms 6s93ms 1s285ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
6 1,440 30m51s 505ms 6s93ms 1s285ms 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 #6
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
7 1,440 30m51s 505ms 6s93ms 1s285ms 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 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
8 1,440 30m51s 505ms 6s93ms 1s285ms 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 #8
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
9 1,440 30m51s 505ms 6s93ms 1s285ms 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 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
10 1,440 30m51s 505ms 6s93ms 1s285ms 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 #10
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
11 1,440 30m51s 505ms 6s93ms 1s285ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
12 1,440 30m51s 505ms 6s93ms 1s285ms 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 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
13 1,440 30m51s 505ms 6s93ms 1s285ms create schema if not exists observability;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
14 1,440 30m51s 505ms 6s93ms 1s285ms 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 #14
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
15 1,440 30m51s 505ms 6s93ms 1s285ms 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 #15
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
16 1,440 30m51s 505ms 6s93ms 1s285ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
17 1,440 30m51s 505ms 6s93ms 1s285ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
18 49 3m2s 3s88ms 6s93ms 3s715ms 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 10 01 4 12s547ms 3s136ms 08 10 49s581ms 4s958ms 09 2 9s47ms 4s523ms 10 9 30s231ms 3s359ms 11 12 39s638ms 3s303ms 12 7 23s662ms 3s380ms 15 5 17s373ms 3s474ms [ User: labanimal - Total duration: 3m2s - Times executed: 49 ]
-
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-04-10 01:25:14+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') AND collected_at BETWEEN '2026-04-10 01:25:14+02' AND '2026-04-10 07:25:14+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-04-10 01:25:14+02' AND '2026-04-10 07:25:14+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-10 07:25:20 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-04-10 01:45:12+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') AND collected_at BETWEEN '2026-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-10 07:45:18 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-04-10 01:45:12+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') AND collected_at BETWEEN '2026-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-10 07:45:17 Duration: 5s684ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
19 30 22s399ms 728ms 766ms 746ms 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 #19
Day Hour Count Duration Avg duration Apr 10 11 5 3s750ms 750ms 12 6 4s449ms 741ms 13 4 2s966ms 741ms 14 9 6s758ms 750ms 15 4 2s984ms 746ms 17 2 1s490ms 745ms [ User: labanimal - Total duration: 22s399ms - Times executed: 30 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 22s399ms - Times executed: 30 ]
-
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, 10100002) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100002) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100002) 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-10 10:06:58 Duration: 766ms 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-10_062957.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, 10100176) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100176) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100176) 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-10 13:34:46 Duration: 763ms 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-10_062957.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, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) 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-10 10:50:14 Duration: 763ms 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-10_062957.csv
20 30 20s566ms 663ms 989ms 685ms select distinct * from ( select animals_search_mview.*, b.unbreeding_date, fates.loc as fate_name, 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, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, string_agg(l."application_id" || ? || l."title" || ? || date(lh."timestamp")::varchar, ?) as licensehistory, 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 inner join fates on fates.id = animals_search_mview.fate left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join licenses l on l.id = lh.licid left join breedings b on b.id = animals_search_mview.last_mating group by animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data where data.fate = ? and data.alive = ? and data.deleted = ? and (is_owner or is_editor or is_tourist) and (data.straindeleted = ? or data.straindeleted is null) order by data.cage_name, data.animal_id, data.name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 10 11 5 3s678ms 735ms 12 6 4s54ms 675ms 13 4 2s680ms 670ms 14 9 6s101ms 677ms 15 4 2s698ms 674ms 17 2 1s354ms 677ms [ User: labanimal - Total duration: 20s566ms - Times executed: 30 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 20s566ms - Times executed: 30 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100002) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100002) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100002) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, 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 INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-10 10:06:59 Duration: 989ms 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-10_062957.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100176) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100176) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100176) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, 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 INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-10 13:36:47 Duration: 691ms 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-10_062957.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, 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 INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-10 10:50:15 Duration: 685ms 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-10_062957.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 3s88ms 6s93ms 3s715ms 49 3m2s 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 #1
Day Hour Count Duration Avg duration Apr 10 01 4 12s547ms 3s136ms 08 10 49s581ms 4s958ms 09 2 9s47ms 4s523ms 10 9 30s231ms 3s359ms 11 12 39s638ms 3s303ms 12 7 23s662ms 3s380ms 15 5 17s373ms 3s474ms [ User: labanimal - Total duration: 3m2s - Times executed: 49 ]
-
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-04-10 01:25:14+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') AND collected_at BETWEEN '2026-04-10 01:25:14+02' AND '2026-04-10 07:25:14+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-04-10 01:25:14+02' AND '2026-04-10 07:25:14+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-10 07:25:20 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-04-10 01:45:12+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') AND collected_at BETWEEN '2026-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-10 07:45:18 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-04-10 01:45:12+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') AND collected_at BETWEEN '2026-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-04-10 01:45:12+02' AND '2026-04-10 07:45:12+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-10 07:45:17 Duration: 5s684ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
2 505ms 6s93ms 1s285ms 1,440 30m51s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
3 505ms 6s93ms 1s285ms 1,440 30m51s 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 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
4 505ms 6s93ms 1s285ms 1,440 30m51s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
5 505ms 6s93ms 1s285ms 1,440 30m51s 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 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
6 505ms 6s93ms 1s285ms 1,440 30m51s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
7 505ms 6s93ms 1s285ms 1,440 30m51s 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 #7
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
8 505ms 6s93ms 1s285ms 1,440 30m51s 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 #8
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
9 505ms 6s93ms 1s285ms 1,440 30m51s 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 #9
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
10 505ms 6s93ms 1s285ms 1,440 30m51s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
11 505ms 6s93ms 1s285ms 1,440 30m51s 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 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
12 505ms 6s93ms 1s285ms 1,440 30m51s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s22ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
13 505ms 6s93ms 1s285ms 1,440 30m51s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
14 505ms 6s93ms 1s285ms 1,440 30m51s create schema if not exists observability;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
15 505ms 6s93ms 1s285ms 1,440 30m51s 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 #15
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
16 505ms 6s93ms 1s285ms 1,440 30m51s 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 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
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-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
17 505ms 6s93ms 1s285ms 1,440 30m51s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
18 505ms 6s93ms 1s285ms 1,440 30m51s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 10 01 60 1m20s 1s336ms 02 60 1m1s 1s33ms 03 60 1m13s 1s233ms 04 60 1m13s 1s233ms 05 60 1m13s 1s233ms 06 60 1m13s 1s233ms 07 60 1m 1s2ms 08 60 2m18s 2s314ms 09 60 2m29s 2s496ms 10 60 2m21s 2s364ms 11 60 2m40s 2s679ms 12 60 2m17s 2s294ms 13 60 1m1s 1s17ms 14 60 56s734ms 945ms 15 60 1m30s 1s507ms 16 60 40s58ms 667ms 17 60 40s293ms 671ms 18 60 43s760ms 729ms 19 60 48s627ms 810ms 20 60 48s322ms 805ms 21 60 48s322ms 805ms 22 60 48s322ms 805ms 23 60 48s322ms 805ms 00 60 49s870ms 831ms [ User: labanimal - Total duration: 30m51s - Times executed: 1431 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-10 07:30:01 Duration: 6s93ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-10 07:47:01 Duration: 5s741ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-10 08:05:01 Duration: 4s717ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
19 728ms 766ms 746ms 30 22s399ms 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 #19
Day Hour Count Duration Avg duration Apr 10 11 5 3s750ms 750ms 12 6 4s449ms 741ms 13 4 2s966ms 741ms 14 9 6s758ms 750ms 15 4 2s984ms 746ms 17 2 1s490ms 745ms [ User: labanimal - Total duration: 22s399ms - Times executed: 30 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 22s399ms - Times executed: 30 ]
-
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, 10100002) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100002) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100002) 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-10 10:06:58 Duration: 766ms 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-10_062957.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, 10100176) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100176) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100176) 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-10 13:34:46 Duration: 763ms 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-10_062957.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, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) 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-10 10:50:14 Duration: 763ms 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-10_062957.csv
20 663ms 989ms 685ms 30 20s566ms select distinct * from ( select animals_search_mview.*, b.unbreeding_date, fates.loc as fate_name, 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, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, string_agg(l."application_id" || ? || l."title" || ? || date(lh."timestamp")::varchar, ?) as licensehistory, 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 inner join fates on fates.id = animals_search_mview.fate left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join licenses l on l.id = lh.licid left join breedings b on b.id = animals_search_mview.last_mating group by animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data where data.fate = ? and data.alive = ? and data.deleted = ? and (is_owner or is_editor or is_tourist) and (data.straindeleted = ? or data.straindeleted is null) order by data.cage_name, data.animal_id, data.name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 10 11 5 3s678ms 735ms 12 6 4s54ms 675ms 13 4 2s680ms 670ms 14 9 6s101ms 677ms 15 4 2s698ms 674ms 17 2 1s354ms 677ms [ User: labanimal - Total duration: 20s566ms - Times executed: 30 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 20s566ms - Times executed: 30 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100002) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100002) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100002) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, 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 INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-10 10:06:59 Duration: 989ms 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-10_062957.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100176) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100176) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100176) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, 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 INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-10 13:36:47 Duration: 691ms 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-10_062957.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, 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 INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-10 10:50:15 Duration: 685ms 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-10_062957.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
- 135,431 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 1 FATAL entries
- 3 ERROR entries
- 0 WARNING entries
- 15 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 5 Max number of times the same event was reported
- 19 Total events found
Rank Times reported Error 1 5 ERROR: column "..." does not exist
Times Reported Most Frequent Error / Event #1
Day Hour Count Apr 10 08 3 09 2 - ERROR: column a.animalid does not exist
- ERROR: column a.latest_mating_in does not exist
- ERROR: column "name" does not exist
Hint: Perhaps you meant to reference the column "a.animalID".
Statement: -- Find a pair: active male + female, same species, that are NOT already paired in an active breeding -- Use animals with high IDs (likely test-imports) to avoid touching real animals SELECT a.id AS sire_id, a.animalID AS sire_earmark, a.sex, a.species, a.homeCage FROM animals a WHERE a.sex='m' AND NOT a.deleted AND a.species IS NOT NULL AND a.id > 10303000 ORDER BY a.id DESC LIMIT 10;Date: 2026-04-10 07:31:37 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
Statement: -- Find the animal created by accept-test-animal.php (ID 10303324) SELECT a.id, a."animalID", a.sex, a.species, a."homeCage", a."latest_mating_in", a.breeding FROM animals a WHERE a.id = 10303324;
Date: 2026-04-10 07:31:50 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
Statement: SELECT id, name FROM species WHERE deleted IS NOT TRUE ORDER BY id LIMIT 10;
Date: 2026-04-10 07:58:23 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
2 3 ERROR: update or delete on table "..." violates foreign key constraint "..." on table "..."
Times Reported Most Frequent Error / Event #2
Day Hour Count Apr 10 01 3 - ERROR: update or delete on table "breedings" violates foreign key constraint "breedingid_fkey" on table "breedingsdams"
- ERROR: update or delete on table "breedings" violates foreign key constraint "breedingid_fkey" on table "breedingsdams"
- ERROR: update or delete on table "breedings" violates foreign key constraint "breedingid_fkey" on table "breedingsdams"
Detail: Key (id)=(10111323) is still referenced from table "breedingsdams".
Statement: DELETE FROM breedings WHERE id = $1 AND sires = $2 AND dams = $3Date: 2026-04-10 00:13:56 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-10_000000.csv
Detail: Key (id)=(10111323) is still referenced from table "breedingsdams".
Statement: DELETE FROM breedings WHERE id = $1Date: 2026-04-10 00:15:20 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-10_000000.csv
Detail: Key (id)=(10111323) is still referenced from table "breedingsdams".
Statement: DELETE FROM breedings WHERE id = $1 AND sires = $2 AND dams = $3Date: 2026-04-10 00:15:21 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-10_000000.csv
3 2 ERROR: invalid input syntax for type date: ...
Times Reported Most Frequent Error / Event #3
Day Hour Count Apr 10 10 2 - ERROR: invalid input syntax for type date: ""
- ERROR: invalid input syntax for type date: ""
Statement: SELECT p_update_animals(183, '10300233', '', NULL, '', false,'', '', false, '', '', NULL, 0, '', 10875, '', false,'','',NULL, '','',NULL,0);
Date: 2026-04-10 09:13:56 Database: zemm_produktiv_8 Application: _desktop_index.php_m_action_animals_3Am_delete_row_animals_1030 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
Statement: SELECT p_update_animals(10100205, '10299231', '', NULL, '', false,'', '', false, '', '', NULL, 0, '', 10101720, '', true,'','',NULL, '','',NULL,0);
Date: 2026-04-10 09:44:23 Database: zemm_produktiv_8 Application: _desktop_index.php_m_action_animals_3Am_delete_row_animals_1029 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
4 2 ERROR: invalid input syntax for type boolean: ...
Times Reported Most Frequent Error / Event #4
Day Hour Count Apr 10 09 1 13 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 INNER JOIN "groupMembers" gm ON gm."group" = g.id AND gm."user" = 10100040 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-10 08:30:10 Database: zemm_produktiv_8 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-10_062957.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 INNER JOIN "groupMembers" gm ON gm."group" = g.id AND gm."user" = 404 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-10 12:02:55 Database: zemm_produktiv_8 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
5 2 FATAL: Peer authentication failed for user "..."
Times Reported Most Frequent Error / Event #5
Day Hour Count Apr 10 01 1 09 1 - FATAL: Peer authentication failed for user "labanimal"
- 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-10 00:15:00 Database: zemm_produktiv_7 Application: User: labanimal Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-10_000000.csv
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-10 08:26:08 Database: zemm_produktiv_7 Application: User: labanimal Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
6 1 LOG: process ... still waiting for ShareLock on relation ... of database ... after ... ms
Times Reported Most Frequent Error / Event #6
Day Hour Count Apr 10 13 1 - LOG: process 3099695 still waiting for ShareLock on relation 67411 of database 51653 after 1000.069 ms
Detail: Process holding the lock: 3099686. Wait queue: 3099695.
Statement: CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC)Date: 2026-04-10 12:08:02 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
7 1 ERROR: syntax error at or near "..."
Times Reported Most Frequent Error / Event #7
Day Hour Count Apr 10 20 1 - ERROR: syntax error at or near "current_date"
Statement: WITH params AS ( SELECT now() AS now_ts, now() - interval '7 days' AS window_start ), weaning AS ( SELECT lower( CASE WHEN coalesce(trim(users."mailUser"), '') <> '' AND coalesce(trim(users."mailHost"), '') <> '' THEN trim(users."mailUser") || '@' || trim(users."mailHost") WHEN coalesce(trim(users."eMail"), '') <> '' THEN trim(users."eMail") ELSE '' END ) AS email, litters.id::bigint AS item_id, 'weaning_due'::text AS kind FROM litters LEFT JOIN animals ON litters.dam = animals.id LEFT JOIN species ON animals.species = species.id LEFT JOIN "targetgroupMembers" ON "targetgroupMembers".targetgroup = animals.owner LEFT JOIN users ON "targetgroupMembers".user = users.id LEFT JOIN cages ON animals."homeCage" = cages.id WHERE (date current_date - 1, date current_date) overlaps ( date (litters."birthDate" + species."weaningAge"::integer), date (litters."birthDate" + species."weaningAge"::integer) ) AND users.id IS NOT NULL AND NOT coalesce(users.deleted, false) AND NOT coalesce(users.disablemail, false) ), license_rows AS ( SELECT lower( CASE WHEN coalesce(trim(users."mailUser"), '') <> '' AND coalesce(trim(users."mailHost"), '') <> '' THEN trim(users."mailUser") || '@' || trim(users."mailHost") WHEN coalesce(trim(users."eMail"), '') <> '' THEN trim(users."eMail") ELSE '' END ) AS email, licenses.id::bigint AS license_id, coalesce(licenses.limitation_notified, false) AS limitation_notified FROM licenses LEFT JOIN users ON users.id = licenses.chief WHERE licenses.limitation < current_date AND NOT licenses.limitation_notified AND users.id IS NOT NULL AND NOT coalesce(users.deleted, false) AND NOT coalesce(users.disablemail, false) ), task_rows AS ( SELECT lower( CASE WHEN coalesce(trim(users."mailUser"), '') <> '' AND coalesce(trim(users."mailHost"), '') <> '' THEN trim(users."mailUser") || '@' || trim(users."mailHost") WHEN coalesce(trim(users."eMail"), '') <> '' THEN trim(users."eMail") ELSE '' END ) AS email, tasks.id::bigint AS task_id, coalesce(tasks.deadline_notified, false) AS deadline_notified FROM tasks CROSS JOIN params LEFT JOIN "targetgroupMembers" tgm ON tgm.targetgroup = tasks.owner LEFT JOIN users ON tgm.user = users.id WHERE tasks.deadline >= params.window_start AND tasks.deadline < params.now_ts AND NOT coalesce(tasks.deadline_notified, false) AND users.id IS NOT NULL AND NOT coalesce(users.deleted, false) AND NOT coalesce(users.disablemail, false) ), stale_tasks AS ( SELECT tasks.id::bigint AS task_id, coalesce(tasks.deadline_notified, false) AS deadline_notified FROM tasks CROSS JOIN params WHERE tasks.deadline < params.window_start AND NOT coalesce(tasks.deadline_notified, false) ), recipient_buckets AS ( SELECT email FROM weaning WHERE email <> '' UNION SELECT email FROM license_rows WHERE email <> '' UNION SELECT email FROM task_rows WHERE email <> '' ), selected AS ( SELECT email FROM recipient_buckets ORDER BY email LIMIT 1 ), selected_stats AS ( SELECT 'weaning_due'::text AS kind, count(*)::bigint AS cnt FROM weaning w JOIN selected s ON s.email = w.email UNION ALL SELECT 'license_expiry'::text AS kind, count(*)::bigint AS cnt FROM license_rows l JOIN selected s ON s.email = l.email UNION ALL SELECT 'task_deadline'::text AS kind, count(*)::bigint AS cnt FROM task_rows t JOIN selected s ON s.email = t.email ), selected_license_ids AS ( SELECT DISTINCT l.license_id AS id FROM license_rows l JOIN selected s ON s.email = l.email ), selected_task_ids AS ( SELECT DISTINCT t.task_id AS id FROM task_rows t JOIN selected s ON s.email = t.email ), license_hash AS ( SELECT md5(coalesce(string_agg(id::text || ':' || limitation_notified::text, ',' ORDER BY id), '')) AS hash FROM licenses JOIN selected_license_ids sli ON sli.id = licenses.id ), task_hash AS ( SELECT md5(coalesce(string_agg(id::text || ':' || deadline_notified::text, ',' ORDER BY id), '')) AS hash FROM tasks JOIN selected_task_ids sti ON sti.id = tasks.id ), stale_hash AS ( SELECT md5(coalesce(string_agg(task_id::text || ':' || deadline_notified::text, ',' ORDER BY task_id), '')) AS hash FROM stale_tasks ) SELECT 'recipient_bucket_count=' || (SELECT count(*) FROM recipient_buckets) UNION ALL SELECT 'selected_recipient_hash=' || coalesce((SELECT md5(email) FROM selected), '') UNION ALL SELECT 'selected_weaning_count=' || coalesce((SELECT cnt FROM selected_stats WHERE kind = 'weaning_due'), 0) UNION ALL SELECT 'selected_license_count=' || coalesce((SELECT cnt FROM selected_stats WHERE kind = 'license_expiry'), 0) UNION ALL SELECT 'selected_task_count=' || coalesce((SELECT cnt FROM selected_stats WHERE kind = 'task_deadline'), 0) UNION ALL SELECT 'selected_license_ids=' || (SELECT count(*) FROM selected_license_ids) UNION ALL SELECT 'selected_task_ids=' || (SELECT count(*) FROM selected_task_ids) UNION ALL SELECT 'stale_task_ids=' || (SELECT count(*) FROM stale_tasks) UNION ALL SELECT 'selected_license_hash=' || coalesce((SELECT hash FROM license_hash), md5('')) UNION ALL SELECT 'selected_task_hash=' || coalesce((SELECT hash FROM task_hash), md5('')) UNION ALL SELECT 'stale_task_hash=' || coalesce((SELECT hash FROM stale_hash), md5(''));
Date: 2026-04-10 19:18:44 Database: zemm_produktiv_8 Application: psql User: labanimal Remote: 81.169.238.237 Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
8 1 ERROR: insert or update on table "..." violates foreign key constraint "..."
Times Reported Most Frequent Error / Event #8
Day Hour Count Apr 10 10 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-10 09:19:10 Database: zemm_produktiv_7 Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
9 1 ERROR: canceling autovacuum task
Times Reported Most Frequent Error / Event #9
Day Hour Count Apr 10 13 1 - ERROR: canceling autovacuum task
Context: while scanning block 111038 of relation "observability.app_events" automatic vacuum of table "zemm_monitoring.observability.app_events"
Date: 2026-04-10 12:08:02 Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv
10 1 LOG: database system was shut down at ...
Times Reported Most Frequent Error / Event #10
Day Hour Count Apr 10 07 1 - LOG: database system was shut down at 2026-04-10 06:29:54 CEST
Date: 2026-04-10 06:29:57 Log file: /var/log/postgresql/postgresql-2026-04-10_062957.csv