-
Global information
- Generated on Thu Apr 30 06:06:10 2026
- Log file: /var/log/postgresql/postgresql-2026-03-25_000000.csv, ..., /var/log/postgresql/postgresql-2026-04-30_000000.csv
- Parsed 296,345 log entries in 6m9s
- Log start from 2026-04-13 00:00:01 to 2026-04-13 23:59:37
-
Overview
Global Stats
- 58 Number of unique normalized queries
- 24,677 Number of queries
- 9h25m21s Total query duration
- 2026-04-13 00:00:01 First query
- 2026-04-13 23:59:37 Last query
- 18 queries/s at 2026-04-13 16:36:01 Query peak
- 9h25m21s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 9h25m21s Execute total duration
- 26 Number of events
- 6 Number of unique normalized events
- 14 Max number of times the same event was reported
- 0 Number of cancellation
- 76 Total number of automatic vacuums
- 178 Total number of automatic analyzes
- 285 Number temporary file
- 60.84 MiB Max size of temporary file
- 49.14 MiB Average size of temporary file
- 27,498 Total number of sessions
- 7 sessions at 2026-04-13 21:14:30 Session peak
- 1h24m2s Total duration of sessions
- 183ms Average duration of sessions
- 0 Average queries per session
- 1s233ms Average queries duration per session
- 0ms Average idle time per session
- 27,498 Total number of connections
- 44 connections/s at 2026-04-13 18:50:49 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-04-13 16:36:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-04-13 12:33:31 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 17 queries/s Query Peak
- 2026-04-13 04:55:01 Date
Queries duration
Key values
- 9h25m21s 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 13 00 1,020 0ms 0ms 0ms 0ms 0ms 0ms 01 1,021 0ms 776ms 375ms 13s193ms 13s193ms 13s193ms 02 1,020 776ms 776ms 776ms 13s193ms 13s193ms 13s193ms 03 1,020 776ms 776ms 776ms 13s193ms 13s193ms 13s193ms 04 1,020 776ms 776ms 776ms 13s193ms 13s193ms 13s193ms 05 1,020 776ms 776ms 776ms 13s193ms 13s193ms 13s193ms 06 1,033 516ms 1s570ms 723ms 17s68ms 21s401ms 25s536ms 07 1,038 521ms 1s572ms 867ms 16s802ms 18s192ms 21s588ms 08 1,048 667ms 763ms 676ms 13s90ms 14s281ms 14s561ms 09 1,021 668ms 948ms 719ms 16s123ms 16s123ms 16s123ms 10 1,028 570ms 1s618ms 1s60ms 27s522ms 27s522ms 27s522ms 11 1,034 568ms 1s788ms 897ms 16s165ms 16s887ms 18s309ms 12 1,036 680ms 3s832ms 1s538ms 1m3s 1m3s 1m3s 13 1,023 601ms 3s722ms 2s441ms 1m3s 1m3s 1m5s 14 1,025 523ms 748ms 642ms 11s462ms 11s462ms 12s854ms 15 1,032 666ms 746ms 672ms 11s520ms 12s821ms 15s639ms 16 1,024 677ms 756ms 682ms 11s685ms 11s685ms 14s276ms 17 1,021 687ms 830ms 737ms 14s126ms 14s126ms 14s126ms 18 1,030 803ms 4s579ms 1s538ms 1m2s 1m4s 1m21s 19 1,023 3s356ms 3s489ms 3s477ms 59s324ms 1m 1m2s 20 1,035 568ms 3s763ms 3s224ms 1m3s 1m3s 1m7s 21 1,033 865ms 3s449ms 3s169ms 59s614ms 1m 1m2s 22 1,034 894ms 3s883ms 3s260ms 59s967ms 1m1s 1m9s 23 1,038 573ms 3s583ms 3s119ms 1m 1m 1m4s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 13 00 0 0 0ms 0ms 0ms 0ms 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 13 0 919ms 0ms 1s4ms 2s547ms 07 18 0 842ms 0ms 758ms 2s839ms 08 28 0 715ms 0ms 1s443ms 2s861ms 09 1 0 948ms 0ms 0ms 0ms 10 7 0 877ms 0ms 0ms 2s62ms 11 13 0 714ms 0ms 569ms 1s519ms 12 16 0 1s104ms 0ms 1s449ms 2s888ms 13 2 0 798ms 0ms 0ms 0ms 14 5 0 671ms 0ms 0ms 1s422ms 15 12 0 707ms 0ms 0ms 2s836ms 16 4 0 721ms 0ms 0ms 1s441ms 17 0 0 0ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 2 0 734ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 0 5 1s445ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 13 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 776ms 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 13 00 0 0 0.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 0 0.00 0.00% 08 0 0 0.00 0.00% 09 0 0 0.00 0.00% 10 0 0 0.00 0.00% 11 0 0 0.00 0.00% 12 0 0 0.00 0.00% 13 0 0 0.00 0.00% 14 0 0 0.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 6 6.00 0.00% 19 0 3 3.00 0.00% 20 0 14 14.00 0.00% 21 0 12 12.00 0.00% 22 0 12 12.00 0.00% 23 0 12 12.00 0.00% Day Hour Count Average / Second Apr 13 00 544 0.15/s 01 551 0.15/s 02 547 0.15/s 03 544 0.15/s 04 544 0.15/s 05 544 0.15/s 06 1,385 0.38/s 07 1,597 0.44/s 08 1,640 0.46/s 09 1,152 0.32/s 10 1,538 0.43/s 11 1,544 0.43/s 12 1,373 0.38/s 13 1,182 0.33/s 14 1,263 0.35/s 15 2,011 0.56/s 16 1,649 0.46/s 17 939 0.26/s 18 1,547 0.43/s 19 680 0.19/s 20 1,175 0.33/s 21 1,154 0.32/s 22 1,299 0.36/s 23 1,096 0.30/s Day Hour Count Average Duration Average idle time Apr 13 00 544 224ms 224ms 01 551 230ms 0ms 02 547 228ms 0ms 03 544 228ms 0ms 04 544 229ms 0ms 05 544 227ms 0ms 06 1,385 195ms 0ms 07 1,597 165ms 0ms 08 1,640 145ms 0ms 09 1,152 174ms 0ms 10 1,538 154ms 0ms 11 1,544 164ms 0ms 12 1,373 179ms 0ms 13 1,182 168ms 0ms 14 1,263 156ms 0ms 15 2,011 167ms 0ms 16 1,649 137ms 0ms 17 939 179ms 0ms 18 1,547 182ms 0ms 19 680 215ms 0ms 20 1,175 201ms 0ms 21 1,154 197ms 0ms 22 1,299 199ms 0ms 23 1,096 273ms 0ms -
Connections
Established Connections
Key values
- 44 connections Connection Peak
- 2026-04-13 18:50:49 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 27,498 connections Total
Connections per user
Key values
- labanimal Main User
- 27,498 connections Total
-
Sessions
Simultaneous sessions
Key values
- 7 sessions Session Peak
- 2026-04-13 21:14:30 Date
Histogram of session times
Key values
- 25,456 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 27,498 sessions Total
Sessions per user
Key values
- labanimal Main User
- 27,498 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 27,498 sessions Total
Sessions per application
Key values
- Main Application
- 27,498 sessions Total
Application Count Total Duration Average Duration 21,950 1h11m53s 196ms _backend_cage_autocomplete_api.php_q_2025_limit_12_zemm_produkt 10 262ms 26ms _backend_cage_autocomplete_api.php_q_55-065_limit_12_zemm_produ 10 310ms 31ms _backend_wean_api.php_litter_id_10130227_zemm_produktiv_7_local 50 7s238ms 144ms _backend_wean_api.php_litter_id_10130236_zemm_produktiv_7_local 50 7s382ms 147ms _backend_wean_api.php_litter_id_10130257_zemm_produktiv_7_local 60 8s905ms 148ms _backend_wean_api.php_litter_id_10131563_zemm_produktiv_8_local 5 700ms 140ms _backend_wean_api.php_litter_id_10131763_zemm_produktiv_8_local 9 1s261ms 140ms _backend_wean_api.php_litter_id_10131768_zemm_produktiv_8_local 7 980ms 140ms _backend_wean_api.php_litter_id_10131817_zemm_produktiv_8_local 5 701ms 140ms _backend_wean_api.php_litter_id_10131830_zemm_produktiv_8_local 3 423ms 141ms _backend_wean_api.php_litter_id_10131837_zemm_produktiv_8_local 2 282ms 141ms _backend_wean_api.php_litter_id_10131873_zemm_produktiv_8_local 1 134ms 134ms _backend_wean_api.php_litter_id_10131886_zemm_produktiv_8_local 8 1s117ms 139ms _backend_wean_api.php_litter_id_10131902_zemm_produktiv_8_local 7 971ms 138ms _backend_wean_api.php_litter_id_10131903_zemm_produktiv_8_local 5 696ms 139ms _backend_wean_api.php_litter_id_10131904_zemm_produktiv_8_local 5 693ms 138ms _backend_wean_api.php_litter_id_10131905_zemm_produktiv_8_local 7 969ms 138ms _backend_wean_api.php_litter_id_10131906_zemm_produktiv_8_local 9 1s243ms 138ms _backend_wean_api.php_litter_id_10131909_zemm_produktiv_8_local 7 978ms 139ms _backend_wean_api.php_litter_id_10132144_zemm_produktiv_8_local 5 706ms 141ms _backend_wean_api.php_litter_id_10132145_zemm_produktiv_8_local 2 280ms 140ms _backend_wean_api.php_litter_id_10132146_zemm_produktiv_8_local 2 276ms 138ms _backend_wean_api.php_litter_id_10132150_zemm_produktiv_8_local 2 282ms 141ms _backend_wean_api.php_litter_id_10132151_zemm_produktiv_8_local 2 282ms 141ms _desktop__command_tasks_command_tasks_subcommand_open_screen__q 1 60ms 60ms _desktop__zemm_produktiv_7_localhost_5432 10 680ms 68ms _desktop__zemm_produktiv_8_localhost_5432 12 648ms 54ms _desktop_index.php_cages_name_33_2A_cages_empty__25_val4_cages_ 1 331ms 331ms _desktop_index.php_cages_name_36-020_cages_empty__25_val4_cages 2 145ms 72ms _desktop_index.php_cages_name_36_cages_empty__25_val4_cages_sea 1 46ms 46ms _desktop_index.php_cages_name_49-2_2A_cages_empty__25_val4_cage 25 5s47ms 201ms _desktop_index.php_command_animals_breedings_subcommand_select_ 10 651ms 65ms _desktop_index.php_command_animals_create_subcommand_init_zemm_ 10 562ms 56ms _desktop_index.php_command_animals_edit_subcommand_init_id_1027 2 222ms 111ms _desktop_index.php_command_animals_edit_subcommand_init_id_1029 1 115ms 115ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 4 381ms 95ms _desktop_index.php_command_animals_edit_subcommand_link_init_va 10 1s152ms 115ms _desktop_index.php_command_animals_edit_subcommand_m_init_scree 10 1s306ms 130ms _desktop_index.php_command_animals_litters_edit_subcommand_foun 1 101ms 101ms _desktop_index.php_command_animals_litters_edit_subcommand_init 10 1s89ms 108ms _desktop_index.php_command_animals_litters_edit_subcommand_m_in 10 3s218ms 321ms _desktop_index.php_command_animals_litters_subcommand_select_ze 10 523ms 52ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 9 407ms 45ms _desktop_index.php_command_animals_subcommand_select_zemm_produ 10 735ms 73ms _desktop_index.php_command_home_subcommand_init_zemm_produktiv_ 4 379ms 94ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,697 50s823ms 29ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 2 262ms 131ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 12 1s323ms 110ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 12 1s386ms 115ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 23 6s797ms 295ms _desktop_index.php_command_tasks_subcommand_edit_id_10134267_ze 10 874ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10140811_ze 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10141201_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10141594_ze 1 77ms 77ms _desktop_index.php_command_tasks_subcommand_edit_id_10141772_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142083_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142088_ze 1 82ms 82ms _desktop_index.php_command_tasks_subcommand_edit_id_10142181_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10142186_ze 1 76ms 76ms _desktop_index.php_command_tasks_subcommand_edit_id_10142199_ze 1 81ms 81ms _desktop_index.php_command_tasks_subcommand_edit_id_10142212_ze 3 244ms 81ms _desktop_index.php_command_tasks_subcommand_init_search_zemm_pr 10 481ms 48ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 71 5s110ms 71ms _desktop_index.php_command_tasks_subcommand_search_zemm_produkt 10 491ms 49ms _desktop_index.php_m_action_animals_3Am_delete_val4_animals_lis 1 39ms 39ms _desktop_index.php_m_action_animals_edit_3Alink_init_row_animal 4 185ms 46ms _desktop_index.php_m_action_animals_litters_edit_3Am_init_val4_ 1 40ms 40ms _desktop_index.php_m_action_cages_3Am_delete_command_animals_su 5 229ms 45ms _desktop_index.php_name_Abt_C3_B6ten_20von_20Zebrafischen_instr 4 257ms 64ms _desktop_index.php_name_Genotypisierungsproben_20genommen_instr 2 158ms 79ms _desktop_index.php_name_Tiertransport_20durch_20das_20ZEMM_inst 1 40ms 40ms _desktop_index.php_name_Tiertransport_20innerhalb_20W_C3_BCrzbu 7 316ms 45ms _desktop_index.php_reference_Formulare_20ZEMM_title_Anmeldung_2 1 44ms 44ms _desktop_index.php_search_status_2_no_subtasks_true_command_cag 4 161ms 40ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 1 59ms 59ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 25 11s404ms 456ms _desktop_index.php_zemm_produktiv_7_localhost_5432 180 51s629ms 286ms _desktop_index.php_zemm_produktiv_8_localhost_5432 2,855 8m32s 179ms backend:zemm_produktiv_8@localhost 65 4s325ms 66ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 792ms 792ms pg_dump 1 14s390ms 14s390ms psql 57 907ms 15ms taskscron:zemm_produktiv_7@zemm.fbiscience.eu 24 600ms 25ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 7s684ms 320ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 61,314 buffers Checkpoint Peak
- 2026-04-13 18:41:12 Date
- 270.023 seconds Highest write time
- 0.034 seconds Sync time
Checkpoints Wal files
Key values
- 12 files Wal files usage Peak
- 2026-04-13 18:41:12 Date
Checkpoints distance
Key values
- 386.70 Mo Distance Peak
- 2026-04-13 18:41:12 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Apr 13 00 2,621 262.891s 0.083s 263.031s 01 22,353 602.893s 0.089s 603.041s 02 2,709 271.705s 0.086s 271.847s 03 2,636 264.397s 0.089s 264.542s 04 2,703 271.129s 0.084s 271.27s 05 2,801 280.896s 0.086s 281.033s 06 6,209 621.698s 0.197s 621.949s 07 7,164 717.735s 0.233s 718.022s 08 4,837 484.666s 0.19s 484.909s 09 16,772 617.496s 0.202s 617.758s 10 8,957 815.79s 0.211s 816.055s 11 17,585 682.069s 0.205s 682.329s 12 5,356 536.379s 0.173s 536.606s 13 17,106 657.777s 0.207s 658.042s 14 4,098 410.4s 0.138s 410.59s 15 7,416 704.866s 0.2s 705.118s 16 4,888 489.873s 0.22s 490.146s 17 3,616 362.455s 0.147s 362.655s 18 65,974 736.457s 0.181s 736.708s 19 2,860 286.852s 0.109s 287.01s 20 17,964 749.101s 0.112s 749.272s 21 3,975 399.059s 0.119s 399.228s 22 4,259 427.496s 0.126s 427.707s 23 4,139 415.21s 0.116s 415.382s Day Hour Added Removed Recycled Synced files Longest sync Average sync Apr 13 00 0 0 1 431 0.002s 0.012s 01 0 0 7 477 0.001s 0.012s 02 0 0 1 444 0.001s 0.012s 03 0 0 0 440 0.002s 0.012s 04 0 0 1 425 0.002s 0.012s 05 0 0 1 419 0.002s 0.012s 06 0 0 2 1,090 0.002s 0.012s 07 0 0 2 1,303 0.002s 0.012s 08 0 0 1 1,059 0.002s 0.012s 09 0 0 5 1,097 0.004s 0.012s 10 0 0 2 1,193 0.003s 0.012s 11 0 0 5 1,112 0.002s 0.012s 12 0 0 1 905 0.003s 0.012s 13 0 0 5 1,154 0.002s 0.012s 14 0 0 1 716 0.002s 0.012s 15 0 0 3 1,080 0.002s 0.012s 16 0 0 2 1,143 0.004s 0.012s 17 0 0 1 772 0.002s 0.012s 18 0 0 13 894 0.005s 0.012s 19 0 0 1 454 0.003s 0.012s 20 0 0 6 544 0.002s 0.011s 21 0 0 1 530 0.002s 0.012s 22 0 0 1 602 0.003s 0.012s 23 0 0 2 540 0.004s 0.012s Day Hour Count Avg time (sec) Apr 13 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 13 00 1,126.75 kB 1,413.08 kB 01 9,233.17 kB 38,694.08 kB 02 1,166.83 kB 31,351.58 kB 03 1,144.92 kB 9,683.33 kB 04 1,154.58 kB 3,564.00 kB 05 1,152.50 kB 1,833.25 kB 06 2,207.25 kB 2,970.67 kB 07 2,491.67 kB 3,622.58 kB 08 1,887.92 kB 3,077.08 kB 09 6,228.25 kB 10,844.50 kB 10 3,464.50 kB 29,925.17 kB 11 6,406.58 kB 33,675.17 kB 12 2,047.50 kB 14,918.92 kB 13 6,289.83 kB 20,708.92 kB 14 1,845.92 kB 23,729.83 kB 15 4,032.75 kB 14,114.92 kB 16 1,880.17 kB 12,027.17 kB 17 1,534.08 kB 4,635.75 kB 18 18,470.92 kB 69,605.42 kB 19 1,226.17 kB 71,049.50 kB 20 8,845.82 kB 49,115.36 kB 21 1,577.25 kB 19,041.33 kB 22 1,752.08 kB 6,573.25 kB 23 1,614.58 kB 3,056.58 kB -
Temporary Files
Size of temporary files
Key values
- 246.20 MiB Temp Files size Peak
- 2026-04-13 23:59:37 Date
Number of temporary files
Key values
- 5 per second Temp Files Peak
- 2026-04-13 20:09:33 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Apr 13 00 0 0 0 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 0 0 0 08 0 0 0 09 0 0 0 10 0 0 0 11 0 0 0 12 0 0 0 13 0 0 0 14 0 0 0 15 0 0 0 16 0 0 0 17 0 0 0 18 30 1.44 GiB 49.02 MiB 19 15 735.67 MiB 49.04 MiB 20 60 2.88 GiB 49.09 MiB 21 60 2.88 GiB 49.14 MiB 22 60 2.88 GiB 49.18 MiB 23 60 2.88 GiB 49.22 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 228 10.59 GiB 45.48 MiB 52.77 MiB 47.56 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-13 12:35:49+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-13 12:35:49+02' AND '2026-04-13 18:35:49+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-13 12:35:49+02' AND '2026-04-13 18:35:49+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-13 18:35:53 Duration: 4s579ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-13 12:40:49+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-13 12:40:49+02' AND '2026-04-13 18:40:49+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-13 12:40:49+02' AND '2026-04-13 18:40:49+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-13 18:40:53 Duration: 4s8ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-13 14:34:30+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-13 14:34:30+02' AND '2026-04-13 20:34:30+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-13 14:34:30+02' AND '2026-04-13 20:34:30+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-13 20:34:33 Duration: 3s763ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
Queries generating the largest temporary files
Rank Size Query 1 52.77 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) 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-13 21:24:33 - Queryid: 3823903 ]
2 52.02 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-13 21:09:33 - Queryid: 3816086 ]
3 51.96 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-13 21:39:34 - Queryid: 3825690 ]
4 51.93 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-13 20:24:33 - Queryid: 3798360 ]
5 51.84 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-13 23:49:37 - Queryid: 3871164 ]
6 51.80 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-13 21:54:34 - Queryid: 3827387 ]
7 51.65 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-13 20:44:33 - Queryid: 3808334 ]
8 51.59 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-13 23:14:36 - Queryid: 3859027 ]
9 51.49 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-13 20:49:33 - Queryid: 3810011 ]
10 51.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-13 22:14:35 - Queryid: 3829966 ]
11 51.20 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-13 21:34:33 - Queryid: 3825052 ]
12 51.13 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-13 20:24:33 - Queryid: 3798360 ]
13 51.11 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-13 23:39:36 - Queryid: 3864753 ]
14 50.99 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-13 20:59:34 - Queryid: 3813695 ]
15 50.96 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-13 23:39:36 - Queryid: 3864753 ]
16 50.89 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-13 22:04:34 - Queryid: 3828467 ]
17 50.84 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-13 22:54:35 - Queryid: 3848871 ]
18 50.71 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-13 20:34:33 - Queryid: 3804621 ]
19 50.61 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-13 21:04:34 - Queryid: 3815103 ]
20 50.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 ($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-13 22:09:34 - Queryid: 3829098 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 0.59 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-04-13 01:30:18 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_produktiv_8 - Date
Average Autovacuum Duration
Key values
- 0.59 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-04-13 01:30:18 Date
Analyzes per table
Key values
- pg_catalog.pg_type (51) Main table analyzed (database zemm_produktiv_8)
- 178 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 51 zemm_produktiv_8.pg_catalog.pg_attribute 38 zemm_produktiv_8.pg_catalog.pg_class 26 zemm_produktiv_8.pg_catalog.pg_depend 24 zemm_produktiv_8.public.breedingssires 3 zemm_monitoring.observability.metrics_timeseries 3 template0.pg_catalog.pg_shdepend 3 zemm_produktiv_8.public.breedingsdams 3 zemm_produktiv_8.public.cages_search_mview 2 zemm_test_2.pg_catalog.pg_shdepend 2 zemm_monitoring.observability.uptime_checks 2 zemm_produktiv_8.public.tmptasks 2 zemm_produktiv_7.pg_catalog.pg_type 2 zemm_monitoring.observability.db_top_queries 1 zemm_monitoring.observability.system_metrics 1 zemm_produktiv_8.pg_catalog.pg_shdepend 1 zemm_produktiv_7.pg_catalog.pg_depend 1 zemm_produktiv_7.public.import_source_files 1 zemm_produktiv_7.public.breedingsdams 1 fbi_ci_db.pg_catalog.pg_shdepend 1 zemm_produktiv_7.public.users 1 zemm_monitoring.observability.phpfpm_counters 1 zemm_produktiv_8.public.tasks 1 zemm_produktiv_7.public.import_runs 1 template1.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.users 1 zemm_produktiv_7.pg_catalog.pg_attribute 1 zemm_produktiv_7.public.import_column_mappings 1 zemm_monitoring.pg_catalog.pg_shdepend 1 zemm_produktiv_7.public.breedingssires 1 Total 178 Vacuums per table
Key values
- pg_catalog.pg_type (17) Main table vacuumed on database zemm_produktiv_8
- 76 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 17 17 0 0 0 0 0 880 200 188,350 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 13 13 0 0 0 0 0 1,719 579 378,646 0 0 zemm_produktiv_8.pg_catalog.pg_class 8 8 0 0 0 0 0 783 227 268,180 1 1 zemm_produktiv_8.pg_catalog.pg_depend 7 7 0 0 0 0 0 878 263 296,373 0 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 0 0 0 4,239 1,420 3,227,263 1,400 8,398 labanimal.pg_catalog.pg_shdepend 4 4 0 0 0 0 0 365 119 223,543 0 0 zemm_produktiv_8.public.breedingssires 3 0 0 0 0 0 0 444 12 28,176 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 0 0 0 0 0 571 141 733,573 28 93 zemm_produktiv_8.public.breedingsdams 3 0 0 0 0 0 0 594 12 37,026 0 0 zemm_produktiv_8.public.tmptasks 1 1 0 0 0 0 0 94 34 19,524 0 0 zemm_monitoring.pg_toast.pg_toast_2619 1 1 0 0 0 0 0 131 39 248,545 17 44 zemm_produktiv_7.pg_catalog.pg_depend 1 1 0 0 0 0 0 118 41 82,037 2 30 zemm_monitoring.pg_toast.pg_toast_67411 1 0 0 0 0 0 0 5,254 1,714 8,243,664 1,710 8,102 zemm_produktiv_7.public.import_runs 1 1 0 0 0 0 0 11 8 6,089 0 0 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 45,513 20 3,281,469 0 0 zemm_produktiv_8.public.cages_search_mview 1 1 0 0 0 0 0 617 340 1,120,437 39 762 zemm_produktiv_7.public.breedingssires 1 0 0 0 0 0 0 148 4 9,392 0 0 zemm_produktiv_7.pg_catalog.pg_class 1 1 0 0 0 0 0 98 34 51,578 1 1 zemm_monitoring.observability.uptime_checks 1 0 0 0 0 0 0 530 329 524,869 100 2,000 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 0 0 0 0 0 169 46 157,122 20 51 zemm_produktiv_7.pg_catalog.pg_type 1 1 0 0 0 0 0 43 10 15,053 0 0 zemm_produktiv_7.public.breedingsdams 1 0 0 0 0 0 0 198 4 12,342 0 0 Total 76 61 0 0 0 0 0 63,397 5,596 19,153,251 3,318 19,482 Vacuum throughput per table
Key values
- public.tasks (0.59) Max CPU elapsed for vacuum on database zemm_produktiv_8
- pg_catalog.pg_class (2.938 ms) Max I/O read time for vacuum on database zemm_produktiv_8
- pg_toast.pg_toast_67411 (6.823 ms) Max I/O write time for vacuum on database zemm_produktiv_8
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 2.117 0 0.11 zemm_produktiv_8.pg_catalog.pg_class 0 0 0 zemm_produktiv_8.pg_catalog.pg_depend 1.39 0 0.06 zemm_monitoring.pg_toast.pg_toast_67431 0.709 0 0.35 labanimal.pg_catalog.pg_shdepend 0.255 0 0.03 zemm_produktiv_8.public.breedingssires 0 0.059 0 zemm_produktiv_8.pg_toast.pg_toast_2619 0 0 0.02 zemm_produktiv_8.public.breedingsdams 0 0.049 0 zemm_produktiv_8.public.tmptasks 0 0 0.01 zemm_monitoring.pg_toast.pg_toast_2619 0 0 0.01 zemm_produktiv_7.pg_catalog.pg_depend 2.872 0 0.01 zemm_monitoring.pg_toast.pg_toast_67411 2.739 6.823 0.46 zemm_produktiv_7.public.import_runs 0 0 0 zemm_produktiv_8.public.tasks 0 0 0.59 zemm_produktiv_8.public.cages_search_mview 0 0 0.09 zemm_produktiv_7.public.breedingssires 0 0.018 0 zemm_produktiv_7.pg_catalog.pg_class 2.938 0 0.01 zemm_monitoring.observability.uptime_checks 0 0 0.08 zemm_produktiv_8.pg_catalog.pg_statistic 0.742 0 0.01 zemm_produktiv_7.pg_catalog.pg_type 1.119 0 0 zemm_produktiv_7.public.breedingsdams 0 0.018 0 Total 14.881 6.967 1.84 Tuples removed per table
Key values
- public.tasks (53780) Main table with removed tuples on database zemm_produktiv_8
- 81539 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 53,780 56,799 0 0 16,724 zemm_produktiv_8.pg_catalog.pg_attribute 13 13 13,191 74,017 0 0 2,392 zemm_produktiv_8.pg_catalog.pg_depend 7 7 6,100 29,197 0 0 385 zemm_produktiv_8.pg_catalog.pg_type 17 17 3,448 14,127 0 0 527 labanimal.pg_catalog.pg_shdepend 4 4 1,918 15,536 0 0 152 zemm_produktiv_8.pg_catalog.pg_class 8 8 1,232 7,152 0 0 336 zemm_produktiv_7.pg_catalog.pg_depend 1 1 627 4,748 0 0 51 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 316 876 0 0 318 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 291 1,308 0 0 144 zemm_produktiv_8.public.cages_search_mview 1 1 219 13,829 0 0 234 zemm_produktiv_7.pg_catalog.pg_type 1 1 137 861 0 0 27 zemm_produktiv_7.pg_catalog.pg_class 1 1 111 985 0 0 39 zemm_produktiv_8.public.tmptasks 1 1 91 825 0 10 115 zemm_monitoring.pg_toast.pg_toast_2619 1 1 67 78 0 0 36 zemm_produktiv_7.public.import_runs 1 1 11 21 0 0 1 zemm_monitoring.pg_toast.pg_toast_67411 1 0 0 104,352 0 0 24,258 zemm_produktiv_8.public.breedingssires 3 0 0 67,567 0 0 432 zemm_produktiv_7.public.breedingssires 1 0 0 22,479 0 0 144 zemm_produktiv_8.public.breedingsdams 3 0 0 91,288 0 0 582 zemm_monitoring.observability.uptime_checks 1 0 0 38,828 0 0 1,960 zemm_produktiv_7.public.breedingsdams 1 0 0 30,373 0 0 194 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 1,843,829 0 0 309,674 Total 76 61 81,539 2,419,075 0 10 358,725 Pages removed per table
Key values
- public.tmptasks (10) Main table with removed pages on database zemm_produktiv_8
- 10 pages Total removed
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_8.public.tmptasks 1 1 91 10 zemm_produktiv_8.pg_catalog.pg_type 17 17 3448 0 zemm_monitoring.pg_toast.pg_toast_2619 1 1 67 0 zemm_produktiv_8.pg_catalog.pg_class 8 8 1232 0 zemm_produktiv_7.pg_catalog.pg_depend 1 1 627 0 zemm_monitoring.pg_toast.pg_toast_67411 1 0 0 0 labanimal.pg_catalog.pg_shdepend 4 4 1918 0 zemm_produktiv_7.public.import_runs 1 1 11 0 zemm_produktiv_8.public.breedingssires 3 0 0 0 zemm_produktiv_8.public.tasks 1 1 53780 0 zemm_produktiv_8.public.cages_search_mview 1 1 219 0 zemm_produktiv_7.public.breedingssires 1 0 0 0 zemm_produktiv_8.pg_catalog.pg_depend 7 7 6100 0 zemm_produktiv_7.pg_catalog.pg_class 1 1 111 0 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 316 0 zemm_produktiv_8.public.breedingsdams 3 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 13 13 13191 0 zemm_monitoring.observability.uptime_checks 1 0 0 0 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 291 0 zemm_produktiv_7.pg_catalog.pg_type 1 1 137 0 zemm_produktiv_7.public.breedingsdams 1 0 0 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 Total 76 61 81,539 10 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Apr 13 00 0 0 01 2 2 02 0 0 03 0 0 04 0 0 05 0 1 06 7 12 07 6 18 08 4 18 09 5 7 10 9 19 11 6 13 12 5 15 13 6 14 14 2 3 15 6 12 16 10 26 17 3 5 18 1 4 19 0 0 20 4 3 21 0 2 22 0 2 23 0 2 - 0.59 sec Highest CPU-cost vacuum
-
Locks
Locks by types
Key values
- unknown Main Lock Type
- 0 locks Total
Most frequent waiting queries (N)
Rank Count Total time Min time Max time Avg duration Query NO DATASET
Queries that waited the most
Rank Wait time Query NO DATASET
-
Queries
Queries by type
Key values
- 121 Total read queries
- 24,556 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,537 Requests
- 9h23m17s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- labanimal Main user
- 450,330 Requests
User Request type Count Duration deploy Total 57 14m43s cte 4 1m18s ddl 30 4m31s others 8 19s381ms select 9 6m3s labanimal Total 450,330 11d23h29m39s copy from 8 18s286ms copy to 96 4m30s cte 2,223 2h27m34s ddl 446,311 11d20h26m59s others 174 1m49s select 1,481 27m47s tcl 3 1s733ms update 22 23s881ms postgres Total 117 2m35s copy to 117 2m35s Duration by user
Key values
- 11d23h29m39s (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 450,330 11d23h29m39s copy from 8 18s286ms copy to 96 4m30s cte 2,223 2h27m34s ddl 446,311 11d20h26m59s others 174 1m49s select 1,481 27m47s tcl 3 1s733ms update 22 23s881ms postgres Total 117 2m35s copy to 117 2m35s Queries by host
Key values
- unknown Main host
- 450,305 Requests
- 11d23h26m12s (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 23 3m20s select 1 2m56s update 22 23s881ms [local] Total 174 17m19s copy to 117 2m35s cte 4 1m18s ddl 30 4m31s others 8 19s381ms select 9 6m3s unknown Total 450,305 11d23h26m12s copy from 8 18s286ms copy to 96 4m30s cte 2,223 2h27m34s ddl 446,309 11d20h26m52s others 174 1m49s select 1,480 24m50s tcl 3 1s733ms Queries by application
Key values
- unknown Main application
- 24,539 Requests
- 9h23m18s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b Total 6 4s256ms select 6 4s256ms _desktop_index.php_zemm_produktiv_7_localhost_5432 Total 10 11s684ms cte 10 11s684ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 116 1m38s cte 3 5s684ms select 113 1m33s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 776ms update 1 776ms pg_dump Total 5 7s225ms copy to 5 7s225ms unknown Total 24,539 9h23m18s cte 57 3m14s ddl 24,480 9h20m2s select 2 1s469ms Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-04-13 14:39:37 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 118 500-1000ms duration
Slowest individual queries
Rank Duration Query 1 4s579ms 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-13 12:35:49+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-13 12:35:49+02' AND '2026-04-13 18:35:49+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-13 12:35:49+02' AND '2026-04-13 18:35:49+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-13 18:35:53 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
2 4s579ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
3 4s579ms 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-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
4 4s579ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
5 4s579ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
6 4s579ms 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-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
7 4s579ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
8 4s579ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-04-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
9 4s579ms 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-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
10 4s579ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-04-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
11 4s579ms 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-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
12 4s579ms 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-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
13 4s579ms 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-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
14 4s579ms 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-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
15 4s579ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-04-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
16 4s579ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-04-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
17 4s579ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-04-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
18 4s579ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-04-13 18:36:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
19 4s8ms 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-13 12:40:49+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-13 12:40:49+02' AND '2026-04-13 18:40:49+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-13 12:40:49+02' AND '2026-04-13 18:40:49+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-13 18:40:53 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
20 3s883ms WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 1) THEN TRUE WHEN user_is_tgm (dam.editor, 1) THEN TRUE WHEN user_is_tgm (dam.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 1) THEN TRUE WHEN user_is_tgm (sire.editor, 1) THEN TRUE WHEN user_is_tgm (sire.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);[ Date: 2026-04-13 22:18:11 - Database: zemm_produktiv_7 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 32m56s 1,440 516ms 4s579ms 1s372ms 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 #1
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
2 32m56s 1,440 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
3 32m56s 1,440 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
4 32m56s 1,440 516ms 4s579ms 1s372ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
5 32m56s 1,440 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
6 32m56s 1,440 516ms 4s579ms 1s372ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
7 32m56s 1,440 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
8 32m56s 1,440 516ms 4s579ms 1s372ms 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 #8
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
9 32m56s 1,440 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
10 32m56s 1,440 516ms 4s579ms 1s372ms create schema if not exists observability;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
11 32m56s 1,440 516ms 4s579ms 1s372ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
12 32m56s 1,440 516ms 4s579ms 1s372ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
13 32m56s 1,440 516ms 4s579ms 1s372ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
14 32m56s 1,440 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
15 32m56s 1,440 516ms 4s579ms 1s372ms 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 #15
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
16 32m56s 1,440 516ms 4s579ms 1s372ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
17 32m56s 1,440 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
18 3m14s 57 3s251ms 4s579ms 3s412ms 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 13 19 6 22s798ms 3s799ms 20 3 10s219ms 3s406ms 21 12 41s48ms 3s420ms 22 12 40s8ms 3s334ms 23 12 40s91ms 3s340ms 00 12 40s356ms 3s363ms [ User: labanimal - Total duration: 3m14s - Times executed: 57 ]
-
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-13 12:35:49+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-13 12:35:49+02' AND '2026-04-13 18:35:49+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-13 12:35:49+02' AND '2026-04-13 18:35:49+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-13 18:35:53 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-13 12:40:49+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-13 12:40:49+02' AND '2026-04-13 18:40:49+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-13 12:40:49+02' AND '2026-04-13 18:40:49+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-13 18:40:53 Duration: 4s8ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-13 14:34:30+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-13 14:34:30+02' AND '2026-04-13 20:34:30+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-13 14:34:30+02' AND '2026-04-13 20:34:30+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-13 20:34:33 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
19 32s218ms 43 735ms 776ms 749ms 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 13 08 6 4s453ms 742ms 09 14 10s517ms 751ms 11 1 745ms 745ms 12 5 3s759ms 751ms 13 7 5s287ms 755ms 15 2 1s488ms 744ms 16 6 4s456ms 742ms 17 2 1s511ms 755ms [ User: labanimal - Total duration: 32s218ms - Times executed: 43 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 29s983ms - Times executed: 40 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 2s235ms - Times executed: 3 ]
-
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, 10100138) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100138) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100138) 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-13 11:10:55 Duration: 776ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-13 12:40:02 Duration: 767ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 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-13 08:09:21 Duration: 763ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
20 29s265ms 43 666ms 707ms 680ms 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 13 08 6 4s29ms 671ms 09 14 9s516ms 679ms 11 1 685ms 685ms 12 5 3s443ms 688ms 13 7 4s834ms 690ms 15 2 1s346ms 673ms 16 6 4s37ms 672ms 17 2 1s372ms 686ms [ User: labanimal - Total duration: 29s265ms - Times executed: 43 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 27s243ms - Times executed: 40 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 2s21ms - Times executed: 3 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100138) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100138) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100138) 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-13 11:10:56 Duration: 707ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, 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-13 12:41:03 Duration: 704ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
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-13 08:09:21 Duration: 700ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 32m56s 516ms 4s579ms 1s372ms 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 #1
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
2 1,440 32m56s 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
3 1,440 32m56s 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
4 1,440 32m56s 516ms 4s579ms 1s372ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
5 1,440 32m56s 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
6 1,440 32m56s 516ms 4s579ms 1s372ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
7 1,440 32m56s 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
8 1,440 32m56s 516ms 4s579ms 1s372ms 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 #8
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
9 1,440 32m56s 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
10 1,440 32m56s 516ms 4s579ms 1s372ms create schema if not exists observability;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
11 1,440 32m56s 516ms 4s579ms 1s372ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
12 1,440 32m56s 516ms 4s579ms 1s372ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
13 1,440 32m56s 516ms 4s579ms 1s372ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
14 1,440 32m56s 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
15 1,440 32m56s 516ms 4s579ms 1s372ms 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 #15
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
16 1,440 32m56s 516ms 4s579ms 1s372ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
17 1,440 32m56s 516ms 4s579ms 1s372ms 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
18 57 3m14s 3s251ms 4s579ms 3s412ms 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 13 19 6 22s798ms 3s799ms 20 3 10s219ms 3s406ms 21 12 41s48ms 3s420ms 22 12 40s8ms 3s334ms 23 12 40s91ms 3s340ms 00 12 40s356ms 3s363ms [ User: labanimal - Total duration: 3m14s - Times executed: 57 ]
-
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-13 12:35:49+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-13 12:35:49+02' AND '2026-04-13 18:35:49+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-13 12:35:49+02' AND '2026-04-13 18:35:49+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-13 18:35:53 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-13 12:40:49+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-13 12:40:49+02' AND '2026-04-13 18:40:49+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-13 12:40:49+02' AND '2026-04-13 18:40:49+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-13 18:40:53 Duration: 4s8ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-13 14:34:30+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-13 14:34:30+02' AND '2026-04-13 20:34:30+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-13 14:34:30+02' AND '2026-04-13 20:34:30+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-13 20:34:33 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
19 43 32s218ms 735ms 776ms 749ms 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 13 08 6 4s453ms 742ms 09 14 10s517ms 751ms 11 1 745ms 745ms 12 5 3s759ms 751ms 13 7 5s287ms 755ms 15 2 1s488ms 744ms 16 6 4s456ms 742ms 17 2 1s511ms 755ms [ User: labanimal - Total duration: 32s218ms - Times executed: 43 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 29s983ms - Times executed: 40 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 2s235ms - Times executed: 3 ]
-
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, 10100138) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100138) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100138) 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-13 11:10:55 Duration: 776ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-13 12:40:02 Duration: 767ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 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-13 08:09:21 Duration: 763ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
20 43 29s265ms 666ms 707ms 680ms 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 13 08 6 4s29ms 671ms 09 14 9s516ms 679ms 11 1 685ms 685ms 12 5 3s443ms 688ms 13 7 4s834ms 690ms 15 2 1s346ms 673ms 16 6 4s37ms 672ms 17 2 1s372ms 686ms [ User: labanimal - Total duration: 29s265ms - Times executed: 43 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 27s243ms - Times executed: 40 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 2s21ms - Times executed: 3 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100138) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100138) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100138) 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-13 11:10:56 Duration: 707ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, 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-13 12:41:03 Duration: 704ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
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-13 08:09:21 Duration: 700ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 3s251ms 4s579ms 3s412ms 57 3m14s 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 13 19 6 22s798ms 3s799ms 20 3 10s219ms 3s406ms 21 12 41s48ms 3s420ms 22 12 40s8ms 3s334ms 23 12 40s91ms 3s340ms 00 12 40s356ms 3s363ms [ User: labanimal - Total duration: 3m14s - Times executed: 57 ]
-
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-13 12:35:49+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-13 12:35:49+02' AND '2026-04-13 18:35:49+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-13 12:35:49+02' AND '2026-04-13 18:35:49+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-13 18:35:53 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-13 12:40:49+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-13 12:40:49+02' AND '2026-04-13 18:40:49+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-13 12:40:49+02' AND '2026-04-13 18:40:49+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-13 18:40:53 Duration: 4s8ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-13 14:34:30+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-13 14:34:30+02' AND '2026-04-13 20:34:30+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-13 14:34:30+02' AND '2026-04-13 20:34:30+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-13 20:34:33 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
2 516ms 4s579ms 1s372ms 1,440 32m56s 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
3 516ms 4s579ms 1s372ms 1,440 32m56s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
4 516ms 4s579ms 1s372ms 1,440 32m56s 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
5 516ms 4s579ms 1s372ms 1,440 32m56s 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
6 516ms 4s579ms 1s372ms 1,440 32m56s 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 #6
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
7 516ms 4s579ms 1s372ms 1,440 32m56s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
8 516ms 4s579ms 1s372ms 1,440 32m56s 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
9 516ms 4s579ms 1s372ms 1,440 32m56s 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 #9
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
10 516ms 4s579ms 1s372ms 1,440 32m56s create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
11 516ms 4s579ms 1s372ms 1,440 32m56s create schema if not exists observability;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
12 516ms 4s579ms 1s372ms 1,440 32m56s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
13 516ms 4s579ms 1s372ms 1,440 32m56s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
14 516ms 4s579ms 1s372ms 1,440 32m56s 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 #14
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
15 516ms 4s579ms 1s372ms 1,440 32m56s 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
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-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
16 516ms 4s579ms 1s372ms 1,440 32m56s 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 #16
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
17 516ms 4s579ms 1s372ms 1,440 32m56s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
18 516ms 4s579ms 1s372ms 1,440 32m56s 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 13 01 60 0ms 0ms 02 60 22s506ms 375ms 03 60 46s565ms 776ms 04 60 46s565ms 776ms 05 60 46s565ms 776ms 06 60 46s565ms 776ms 07 60 43s255ms 720ms 08 60 52s95ms 868ms 09 60 40s547ms 675ms 10 60 43s184ms 719ms 11 60 1m3s 1s61ms 12 60 53s946ms 899ms 13 60 1m32s 1s545ms 14 60 2m26s 2s445ms 15 60 38s532ms 642ms 16 60 40s345ms 672ms 17 60 40s960ms 682ms 18 60 44s259ms 737ms 19 60 1m31s 1s527ms 20 60 3m28s 3s478ms 21 60 3m13s 3s229ms 22 60 3m10s 3s170ms 23 60 3m15s 3s261ms 00 60 3m7s 3s127ms [ User: labanimal - Total duration: 32m56s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-13 18:36:01 Duration: 4s579ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-13 22:19:01 Duration: 3s883ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-13 20:39:01 Duration: 3s763ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
19 735ms 776ms 749ms 43 32s218ms 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 13 08 6 4s453ms 742ms 09 14 10s517ms 751ms 11 1 745ms 745ms 12 5 3s759ms 751ms 13 7 5s287ms 755ms 15 2 1s488ms 744ms 16 6 4s456ms 742ms 17 2 1s511ms 755ms [ User: labanimal - Total duration: 32s218ms - Times executed: 43 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 29s983ms - Times executed: 40 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 2s235ms - Times executed: 3 ]
-
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, 10100138) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100138) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100138) 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-13 11:10:55 Duration: 776ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-13 12:40:02 Duration: 767ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 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-13 08:09:21 Duration: 763ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
20 666ms 707ms 680ms 43 29s265ms 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 13 08 6 4s29ms 671ms 09 14 9s516ms 679ms 11 1 685ms 685ms 12 5 3s443ms 688ms 13 7 4s834ms 690ms 15 2 1s346ms 673ms 16 6 4s37ms 672ms 17 2 1s372ms 686ms [ User: labanimal - Total duration: 29s265ms - Times executed: 43 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 27s243ms - Times executed: 40 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 2s21ms - Times executed: 3 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100138) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100138) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100138) 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-13 11:10:56 Duration: 707ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, 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-13 12:41:03 Duration: 704ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
-
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-13 08:09:21 Duration: 700ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
Time consuming prepare
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
Time consuming bind
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
-
Events
Log levels
Key values
- 135,821 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 4 FATAL entries
- 19 ERROR entries
- 0 WARNING entries
- 3 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 14 Max number of times the same event was reported
- 26 Total events found
Rank Times reported Error 1 14 ERROR: column "..." does not exist
Times Reported Most Frequent Error / Event #1
Day Hour Count Apr 13 14 3 19 1 21 1 22 3 23 3 00 3 - ERROR: column "birthdate" does not exist
- ERROR: column "males" does not exist
- ERROR: column "males" does not exist
Hint: Perhaps you meant to reference the column "litters.birthDate".
Statement: SELECT id, birthdate, dam, offspring, "splitMale", "splitFemale", males, females, deleted FROM litters WHERE id=$1Date: 2026-04-13 13:43:48 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
Statement: SELECT id, "birthDate", dam, offspring, "splitMale", "splitFemale", males, females, deleted FROM litters WHERE id=$1
Date: 2026-04-13 13:44:17 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
Statement: SELECT id, "birthDate", dam, offspring, "splitMale", "splitFemale", males, females, deleted FROM litters WHERE dam=$1 AND "birthDate"=$2
Date: 2026-04-13 13:44:17 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
2 4 FATAL: Peer authentication failed for user "..."
Times Reported Most Frequent Error / Event #2
Day Hour Count Apr 13 19 1 22 1 23 1 00 1 - FATAL: Peer authentication failed for user "labanimal"
- 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-13 18:41:11 Database: zemm_produktiv_7 Application: User: labanimal Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-13 21:02:29 Database: zemm_produktiv_7 Application: User: labanimal Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-13 22:28:47 Database: zemm_produktiv_7 Application: User: labanimal Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
3 3 ERROR: Absetzen der Maennchen fehlgeschlagen (...).
Times Reported Most Frequent Error / Event #3
Day Hour Count Apr 13 14 3 - ERROR: Absetzen der Maennchen fehlgeschlagen (Code -99).
- ERROR: Absetzen der Maennchen fehlgeschlagen (Code -99).
- ERROR: Absetzen der Maennchen fehlgeschlagen (Code -99).
Context: PL/pgSQL function p_wean_litter(bigint,date,bigint,bigint,integer,integer,integer,integer,integer,text,timestamp without time zone,bigint,text) line 224 at RAISE
Statement: SELECT p_wean_litter($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,NULL,NULL,NULL)Date: 2026-04-13 13:45:59 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
Context: PL/pgSQL function p_wean_litter(bigint,date,bigint,bigint,integer,integer,integer,integer,integer,text,timestamp without time zone,bigint,text) line 224 at RAISE
Statement: SELECT p_wean_litter($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,NULL,NULL,NULL)Date: 2026-04-13 13:45:59 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
Context: PL/pgSQL function p_wean_litter(bigint,date,bigint,bigint,integer,integer,integer,integer,integer,text,timestamp without time zone,bigint,text) line 224 at RAISE
Statement: SELECT p_wean_litter($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,NULL,NULL,NULL)Date: 2026-04-13 13:45:59 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
4 3 ERROR: Zu viele Maennchen zum Absetzen angegeben.
Times Reported Most Frequent Error / Event #4
Day Hour Count Apr 13 14 3 - ERROR: Zu viele Maennchen zum Absetzen angegeben.
- ERROR: Zu viele Maennchen zum Absetzen angegeben.
- ERROR: Zu viele Maennchen zum Absetzen angegeben.
Context: PL/pgSQL function p_wean_litter(bigint,date,bigint,bigint,integer,integer,integer,integer,integer,text,timestamp without time zone,bigint,text) line 141 at RAISE
Statement: SELECT p_wean_litter($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,NULL,NULL,NULL)Date: 2026-04-13 13:41:36 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
Context: PL/pgSQL function p_wean_litter(bigint,date,bigint,bigint,integer,integer,integer,integer,integer,text,timestamp without time zone,bigint,text) line 141 at RAISE
Statement: SELECT p_wean_litter($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,NULL,NULL,NULL)Date: 2026-04-13 13:41:36 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
Context: PL/pgSQL function p_wean_litter(bigint,date,bigint,bigint,integer,integer,integer,integer,integer,text,timestamp without time zone,bigint,text) line 141 at RAISE
Statement: SELECT p_wean_litter($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,NULL,NULL,NULL)Date: 2026-04-13 13:41:36 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
5 1 LOG: could not receive data from client: Connection reset by peer
Times Reported Most Frequent Error / Event #5
Day Hour Count Apr 13 00 1 - LOG: could not receive data from client: Connection reset by peer
Date: 2026-04-13 23:40:35 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv
6 1 ERROR: operator does not exist: text = integer
Times Reported Most Frequent Error / Event #6
Day Hour Count Apr 13 00 1 - ERROR: operator does not exist: text = integer
Hint: No operator matches the given name and argument types. You might need to add explicit type casts.
Statement: SELECT a.id, a.name, a."birthDate", a.species FROM animals a WHERE NOT a.deleted AND a.name IN (24,25,26,14,15) AND a.species = 1 AND a."birthDate" = 2024-11-18 ORDER BY a.id LIMIT 10Date: 2026-04-13 23:40:41 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-13_000000.csv