-
Global information
- Generated on Thu Apr 30 06:05:48 2026
- Log file: /var/log/postgresql/postgresql-2026-03-25_000000.csv, ..., /var/log/postgresql/postgresql-2026-04-30_000000.csv
- Parsed 293,705 log entries in 5m47s
- Log start from 2026-04-07 00:00:00 to 2026-04-07 23:59:11
-
Overview
Global Stats
- 89 Number of unique normalized queries
- 19,050 Number of queries
- 20h26m50s Total query duration
- 2026-04-07 00:00:01 First query
- 2026-04-07 23:59:01 Last query
- 19 queries/s at 2026-04-07 23:35:01 Query peak
- 20h26m50s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 20h26m50s Execute total duration
- 31 Number of events
- 7 Number of unique normalized events
- 13 Max number of times the same event was reported
- 0 Number of cancellation
- 103 Total number of automatic vacuums
- 226 Total number of automatic analyzes
- 153 Number temporary file
- 512.72 MiB Max size of temporary file
- 70.06 MiB Average size of temporary file
- 29,294 Total number of sessions
- 56 sessions at 2026-04-07 00:00:00 Session peak
- 1h32m59s Total duration of sessions
- 190ms Average duration of sessions
- 0 Average queries per session
- 2s512ms Average queries duration per session
- 0ms Average idle time per session
- 29,291 Total number of connections
- 46 connections/s at 2026-04-07 10:47:00 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 19 queries/s Query Peak
- 2026-04-07 23:35:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-04-07 15:10:55 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 19 queries/s Query Peak
- 2026-04-07 23:35:01 Date
Queries duration
Key values
- 20h26m50s 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 07 00 786 0ms 30s405ms 29s789ms 6m35s 7m3s 7m5s 01 793 841ms 30s254ms 10s596ms 6m33s 6m36s 7m3s 02 799 819ms 3s145ms 2s304ms 39s582ms 40s894ms 51s446ms 03 780 2s831ms 2s831ms 2s831ms 36s806ms 36s806ms 36s806ms 04 780 2s831ms 2s831ms 2s831ms 36s806ms 36s806ms 36s806ms 05 780 2s831ms 2s831ms 2s831ms 36s806ms 36s806ms 36s806ms 06 780 2s831ms 2s831ms 2s831ms 36s806ms 36s806ms 36s806ms 07 784 682ms 2s831ms 1s929ms 36s806ms 36s806ms 39s717ms 08 801 503ms 3s164ms 2s538ms 41s56ms 41s709ms 43s390ms 09 793 1s83ms 3s284ms 2s868ms 41s505ms 41s820ms 44s686ms 10 806 682ms 25s609ms 2s768ms 46s970ms 52s271ms 5m35s 11 794 685ms 3s396ms 2s373ms 39s888ms 42s73ms 45s615ms 12 787 597ms 3s68ms 2s217ms 39s695ms 39s695ms 42s942ms 13 821 593ms 3s795ms 1s304ms 48s246ms 48s246ms 50s551ms 14 786 537ms 801ms 613ms 9s402ms 9s402ms 11s22ms 15 790 602ms 1s16ms 714ms 9s736ms 9s736ms 12s573ms 16 790 503ms 3s495ms 1s146ms 43s806ms 45s447ms 49s252ms 17 799 505ms 3s229ms 3s31ms 43s298ms 43s814ms 45s545ms 18 794 538ms 3s100ms 2s985ms 41s964ms 42s194ms 43s258ms 19 801 2s917ms 3s43ms 3s19ms 39s569ms 42s31ms 1m27s 20 792 2s921ms 7s369ms 2s992ms 42s32ms 42s443ms 46s135ms 21 796 877ms 7s369ms 3s102ms 45s214ms 1m35s 1m39s 22 806 882ms 3s210ms 2s686ms 41s200ms 41s918ms 57s210ms 23 812 500ms 5s913ms 2s703ms 42s455ms 1m16s 1m16s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 07 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 0 0 0ms 0ms 0ms 0ms 07 4 0 727ms 0ms 0ms 0ms 08 7 0 851ms 0ms 0ms 1s869ms 09 0 0 0ms 0ms 0ms 0ms 10 13 0 3s601ms 0ms 0ms 7s777ms 11 5 0 786ms 0ms 0ms 1s449ms 12 6 0 829ms 0ms 0ms 2s112ms 13 36 0 918ms 1s398ms 2s276ms 4s251ms 14 6 0 625ms 0ms 0ms 1s524ms 15 10 0 766ms 0ms 0ms 2s324ms 16 1 0 556ms 0ms 0ms 0ms 17 0 0 0ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 0 8 1s344ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 07 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s82ms 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 07 00 0 6 6.00 0.00% 01 0 11 11.00 0.00% 02 0 9 9.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 14 14.00 0.00% 09 0 12 12.00 0.00% 10 0 7 7.00 0.00% 11 0 6 6.00 0.00% 12 0 1 1.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 7 7.00 0.00% 17 0 19 19.00 0.00% 18 0 14 14.00 0.00% 19 0 4 4.00 0.00% 20 0 11 11.00 0.00% 21 0 10 10.00 0.00% 22 0 12 12.00 0.00% 23 0 12 12.00 0.00% Day Hour Count Average / Second Apr 07 00 455 0.13/s 01 820 0.23/s 02 1,823 0.51/s 03 244 0.07/s 04 244 0.07/s 05 244 0.07/s 06 947 0.26/s 07 975 0.27/s 08 1,718 0.48/s 09 1,505 0.42/s 10 2,959 0.82/s 11 2,829 0.79/s 12 1,687 0.47/s 13 2,985 0.83/s 14 1,946 0.54/s 15 861 0.24/s 16 978 0.27/s 17 954 0.27/s 18 895 0.25/s 19 433 0.12/s 20 734 0.20/s 21 851 0.24/s 22 866 0.24/s 23 1,338 0.37/s Day Hour Count Average Duration Average idle time Apr 07 00 458 595ms 0ms 01 820 268ms 0ms 02 1,823 161ms 0ms 03 244 291ms 0ms 04 244 297ms 0ms 05 244 296ms 0ms 06 947 148ms 0ms 07 975 190ms 0ms 08 1,718 182ms 0ms 09 1,505 147ms 0ms 10 2,959 189ms 0ms 11 2,829 187ms 0ms 12 1,687 139ms 0ms 13 2,985 149ms 0ms 14 1,946 117ms 0ms 15 861 165ms 0ms 16 978 287ms 0ms 17 954 190ms 0ms 18 895 198ms 0ms 19 433 241ms 0ms 20 731 256ms 0ms 21 854 215ms 0ms 22 866 203ms 0ms 23 1,338 207ms 0ms -
Connections
Established Connections
Key values
- 46 connections Connection Peak
- 2026-04-07 10:47:00 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 29,291 connections Total
Connections per user
Key values
- labanimal Main User
- 29,291 connections Total
-
Sessions
Simultaneous sessions
Key values
- 56 sessions Session Peak
- 2026-04-07 00:00:00 Date
Histogram of session times
Key values
- 26,669 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 29,294 sessions Total
Sessions per user
Key values
- labanimal Main User
- 29,294 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 29,294 sessions Total
Sessions per application
Key values
- Main Application
- 29,294 sessions Total
Application Count Total Duration Average Duration 23,370 1h14m32s 191ms _backend_cage_autocomplete_api.php_q_2025_limit_12_zemm_produkt 22 542ms 24ms _backend_cage_autocomplete_api.php_q_55-065_limit_12_zemm_produ 22 674ms 30ms _backend_wean_api.php_litter_id_10130227_zemm_produktiv_7_local 110 15s827ms 143ms _backend_wean_api.php_litter_id_10130236_zemm_produktiv_7_local 110 16s564ms 150ms _backend_wean_api.php_litter_id_10130257_zemm_produktiv_7_local 132 19s581ms 148ms _backend_wean_api.php_litter_id_10131588_zemm_produktiv_8_local 2 301ms 150ms _backend_wean_api.php_litter_id_10131624_zemm_produktiv_8_local 2 287ms 143ms _backend_wean_api.php_litter_id_10131666_zemm_produktiv_8_local 2 290ms 145ms _backend_wean_api.php_litter_id_10131669_zemm_produktiv_8_local 2 280ms 140ms _backend_wean_api.php_litter_id_10131671_zemm_produktiv_8_local 3 428ms 142ms _backend_wean_api.php_litter_id_10131747_zemm_produktiv_8_local 4 574ms 143ms _backend_wean_api.php_litter_id_10131809_zemm_produktiv_8_local 2 285ms 142ms _backend_wean_api.php_litter_id_10131980_zemm_produktiv_8_local 2 290ms 145ms _backend_wean_api.php_litter_id_10131996_zemm_produktiv_8_local 1 142ms 142ms _backend_wean_api.php_litter_id_10132032_zemm_produktiv_8_local 2 282ms 141ms _backend_wean_api.php_litter_id_10132035_zemm_produktiv_8_local 4 595ms 148ms _backend_wean_api.php_litter_id_10132045_zemm_produktiv_8_local 2 300ms 150ms _backend_wean_api.php_litter_id_10132046_zemm_produktiv_8_local 2 303ms 151ms _desktop__zemm_produktiv_7_localhost_5432 25 1s821ms 72ms _desktop__zemm_produktiv_8_localhost_5432 18 1s80ms 60ms _desktop_index.php_animal_name_39_animal_id_2026_2F000_2F3906_s 1 45ms 45ms _desktop_index.php_animal_name_39_animal_id_2026_2F000_2F4172_s 1 100ms 100ms _desktop_index.php_breeding__25_sex__25_in_breeding__25_fate_5_ 6 708ms 118ms _desktop_index.php_cages_name_A15.415_2A_cages_empty__25_val4_c 2 1s930ms 965ms _desktop_index.php_cages_name_A15_2A_cages_empty__25_val4_cages 2 3s19ms 1s509ms _desktop_index.php_cages_name_TF.A15_2A_cages_empty__25_val4_ca 1 274ms 274ms _desktop_index.php_command_animals_breedings_subcommand_add_bre 5 210ms 42ms _desktop_index.php_command_animals_breedings_subcommand_select_ 25 1s370ms 54ms _desktop_index.php_command_animals_create_subcommand_init_zemm_ 25 1s566ms 62ms _desktop_index.php_command_animals_edit_subcommand_init_id_1029 6 625ms 104ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 1 116ms 116ms _desktop_index.php_command_animals_edit_subcommand_link_init_va 22 2s715ms 123ms _desktop_index.php_command_animals_edit_subcommand_m_init_scree 22 2s847ms 129ms _desktop_index.php_command_animals_litters_create_subcommand_se 1 177ms 177ms _desktop_index.php_command_animals_litters_edit_subcommand_init 22 2s459ms 111ms _desktop_index.php_command_animals_litters_edit_subcommand_m_in 22 7s249ms 329ms _desktop_index.php_command_animals_litters_subcommand_select_ze 25 1s256ms 50ms _desktop_index.php_command_animals_subcommand_found_val1_101003 1 47ms 47ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 9 393ms 43ms _desktop_index.php_command_animals_subcommand_select_zemm_produ 25 1s941ms 77ms _desktop_index.php_command_cages_edit_subcommand_init_id_101014 2 144ms 72ms _desktop_index.php_command_cages_edit_subcommand_init_id_101020 1 74ms 74ms _desktop_index.php_command_cages_subcommand_init_zemm_produktiv 1 47ms 47ms _desktop_index.php_command_documents_subcommand_edit_id_1010000 2 92ms 46ms _desktop_index.php_command_documents_subcommand_init_zemm_produ 2 90ms 45ms _desktop_index.php_command_facility_subcommand_init_zemm_produk 1 76ms 76ms _desktop_index.php_command_home_subcommand_init_zemm_produktiv_ 2 187ms 93ms _desktop_index.php_command_import_dashboard_subcommand_confirm_ 3 296ms 98ms _desktop_index.php_command_import_dashboard_subcommand_conflict 7 480ms 68ms _desktop_index.php_command_import_dashboard_subcommand_create_r 5 299ms 59ms _desktop_index.php_command_import_dashboard_subcommand_definiti 12 776ms 64ms _desktop_index.php_command_import_dashboard_subcommand_init_zem 9 602ms 66ms _desktop_index.php_command_import_dashboard_subcommand_select_s 3 190ms 63ms _desktop_index.php_command_import_dashboard_subcommand_source_f 4 273ms 68ms _desktop_index.php_command_import_dashboard_subcommand_view_run 21 1s429ms 68ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 414 12s498ms 30ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 2 270ms 135ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 10 1s104ms 110ms _desktop_index.php_command_reports_subcommand_annual_fate_2025_ 1 225ms 225ms _desktop_index.php_command_reports_subcommand_annual_reports_ze 1 53ms 53ms _desktop_index.php_command_reports_subcommand_annual_user_2025_ 1 178ms 178ms _desktop_index.php_command_reports_subcommand_annual_year_2025_ 1 63ms 63ms _desktop_index.php_command_reports_subcommand_authority_meldung 1 64ms 64ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 23 2s907ms 126ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 49 14s721ms 300ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 3 366ms 122ms _desktop_index.php_command_tasks_subcommand_create_zemm_produkt 1 53ms 53ms _desktop_index.php_command_tasks_subcommand_edit_id_10134267_ze 22 1s942ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10142075_ze 1 91ms 91ms _desktop_index.php_command_tasks_subcommand_edit_id_10142102_ze 1 90ms 90ms _desktop_index.php_command_tasks_subcommand_edit_id_10142105_ze 1 82ms 82ms _desktop_index.php_command_tasks_subcommand_init_search_zemm_pr 22 1s120ms 50ms _desktop_index.php_command_tasks_subcommand_init_template_zemm_ 3 133ms 44ms _desktop_index.php_command_tasks_subcommand_init_zemm_produktiv 2 163ms 81ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 91 7s191ms 79ms _desktop_index.php_command_tasks_subcommand_search_zemm_produkt 27 1s361ms 50ms _desktop_index.php_command_tasks_subcommand_view_template_id_48 1 52ms 52ms _desktop_index.php_lic_filter_1_command_tasks_subcommand_init_z 1 82ms 82ms _desktop_index.php_m_action_animals_3Am_delete_row_animals_1026 1 46ms 46ms _desktop_index.php_m_action_animals_3Am_delete_row_animals_1029 1 388ms 388ms _desktop_index.php_m_action_animals_3Am_delete_val4_animals_lis 2 90ms 45ms _desktop_index.php_m_action_documents_3Am_delete_val4_documents 1 94ms 94ms _desktop_index.php_name_B6.EomesCreERT2.tdTom_species_1_stockno 1 48ms 48ms _desktop_index.php_name_Genotypisierungsproben_20genommen_instr 1 95ms 95ms _desktop_index.php_name_Transfer_20in_20Laborbereich_20des_20ZE 2 104ms 52ms _desktop_index.php_name_Verpaarungen_20f_C3_BCr_20Versuchsvorha 2 123ms 61ms _desktop_index.php_name_Verpaarungen_20mit_20Zuchtgenehmigung_2 1 68ms 68ms _desktop_index.php_search_status__25_issuer_user_name_Dey_20Sar 2 172ms 86ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 1 284ms 284ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 16 6s839ms 427ms _desktop_index.php_zemm_produktiv_7_localhost_5432 550 2m17s 249ms _desktop_index.php_zemm_produktiv_8_localhost_5432 3,612 13m7s 218ms backend:zemm_produktiv_8@localhost 32 3s668ms 114ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s108ms 1s108ms pg_dump 1 14s174ms 14s174ms psql 202 4s876ms 24ms taskscron:zemm_produktiv_7@zemm.fbiscience.eu 24 617ms 25ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 9s945ms 414ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 60,196 buffers Checkpoint Peak
- 2026-04-07 06:17:04 Date
- 269.995 seconds Highest write time
- 0.061 seconds Sync time
Checkpoints Wal files
Key values
- 20 files Wal files usage Peak
- 2026-04-07 06:17:04 Date
Checkpoints distance
Key values
- 651.38 Mo Distance Peak
- 2026-04-07 06:17:04 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Apr 07 00 3,418 342.451s 0.071s 342.572s 01 22,328 585.729s 0.103s 585.89s 02 5,810 581.753s 0.146s 581.951s 03 2,283 228.982s 0.066s 229.102s 04 2,466 247.301s 0.068s 247.418s 05 2,166 217.251s 0.067s 217.369s 06 65,330 783.557s 0.15s 783.774s 07 7,171 718.23s 0.151s 718.437s 08 10,978 958.204s 0.166s 958.419s 09 5,190 519.746s 0.141s 519.941s 10 8,622 864.73s 0.21s 864.999s 11 10,680 1,029.388s 0.236s 1,029.677s 12 4,872 488.166s 0.199s 488.419s 13 55,399 1,587.501s 0.29s 1,587.865s 14 6,286 629.789s 0.208s 630.048s 15 23,360 870.407s 0.159s 870.623s 16 13,873 1,040.899s 0.114s 1,041.074s 17 3,698 370.622s 0.092s 370.767s 18 3,803 380.947s 0.086s 381.083s 19 3,308 331.439s 0.098s 331.59s 20 3,128 313.626s 0.08s 313.754s 21 4,027 403.499s 0.101s 403.654s 22 3,712 371.947s 0.116s 372.119s 23 5,058 507.384s 0.241s 507.732s Day Hour Added Removed Recycled Synced files Longest sync Average sync Apr 07 00 0 0 1 317 0.002s 0.012s 01 0 0 7 481 0.007s 0.012s 02 0 0 1 789 0.003s 0.012s 03 0 0 1 314 0.002s 0.012s 04 0 0 1 316 0.001s 0.012s 05 0 0 1 314 0.002s 0.012s 06 0 0 21 811 0.003s 0.012s 07 0 0 2 789 0.002s 0.012s 08 0 0 2 881 0.002s 0.011s 09 0 0 2 681 0.002s 0.012s 10 0 0 2 1,048 0.005s 0.012s 11 0 0 3 1,341 0.002s 0.012s 12 0 0 2 1,103 0.002s 0.012s 13 0 0 24 1,561 0.005s 0.012s 14 0 0 2 1,112 0.003s 0.012s 15 0 0 10 854 0.002s 0.012s 16 0 0 5 505 0.003s 0.012s 17 0 0 1 425 0.002s 0.012s 18 0 0 1 382 0.002s 0.012s 19 0 0 1 370 0.002s 0.012s 20 0 0 1 347 0.002s 0.012s 21 0 0 2 447 0.002s 0.012s 22 0 0 1 493 0.004s 0.012s 23 0 0 1 625 0.010s 0.012s Day Hour Count Avg time (sec) Apr 07 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 07 00 1,406.00 kB 2,169.17 kB 01 9,218.42 kB 37,930.08 kB 02 2,459.50 kB 31,617.50 kB 03 1,102.17 kB 9,879.50 kB 04 1,126.17 kB 3,603.33 kB 05 1,058.67 kB 1,784.08 kB 06 29,441.83 kB 181,855.83 kB 07 2,039.50 kB 70,998.08 kB 08 3,604.27 kB 23,343.27 kB 09 1,953.42 kB 8,616.00 kB 10 3,432.50 kB 5,294.50 kB 11 4,011.17 kB 9,189.67 kB 12 1,920.25 kB 5,929.83 kB 13 33,463.75 kB 78,561.08 kB 14 2,682.00 kB 32,442.58 kB 15 14,327.25 kB 48,919.50 kB 16 6,629.25 kB 22,278.08 kB 17 1,467.83 kB 10,357.00 kB 18 1,450.33 kB 3,968.92 kB 19 1,368.50 kB 2,425.00 kB 20 1,309.42 kB 2,689.92 kB 21 1,695.33 kB 2,896.58 kB 22 1,579.42 kB 2,640.50 kB 23 2,215.75 kB 3,130.50 kB -
Temporary Files
Size of temporary files
Key values
- 512.72 MiB Temp Files size Peak
- 2026-04-07 01:10:31 Date
Number of temporary files
Key values
- 3 per second Temp Files Peak
- 2026-04-07 17:38:27 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Apr 07 00 6 3.00 GiB 512.25 MiB 01 11 1.40 GiB 130.59 MiB 02 9 409.96 MiB 45.55 MiB 03 0 0 0 04 0 0 0 05 0 0 0 06 0 0 0 07 0 0 0 08 14 639.30 MiB 45.66 MiB 09 12 546.66 MiB 45.56 MiB 10 7 321.06 MiB 45.87 MiB 11 6 275.26 MiB 45.88 MiB 12 1 46.22 MiB 46.22 MiB 13 0 0 0 14 0 0 0 15 0 0 0 16 5 230.07 MiB 46.01 MiB 17 13 592.04 MiB 45.54 MiB 18 14 637.66 MiB 45.55 MiB 19 5 227.82 MiB 45.56 MiB 20 13 592.09 MiB 45.55 MiB 21 10 456.35 MiB 45.64 MiB 22 12 547.48 MiB 45.62 MiB 23 15 687.27 MiB 45.82 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 13 593.89 MiB 45.49 MiB 46.70 MiB 45.68 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', 'test', 'dev') AND collected_at <= '2026-04-06 18:00:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:00:00+02' AND '2026-04-07 00:00:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:00:00+02' AND '2026-04-07 00:00:00+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-07 00:00:30 Duration: 30s405ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-07_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', 'test', 'dev') AND collected_at <= '2026-04-06 18:10:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:10:00+02' AND '2026-04-07 00:10:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:10:00+02' AND '2026-04-07 00:10:00+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-07 00:10:30 Duration: 30s402ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-07_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', 'test', 'dev') AND collected_at <= '2026-04-06 18:40:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:40:00+02' AND '2026-04-07 00:40:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:40:00+02' AND '2026-04-07 00:40:00+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-07 00:40:31 Duration: 30s262ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
Queries generating the largest temporary files
Rank Size Query 1 46.70 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-07 23:55:24 - Queryid: 1665424 ]
2 46.52 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) 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-07 23:55:24 - Queryid: 1665424 ]
3 45.62 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-07 23:15:21 - Queryid: 1629584 ]
4 45.57 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-07 19:03:29 - Queryid: 1503226 ]
5 45.51 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-07 17:38:27 - Queryid: 1474239 ]
6 45.51 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-07 20:18:10 - Queryid: 1528363 ]
7 45.50 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-07 23:30:21 - Queryid: 1639200 ]
8 45.50 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-07 18:53:29 - Queryid: 1499351 ]
9 45.50 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-07 17:38:27 - Queryid: 1474239 ]
10 45.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-07 20:38:09 - Queryid: 1536261 ]
11 45.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-07 16:58:27 - Queryid: 1461835 ]
12 45.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-07 17:48:28 - Queryid: 1477400 ]
13 45.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-07 18:43:29 - Queryid: 1495631 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 26.96 sec Highest CPU-cost vacuum
Table observability.db_top_queries
Database zemm_monitoring - 2026-04-07 06:11:40 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_monitoring - Date
Average Autovacuum Duration
Key values
- 26.96 sec Highest CPU-cost vacuum
Table observability.db_top_queries
Database zemm_monitoring - 2026-04-07 06:11:40 Date
Analyzes per table
Key values
- pg_catalog.pg_type (54) Main table analyzed (database zemm_produktiv_8)
- 226 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 54 zemm_produktiv_8.pg_catalog.pg_attribute 40 zemm_produktiv_8.pg_catalog.pg_class 29 zemm_produktiv_8.pg_catalog.pg_depend 25 zemm_produktiv_8.public.breedingssires 13 zemm_produktiv_8.public.breedingsdams 13 zemm_produktiv_7.pg_catalog.pg_attribute 4 zemm_produktiv_7.pg_catalog.pg_type 4 zemm_produktiv_7.pg_catalog.pg_class 3 zemm_produktiv_7.pg_catalog.pg_depend 3 zemm_produktiv_8.public.cages_search_mview 3 zemm_produktiv_7.public.import_validation_issues 3 zemm_produktiv_8.public.tmptasks 3 zemm_monitoring.observability.app_events 2 zemm_monitoring.observability.metrics_timeseries 2 bucardo.pg_catalog.pg_shdepend 2 zemm_test_3.pg_catalog.pg_shdepend 2 zemm_produktiv_8.public.users 2 template1.pg_catalog.pg_shdepend 2 zemm_produktiv_7.public.import_question_answers 2 invdb.pg_catalog.pg_shdepend 1 zemm_produktiv_7.pg_catalog.pg_trigger 1 zemm_produktiv_8.public.login_tracker 1 zemm_produktiv_8.public.user_ui_prefs 1 zemm_produktiv_7.public.users 1 zemm_produktiv_8.public.cages 1 zemm_produktiv_8.pg_catalog.pg_shdepend 1 zemm_test_2.pg_catalog.pg_shdepend 1 zemm_monitoring.observability.system_metrics 1 zemm_produktiv_7.public.import_staging_rows 1 zemm_monitoring.observability.nginx_counters 1 zemm_produktiv_8.public.monitoring_session_activity 1 zemm_produktiv_7.pg_catalog.pg_constraint 1 labanimal.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.tasks 1 Total 226 Vacuums per table
Key values
- pg_catalog.pg_type (19) Main table vacuumed on database zemm_produktiv_8
- 103 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 19 19 0 0 0 0 0 976 168 194,267 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 13 13 0 0 0 0 0 1,717 554 379,062 0 0 zemm_produktiv_8.public.breedingsdams 13 0 0 0 0 0 0 2,574 52 160,446 0 0 zemm_produktiv_8.public.breedingssires 13 0 0 0 0 0 0 1,924 52 122,096 0 0 zemm_produktiv_8.pg_catalog.pg_class 10 10 0 0 0 0 0 974 282 321,412 0 0 zemm_produktiv_8.pg_catalog.pg_depend 7 7 0 0 0 0 0 877 264 299,921 0 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 0 0 0 3,943 1,326 3,012,152 1,302 7,812 fbi_ci_db.pg_catalog.pg_shdepend 4 4 0 0 0 0 0 361 122 224,669 4 21 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 0 0 0 0 0 805 194 1,074,738 42 126 zemm_produktiv_7.pg_catalog.pg_type 2 2 0 0 0 0 0 102 27 44,699 5 81 zemm_produktiv_7.pg_catalog.pg_attribute 2 2 0 0 0 0 0 446 198 251,336 13 126 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 0 0 0 0 0 215 71 228,738 48 155 zemm_produktiv_7.pg_catalog.pg_class 1 1 0 0 0 0 0 95 32 46,481 6 79 zemm_produktiv_7.pg_toast.pg_toast_2619 1 1 0 0 0 0 0 115 29 146,802 10 37 zemm_produktiv_7.public.import_question_answers 1 0 0 0 0 0 0 6 5 3,045 0 0 zemm_produktiv_8.public.cages_search_mview 1 1 0 0 0 0 0 641 332 1,116,786 54 974 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 44,446 28 3,188,885 0 0 zemm_monitoring.observability.db_top_queries 1 0 0 0 0 0 0 110,811 101,782 338,607,027 4,476 37,088 zemm_produktiv_7.public.import_validation_issues 1 1 0 0 0 0 0 13 11 6,607 0 0 zemm_monitoring.pg_toast.pg_toast_67411 1 0 0 0 0 0 0 4,603 1,267 7,581,465 1,263 5,504 zemm_monitoring.pg_toast.pg_toast_2619 1 1 0 0 0 0 0 111 29 163,082 6 22 zemm_produktiv_8.public.tmptasks 1 1 0 0 0 0 0 67 20 12,395 0 0 Total 103 69 0 0 0 0 0 175,822 106,845 357,186,111 7,229 52,025 Vacuum throughput per table
Key values
- observability.db_top_queries (26.96) Max CPU elapsed for vacuum on database zemm_monitoring
- observability.db_top_queries (5.953 ms) Max I/O read time for vacuum on database zemm_monitoring
- pg_toast.pg_toast_67411 (4.593 ms) Max I/O write time for vacuum on database zemm_monitoring
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 0.624 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 1.139 0 0.12 zemm_produktiv_8.public.breedingsdams 0 0.198 0 zemm_produktiv_8.public.breedingssires 0 0.312 0 zemm_produktiv_8.pg_catalog.pg_class 2.048 0 0.01 zemm_produktiv_8.pg_catalog.pg_depend 1.354 0 0.06 zemm_monitoring.pg_toast.pg_toast_67431 2.726 0.882 0.3 fbi_ci_db.pg_catalog.pg_shdepend 0.797 0 0.03 zemm_produktiv_8.pg_toast.pg_toast_2619 0.616 0 0.05 zemm_produktiv_7.pg_catalog.pg_type 2.03 0 0 zemm_produktiv_7.pg_catalog.pg_attribute 5.112 0 0.06 zemm_produktiv_8.pg_catalog.pg_statistic 0.258 0 0.02 zemm_produktiv_7.pg_catalog.pg_class 0.221 0 0 zemm_produktiv_7.pg_toast.pg_toast_2619 0.259 0 0.01 zemm_produktiv_7.public.import_question_answers 0 0.057 0 zemm_produktiv_8.public.cages_search_mview 0.395 0 0.08 zemm_produktiv_8.public.tasks 0.136 0 0.59 zemm_monitoring.observability.db_top_queries 5.953 0.083 26.96 zemm_produktiv_7.public.import_validation_issues 0 0.052 0 zemm_monitoring.pg_toast.pg_toast_67411 1.996 4.593 0.36 zemm_monitoring.pg_toast.pg_toast_2619 0.082 0 0 zemm_produktiv_8.public.tmptasks 0.333 0 0 Total 26.079 6.177 28.65 Tuples removed per table
Key values
- public.tasks (53644) Main table with removed tuples on database zemm_produktiv_8
- 83454 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 53,644 56,669 0 0 16,678 zemm_produktiv_8.pg_catalog.pg_attribute 13 13 13,256 74,052 0 0 2,392 zemm_produktiv_8.pg_catalog.pg_depend 7 7 6,118 29,197 0 0 385 zemm_produktiv_8.pg_catalog.pg_type 19 19 3,908 15,789 0 0 589 fbi_ci_db.pg_catalog.pg_shdepend 4 4 1,720 15,480 0 0 152 zemm_produktiv_8.pg_catalog.pg_class 10 10 1,540 8,940 0 0 420 zemm_produktiv_7.pg_catalog.pg_attribute 2 2 1,387 13,554 0 0 380 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 499 1,164 0 0 424 zemm_produktiv_8.public.cages_search_mview 1 1 381 13,829 0 0 234 zemm_produktiv_7.pg_catalog.pg_type 2 2 300 1,712 0 0 54 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 270 1,272 0 0 144 zemm_produktiv_7.pg_catalog.pg_class 1 1 188 958 0 0 39 zemm_produktiv_8.public.tmptasks 1 1 64 807 0 0 118 zemm_produktiv_7.pg_toast.pg_toast_2619 1 1 63 382 0 0 130 zemm_monitoring.pg_toast.pg_toast_2619 1 1 57 79 0 0 38 zemm_produktiv_7.public.import_question_answers 1 0 51 17 0 0 1 zemm_produktiv_7.public.import_validation_issues 1 1 8 8 0 0 1 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 1,596,702 0 0 267,067 zemm_produktiv_8.public.breedingsdams 13 0 0 395,167 0 0 2,522 zemm_produktiv_8.public.breedingssires 13 0 0 292,487 0 0 1,872 zemm_monitoring.observability.db_top_queries 1 0 0 8,310,431 0 0 913,354 zemm_monitoring.pg_toast.pg_toast_67411 1 0 0 77,067 0 0 18,511 Total 103 69 83,454 10,905,763 0 0 1,225,505 Pages removed per table
Key values
- unknown (0) Main table with removed pages on database unknown
- 0 pages Total removed
Pages removed per tables
NO DATASET
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_7.pg_catalog.pg_type 2 2 300 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 fbi_ci_db.pg_catalog.pg_shdepend 4 4 1720 0 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 270 0 zemm_produktiv_7.pg_catalog.pg_attribute 2 2 1387 0 zemm_produktiv_8.pg_catalog.pg_attribute 13 13 13256 0 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 499 0 zemm_produktiv_7.pg_catalog.pg_class 1 1 188 0 zemm_produktiv_8.pg_catalog.pg_depend 7 7 6118 0 zemm_produktiv_7.pg_toast.pg_toast_2619 1 1 63 0 zemm_produktiv_8.public.breedingsdams 13 0 0 0 zemm_produktiv_7.public.import_question_answers 1 0 51 0 zemm_produktiv_8.public.breedingssires 13 0 0 0 zemm_produktiv_8.public.cages_search_mview 1 1 381 0 zemm_produktiv_8.public.tasks 1 1 53644 0 zemm_monitoring.observability.db_top_queries 1 0 0 0 zemm_produktiv_7.public.import_validation_issues 1 1 8 0 zemm_monitoring.pg_toast.pg_toast_67411 1 0 0 0 zemm_produktiv_8.pg_catalog.pg_class 10 10 1540 0 zemm_monitoring.pg_toast.pg_toast_2619 1 1 57 0 zemm_produktiv_8.public.tmptasks 1 1 64 0 zemm_produktiv_8.pg_catalog.pg_type 19 19 3908 0 Total 103 69 83,454 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Apr 07 00 0 0 01 2 3 02 2 6 03 0 0 04 1 0 05 0 0 06 6 15 07 2 8 08 6 14 09 3 10 10 5 14 11 9 24 12 7 18 13 34 56 14 10 30 15 10 16 16 0 2 17 1 2 18 2 1 19 0 0 20 0 0 21 1 2 22 1 0 23 1 5 - 26.96 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
- 88 Total read queries
- 18,950 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 18,876 Requests
- 20h22m9s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- labanimal Main user
- 302,234 Requests
User Request type Count Duration deploy Total 57 14m43s cte 4 1m18s ddl 30 4m31s others 8 19s381ms select 9 6m3s labanimal Total 302,234 8d22h57m19s copy from 8 18s286ms copy to 96 4m30s cte 1,578 1h57m46s ddl 299,375 8d20h32m9s others 170 1m44s select 978 20m18s tcl 2 1s129ms update 16 17s221ms postgres Total 84 1m51s copy to 84 1m51s Duration by user
Key values
- 8d22h57m19s (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 302,234 8d22h57m19s copy from 8 18s286ms copy to 96 4m30s cte 1,578 1h57m46s ddl 299,375 8d20h32m9s others 170 1m44s select 978 20m18s tcl 2 1s129ms update 16 17s221ms postgres Total 84 1m51s copy to 84 1m51s Queries by host
Key values
- unknown Main host
- 302,217 Requests
- 8d22h54m5s (unknown)
- Main time consuming host
Host Request type Count Duration 81.169.238.237 Total 17 3m13s select 1 2m56s update 16 17s221ms [local] Total 141 16m34s copy to 84 1m51s cte 4 1m18s ddl 30 4m31s others 8 19s381ms select 9 6m3s unknown Total 302,217 8d22h54m5s copy from 8 18s286ms copy to 96 4m30s cte 1,578 1h57m46s ddl 299,375 8d20h32m9s others 170 1m44s select 977 17m22s tcl 2 1s129ms Queries by application
Key values
- unknown Main application
- 18,875 Requests
- 20h22m8s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b Total 1 556ms select 1 556ms _desktop_index.php_zemm_produktiv_7_localhost_5432 Total 25 28s608ms cte 25 28s608ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 94 2m cte 8 12s294ms select 86 1m48s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s82ms update 1 1s82ms pg_dump Total 8 10s756ms copy to 8 10s756ms psql Total 46 2m ddl 33 1m24s others 12 35s81ms select 1 1s23ms unknown Total 18,875 20h22m8s cte 155 10m56s ddl 18,720 20h11m12s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-04-07 02:23:01 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 164 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 30s405ms 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', 'test', 'dev') AND collected_at <= '2026-04-06 18:00:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:00:00+02' AND '2026-04-07 00:00:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:00:00+02' AND '2026-04-07 00:00:00+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-07 00:00:30 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
2 30s405ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
3 30s405ms 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-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
4 30s405ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
5 30s405ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
6 30s405ms 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-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
7 30s405ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
8 30s405ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-04-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
9 30s405ms 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-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
10 30s405ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-04-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
11 30s405ms 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-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
12 30s405ms 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-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
13 30s405ms 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-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
14 30s405ms 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-07 00:01:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
15 30s405ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-07 00:02:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
16 30s405ms 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-07 00:02:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
17 30s405ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-07 00:02:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
18 30s405ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-07 00:02:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
19 30s405ms 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-07 00:02:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
20 30s405ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-07 00:02:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 1h33m10s 1,440 503ms 30s405ms 3s882ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
2 1h33m10s 1,440 503ms 30s405ms 3s882ms 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 #2
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
3 1h33m10s 1,440 503ms 30s405ms 3s882ms 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 #3
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
4 1h33m10s 1,440 503ms 30s405ms 3s882ms 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 #4
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
5 1h33m10s 1,440 503ms 30s405ms 3s882ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
6 1h33m10s 1,440 503ms 30s405ms 3s882ms create schema if not exists observability;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
7 1h33m10s 1,440 503ms 30s405ms 3s882ms 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 #7
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
8 1h33m10s 1,440 503ms 30s405ms 3s882ms 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 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
9 1h33m10s 1,440 503ms 30s405ms 3s882ms 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 #9
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
10 1h33m10s 1,440 503ms 30s405ms 3s882ms 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 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
11 1h33m10s 1,440 503ms 30s405ms 3s882ms 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 #11
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
12 1h33m10s 1,440 503ms 30s405ms 3s882ms 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 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
13 1h33m10s 1,440 503ms 30s405ms 3s882ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
14 10m50s 143 2s821ms 30s405ms 4s547ms 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 #14
Day Hour Count Duration Avg duration Apr 07 01 6 3m1s 30s288ms 02 11 1m27s 7s989ms 03 9 26s186ms 2s909ms 09 14 41s293ms 2s949ms 10 12 35s881ms 2s990ms 11 7 21s183ms 3s26ms 12 6 18s470ms 3s78ms 13 1 3s53ms 3s53ms 17 4 12s886ms 3s221ms 18 12 36s455ms 3s37ms 19 12 35s911ms 2s992ms 20 4 11s922ms 2s980ms 21 11 32s822ms 2s983ms 22 10 29s984ms 2s998ms 23 12 35s330ms 2s944ms 00 12 39s255ms 3s271ms [ User: labanimal - Total duration: 10m50s - Times executed: 143 ]
-
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', 'test', 'dev') AND collected_at <= '2026-04-06 18:00:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:00:00+02' AND '2026-04-07 00:00:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:00:00+02' AND '2026-04-07 00:00:00+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-07 00:00:30 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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', 'test', 'dev') AND collected_at <= '2026-04-06 18:10:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:10:00+02' AND '2026-04-07 00:10:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:10:00+02' AND '2026-04-07 00:10:00+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-07 00:10:30 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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', 'test', 'dev') AND collected_at <= '2026-04-06 18:40:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:40:00+02' AND '2026-04-07 00:40:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:40:00+02' AND '2026-04-07 00:40:00+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-07 00:40:31 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
15 34s894ms 12 2s860ms 2s917ms 2s907ms alter type import_run_status add value if not exists ? after ?;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 07 20 10 29s173ms 2s917ms 23 2 5s721ms 2s860ms [ User: labanimal - Total duration: 34s894ms - Times executed: 12 ]
[ Application: psql - Total duration: 34s894ms - Times executed: 12 ]
-
ALTER TYPE import_run_status ADD VALUE IF NOT EXISTS 'failed' AFTER 'completed';
Date: 2026-04-07 19:51:24 Duration: 2s917ms Database: zemm_produktiv_7 User: labanimal Application: psql Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
ALTER TYPE import_run_status ADD VALUE IF NOT EXISTS 'test_apply_done' AFTER 'test_apply_running';
Date: 2026-04-07 22:16:59 Duration: 2s860ms Database: zemm_produktiv_7 User: labanimal Application: psql Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
16 33s186ms 27 810ms 7s369ms 1s229ms 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, ?) then true when user_is_tgm (dam.editor, ?) then true when user_is_tgm (dam.tourist, ?) 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, ?) then true when user_is_tgm (sire.editor, ?) then true when user_is_tgm (sire.tourist, ?) 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);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 07 02 1 841ms 841ms 03 6 5s73ms 845ms 10 1 1s83ms 1s83ms 11 6 5s247ms 874ms 12 1 871ms 871ms 14 2 4s578ms 2s289ms 17 1 1s71ms 1s71ms 21 1 7s369ms 7s369ms 22 1 877ms 877ms 23 2 1s787ms 893ms 00 5 4s384ms 876ms [ User: labanimal - Total duration: 33s186ms - Times executed: 27 ]
[ Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Total duration: 28s608ms - Times executed: 25 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 4s578ms - Times executed: 2 ]
-
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-07 20:59:36 Duration: 7s369ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
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, 10100116) THEN TRUE WHEN user_is_tgm (dam.editor, 10100116) THEN TRUE WHEN user_is_tgm (dam.tourist, 10100116) 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, 10100116) THEN TRUE WHEN user_is_tgm (sire.editor, 10100116) THEN TRUE WHEN user_is_tgm (sire.tourist, 10100116) 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-07 13:33:15 Duration: 2s289ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
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, 10100116) THEN TRUE WHEN user_is_tgm (dam.editor, 10100116) THEN TRUE WHEN user_is_tgm (dam.tourist, 10100116) 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, 10100116) THEN TRUE WHEN user_is_tgm (sire.editor, 10100116) THEN TRUE WHEN user_is_tgm (sire.tourist, 10100116) 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-07 13:32:49 Duration: 2s289ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
17 25s609ms 1 25s609ms 25s609ms 25s609ms 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 (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 07 11 1 25s609ms 25s609ms [ User: labanimal - Total duration: 25s609ms - Times executed: 1 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 25s609ms - Times executed: 1 ]
-
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, 492) AS is_owner, user_is_tgm (animals_search_mview.editor, 492) AS is_editor, user_is_tgm (animals_search_mview.tourist, 492) 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 (is_owner OR is_editor OR is_tourist);
Date: 2026-04-07 10:32:20 Duration: 25s609ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
18 22s878ms 6 3s660ms 4s116ms 3s813ms select * from litters_search_mview l where not (deleted) and case when user_is_tgm (l.owner, ?) then true when user_is_tgm (l.editor, ?) then true when user_is_tgm (l.tourist, ?) then true else false end order by bday desc, dam_name, sire_name;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 07 11 4 15s372ms 3s843ms 14 2 7s506ms 3s753ms [ User: labanimal - Total duration: 22s878ms - Times executed: 6 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 22s878ms - Times executed: 6 ]
-
SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND CASE WHEN user_is_tgm (l.owner, 574) THEN TRUE WHEN user_is_tgm (l.editor, 574) THEN TRUE WHEN user_is_tgm (l.tourist, 574) THEN TRUE ELSE FALSE END ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-04-07 10:20:30 Duration: 4s116ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND CASE WHEN user_is_tgm (l.owner, 332) THEN TRUE WHEN user_is_tgm (l.editor, 332) THEN TRUE WHEN user_is_tgm (l.tourist, 332) THEN TRUE ELSE FALSE END ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-04-07 10:56:30 Duration: 3s798ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND CASE WHEN user_is_tgm (l.owner, 332) THEN TRUE WHEN user_is_tgm (l.editor, 332) THEN TRUE WHEN user_is_tgm (l.tourist, 332) THEN TRUE ELSE FALSE END ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-04-07 10:56:26 Duration: 3s796ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
19 13s669ms 18 744ms 790ms 759ms 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 07 08 2 1s536ms 768ms 11 4 3s53ms 763ms 12 2 1s531ms 765ms 13 2 1s501ms 750ms 14 8 6s46ms 755ms [ User: labanimal - Total duration: 13s669ms - Times executed: 18 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 13s669ms - Times executed: 18 ]
-
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, 156) AS is_owner, user_is_tgm (animals_search_mview.editor, 156) AS is_editor, user_is_tgm (animals_search_mview.tourist, 156) 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-07 07:34:09 Duration: 790ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-07 11:21:22 Duration: 767ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 10:52:45 Duration: 767ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
20 12s324ms 18 674ms 706ms 684ms 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 07 08 2 1s374ms 687ms 11 4 2s780ms 695ms 12 2 1s377ms 688ms 13 2 1s363ms 681ms 14 8 5s428ms 678ms [ User: labanimal - Total duration: 12s324ms - Times executed: 18 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 12s324ms - Times executed: 18 ]
-
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-07 10:52:45 Duration: 706ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 10:52:41 Duration: 697ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-07 10:58:35 Duration: 693ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 1h33m10s 503ms 30s405ms 3s882ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
2 1,440 1h33m10s 503ms 30s405ms 3s882ms 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 #2
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
3 1,440 1h33m10s 503ms 30s405ms 3s882ms 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 #3
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
4 1,440 1h33m10s 503ms 30s405ms 3s882ms 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 #4
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
5 1,440 1h33m10s 503ms 30s405ms 3s882ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
6 1,440 1h33m10s 503ms 30s405ms 3s882ms create schema if not exists observability;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
7 1,440 1h33m10s 503ms 30s405ms 3s882ms 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 #7
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
8 1,440 1h33m10s 503ms 30s405ms 3s882ms 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 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
9 1,440 1h33m10s 503ms 30s405ms 3s882ms 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 #9
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
10 1,440 1h33m10s 503ms 30s405ms 3s882ms 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 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
11 1,440 1h33m10s 503ms 30s405ms 3s882ms 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 #11
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
12 1,440 1h33m10s 503ms 30s405ms 3s882ms 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 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
13 1,440 1h33m10s 503ms 30s405ms 3s882ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
14 143 10m50s 2s821ms 30s405ms 4s547ms 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 #14
Day Hour Count Duration Avg duration Apr 07 01 6 3m1s 30s288ms 02 11 1m27s 7s989ms 03 9 26s186ms 2s909ms 09 14 41s293ms 2s949ms 10 12 35s881ms 2s990ms 11 7 21s183ms 3s26ms 12 6 18s470ms 3s78ms 13 1 3s53ms 3s53ms 17 4 12s886ms 3s221ms 18 12 36s455ms 3s37ms 19 12 35s911ms 2s992ms 20 4 11s922ms 2s980ms 21 11 32s822ms 2s983ms 22 10 29s984ms 2s998ms 23 12 35s330ms 2s944ms 00 12 39s255ms 3s271ms [ User: labanimal - Total duration: 10m50s - Times executed: 143 ]
-
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', 'test', 'dev') AND collected_at <= '2026-04-06 18:00:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:00:00+02' AND '2026-04-07 00:00:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:00:00+02' AND '2026-04-07 00:00:00+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-07 00:00:30 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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', 'test', 'dev') AND collected_at <= '2026-04-06 18:10:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:10:00+02' AND '2026-04-07 00:10:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:10:00+02' AND '2026-04-07 00:10:00+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-07 00:10:30 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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', 'test', 'dev') AND collected_at <= '2026-04-06 18:40:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:40:00+02' AND '2026-04-07 00:40:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:40:00+02' AND '2026-04-07 00:40:00+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-07 00:40:31 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
15 27 33s186ms 810ms 7s369ms 1s229ms 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, ?) then true when user_is_tgm (dam.editor, ?) then true when user_is_tgm (dam.tourist, ?) 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, ?) then true when user_is_tgm (sire.editor, ?) then true when user_is_tgm (sire.tourist, ?) 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);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 07 02 1 841ms 841ms 03 6 5s73ms 845ms 10 1 1s83ms 1s83ms 11 6 5s247ms 874ms 12 1 871ms 871ms 14 2 4s578ms 2s289ms 17 1 1s71ms 1s71ms 21 1 7s369ms 7s369ms 22 1 877ms 877ms 23 2 1s787ms 893ms 00 5 4s384ms 876ms [ User: labanimal - Total duration: 33s186ms - Times executed: 27 ]
[ Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Total duration: 28s608ms - Times executed: 25 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 4s578ms - Times executed: 2 ]
-
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-07 20:59:36 Duration: 7s369ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
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, 10100116) THEN TRUE WHEN user_is_tgm (dam.editor, 10100116) THEN TRUE WHEN user_is_tgm (dam.tourist, 10100116) 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, 10100116) THEN TRUE WHEN user_is_tgm (sire.editor, 10100116) THEN TRUE WHEN user_is_tgm (sire.tourist, 10100116) 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-07 13:33:15 Duration: 2s289ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
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, 10100116) THEN TRUE WHEN user_is_tgm (dam.editor, 10100116) THEN TRUE WHEN user_is_tgm (dam.tourist, 10100116) 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, 10100116) THEN TRUE WHEN user_is_tgm (sire.editor, 10100116) THEN TRUE WHEN user_is_tgm (sire.tourist, 10100116) 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-07 13:32:49 Duration: 2s289ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
16 18 13s669ms 744ms 790ms 759ms 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 #16
Day Hour Count Duration Avg duration Apr 07 08 2 1s536ms 768ms 11 4 3s53ms 763ms 12 2 1s531ms 765ms 13 2 1s501ms 750ms 14 8 6s46ms 755ms [ User: labanimal - Total duration: 13s669ms - Times executed: 18 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 13s669ms - Times executed: 18 ]
-
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, 156) AS is_owner, user_is_tgm (animals_search_mview.editor, 156) AS is_editor, user_is_tgm (animals_search_mview.tourist, 156) 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-07 07:34:09 Duration: 790ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-07 11:21:22 Duration: 767ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 10:52:45 Duration: 767ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
17 18 12s324ms 674ms 706ms 684ms 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 #17
Day Hour Count Duration Avg duration Apr 07 08 2 1s374ms 687ms 11 4 2s780ms 695ms 12 2 1s377ms 688ms 13 2 1s363ms 681ms 14 8 5s428ms 678ms [ User: labanimal - Total duration: 12s324ms - Times executed: 18 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 12s324ms - Times executed: 18 ]
-
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-07 10:52:45 Duration: 706ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 10:52:41 Duration: 697ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-07 10:58:35 Duration: 693ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
18 13 11s641ms 776ms 1s29ms 895ms select p_update_breedings (?, null, ?, ?::date, null, ?::text, ?::text, null) as id;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 07 14 9 8s96ms 899ms 16 4 3s544ms 886ms [ User: labanimal - Total duration: 11s641ms - Times executed: 13 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 11s641ms - Times executed: 13 ]
-
SELECT p_update_breedings (269, NULL, 7455, '2026-04-08'::date, NULL, '10298213'::text, '10298234'::text, NULL) AS id;
Date: 2026-04-07 13:22:45 Duration: 1s29ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
SELECT p_update_breedings (452, NULL, 4974, '2026-04-07'::date, NULL, '10290479'::text, '10292909;10292910'::text, NULL) AS id;
Date: 2026-04-07 15:10:20 Duration: 1s16ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
SELECT p_update_breedings (269, NULL, 7873, '2026-04-08'::date, NULL, '10298207'::text, '10298208;10298209'::text, NULL) AS id;
Date: 2026-04-07 13:12:17 Duration: 1s13ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
19 12 34s894ms 2s860ms 2s917ms 2s907ms alter type import_run_status add value if not exists ? after ?;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 07 20 10 29s173ms 2s917ms 23 2 5s721ms 2s860ms [ User: labanimal - Total duration: 34s894ms - Times executed: 12 ]
[ Application: psql - Total duration: 34s894ms - Times executed: 12 ]
-
ALTER TYPE import_run_status ADD VALUE IF NOT EXISTS 'failed' AFTER 'completed';
Date: 2026-04-07 19:51:24 Duration: 2s917ms Database: zemm_produktiv_7 User: labanimal Application: psql Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
ALTER TYPE import_run_status ADD VALUE IF NOT EXISTS 'test_apply_done' AFTER 'test_apply_running';
Date: 2026-04-07 22:16:59 Duration: 2s860ms Database: zemm_produktiv_7 User: labanimal Application: psql Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
20 12 6s444ms 503ms 578ms 537ms with normalised as ( select id, tenant_key, event_type, severity, message, payload, occurred_at, regexp_replace(regexp_replace(message, ?, ?, ?), ?, ?, ?) as fingerprint from observability.app_events where tenant_key in (...) and occurred_at between ? and ? and severity in (...) and not (event_type = ? and (lower(coalesce(message, ?)) = ? or (lower(coalesce(payload ->> ?, ?)) = ? and lower(coalesce(payload ->> ?, ?)) = ?)))) select fingerprint, count(*) as occurrence_count, count(distinct coalesce(payload ->> ?, payload ->> ?, ?)) as affected_users, max(severity) as max_severity, min(occurred_at) as first_seen, max(occurred_at) as last_seen, (array_agg(message order by occurred_at desc))[?] as sample_message, (array_agg(distinct event_type))[?] as event_type, (array_agg(payload ->> ? order by occurred_at desc))[?] as source_file, (array_agg(payload ->> ? order by occurred_at desc))[?] as source_line, (array_agg(payload ->> ? order by occurred_at desc))[?] as sample_request, (array_agg(id order by occurred_at desc))[?] as latest_event_id from normalised group by fingerprint order by occurrence_count desc, last_seen desc limit ?;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 07 17 3 1s619ms 539ms 18 7 3s747ms 535ms 19 2 1s78ms 539ms [ User: labanimal - Total duration: 6s444ms - Times executed: 12 ]
-
WITH normalised AS ( SELECT id, tenant_key, event_type, severity, message, payload, occurred_at, regexp_replace(regexp_replace(message, '\d+', '#', 'g'), '/[^ :]+/', '.../', 'g') AS fingerprint FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at BETWEEN '2026-04-07 11:13:25+02' AND '2026-04-07 17:13:25+02' AND severity IN ('error', 'warning') AND NOT (event_type = 'db_error' AND (lower(COALESCE(message, '')) = 'lock wait: client / clientread' OR ( lower(COALESCE(payload->>'wait_event_type', '')) = 'client' AND lower(COALESCE(payload ->> 'wait_event', '')) = 'clientread')))) SELECT fingerprint, COUNT(*) AS occurrence_count, COUNT(DISTINCT COALESCE(payload ->> 'user', payload ->> 'username', 'unbekannt')) AS affected_users, MAX(severity) AS max_severity, MIN(occurred_at) AS first_seen, MAX(occurred_at) AS last_seen, (array_agg(message ORDER BY occurred_at DESC))[1] AS sample_message, (array_agg(DISTINCT event_type))[1] AS event_type, (array_agg(payload ->> 'file' ORDER BY occurred_at DESC))[1] AS source_file, (array_agg(payload ->> 'line' ORDER BY occurred_at DESC))[1] AS source_line, (array_agg(payload ->> 'request' ORDER BY occurred_at DESC))[1] AS sample_request, (array_agg(id ORDER BY occurred_at DESC))[1] AS latest_event_id FROM normalised GROUP BY fingerprint ORDER BY occurrence_count DESC, last_seen DESC LIMIT '30';
Date: 2026-04-07 17:13:26 Duration: 578ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
WITH normalised AS ( SELECT id, tenant_key, event_type, severity, message, payload, occurred_at, regexp_replace(regexp_replace(message, '\d+', '#', 'g'), '/[^ :]+/', '.../', 'g') AS fingerprint FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at BETWEEN '2026-04-07 10:58:25+02' AND '2026-04-07 16:58:25+02' AND severity IN ('error', 'warning') AND NOT (event_type = 'db_error' AND (lower(COALESCE(message, '')) = 'lock wait: client / clientread' OR ( lower(COALESCE(payload->>'wait_event_type', '')) = 'client' AND lower(COALESCE(payload ->> 'wait_event', '')) = 'clientread')))) SELECT fingerprint, COUNT(*) AS occurrence_count, COUNT(DISTINCT COALESCE(payload ->> 'user', payload ->> 'username', 'unbekannt')) AS affected_users, MAX(severity) AS max_severity, MIN(occurred_at) AS first_seen, MAX(occurred_at) AS last_seen, (array_agg(message ORDER BY occurred_at DESC))[1] AS sample_message, (array_agg(DISTINCT event_type))[1] AS event_type, (array_agg(payload ->> 'file' ORDER BY occurred_at DESC))[1] AS source_file, (array_agg(payload ->> 'line' ORDER BY occurred_at DESC))[1] AS source_line, (array_agg(payload ->> 'request' ORDER BY occurred_at DESC))[1] AS sample_request, (array_agg(id ORDER BY occurred_at DESC))[1] AS latest_event_id FROM normalised GROUP BY fingerprint ORDER BY occurrence_count DESC, last_seen DESC LIMIT '30';
Date: 2026-04-07 16:58:26 Duration: 575ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
WITH normalised AS ( SELECT id, tenant_key, event_type, severity, message, payload, occurred_at, regexp_replace(regexp_replace(message, '\d+', '#', 'g'), '/[^ :]+/', '.../', 'g') AS fingerprint FROM observability.app_events WHERE tenant_key IN ('prod') AND occurred_at BETWEEN '2026-04-07 11:53:25+02' AND '2026-04-07 17:53:25+02' AND severity IN ('error', 'warning') AND NOT (event_type = 'db_error' AND (lower(COALESCE(message, '')) = 'lock wait: client / clientread' OR ( lower(COALESCE(payload->>'wait_event_type', '')) = 'client' AND lower(COALESCE(payload ->> 'wait_event', '')) = 'clientread')))) SELECT fingerprint, COUNT(*) AS occurrence_count, COUNT(DISTINCT COALESCE(payload ->> 'user', payload ->> 'username', 'unbekannt')) AS affected_users, MAX(severity) AS max_severity, MIN(occurred_at) AS first_seen, MAX(occurred_at) AS last_seen, (array_agg(message ORDER BY occurred_at DESC))[1] AS sample_message, (array_agg(DISTINCT event_type))[1] AS event_type, (array_agg(payload ->> 'file' ORDER BY occurred_at DESC))[1] AS source_file, (array_agg(payload ->> 'line' ORDER BY occurred_at DESC))[1] AS source_line, (array_agg(payload ->> 'request' ORDER BY occurred_at DESC))[1] AS sample_request, (array_agg(id ORDER BY occurred_at DESC))[1] AS latest_event_id FROM normalised GROUP BY fingerprint ORDER BY occurrence_count DESC, last_seen DESC LIMIT '30';
Date: 2026-04-07 17:53:26 Duration: 550ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 25s609ms 25s609ms 25s609ms 1 25s609ms 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 (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 07 11 1 25s609ms 25s609ms [ User: labanimal - Total duration: 25s609ms - Times executed: 1 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 25s609ms - Times executed: 1 ]
-
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, 492) AS is_owner, user_is_tgm (animals_search_mview.editor, 492) AS is_editor, user_is_tgm (animals_search_mview.tourist, 492) 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 (is_owner OR is_editor OR is_tourist);
Date: 2026-04-07 10:32:20 Duration: 25s609ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
2 2s821ms 30s405ms 4s547ms 143 10m50s 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 #2
Day Hour Count Duration Avg duration Apr 07 01 6 3m1s 30s288ms 02 11 1m27s 7s989ms 03 9 26s186ms 2s909ms 09 14 41s293ms 2s949ms 10 12 35s881ms 2s990ms 11 7 21s183ms 3s26ms 12 6 18s470ms 3s78ms 13 1 3s53ms 3s53ms 17 4 12s886ms 3s221ms 18 12 36s455ms 3s37ms 19 12 35s911ms 2s992ms 20 4 11s922ms 2s980ms 21 11 32s822ms 2s983ms 22 10 29s984ms 2s998ms 23 12 35s330ms 2s944ms 00 12 39s255ms 3s271ms [ User: labanimal - Total duration: 10m50s - Times executed: 143 ]
-
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', 'test', 'dev') AND collected_at <= '2026-04-06 18:00:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:00:00+02' AND '2026-04-07 00:00:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:00:00+02' AND '2026-04-07 00:00:00+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-07 00:00:30 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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', 'test', 'dev') AND collected_at <= '2026-04-06 18:10:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:10:00+02' AND '2026-04-07 00:10:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:10:00+02' AND '2026-04-07 00:10:00+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-07 00:10:30 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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', 'test', 'dev') AND collected_at <= '2026-04-06 18:40:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:40:00+02' AND '2026-04-07 00:40:00+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-06 18:40:00+02' AND '2026-04-07 00:40:00+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-07 00:40:31 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
3 503ms 30s405ms 3s882ms 1,440 1h33m10s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
4 503ms 30s405ms 3s882ms 1,440 1h33m10s create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
5 503ms 30s405ms 3s882ms 1,440 1h33m10s 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 #5
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
6 503ms 30s405ms 3s882ms 1,440 1h33m10s create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
7 503ms 30s405ms 3s882ms 1,440 1h33m10s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
8 503ms 30s405ms 3s882ms 1,440 1h33m10s create schema if not exists observability;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
9 503ms 30s405ms 3s882ms 1,440 1h33m10s 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 #9
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
10 503ms 30s405ms 3s882ms 1,440 1h33m10s 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 #10
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
11 503ms 30s405ms 3s882ms 1,440 1h33m10s create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
12 503ms 30s405ms 3s882ms 1,440 1h33m10s 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 #12
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
13 503ms 30s405ms 3s882ms 1,440 1h33m10s 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 #13
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
14 503ms 30s405ms 3s882ms 1,440 1h33m10s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
15 503ms 30s405ms 3s882ms 1,440 1h33m10s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 07 01 60 29m47s 29s785ms 02 60 10m39s 10s658ms 03 60 2m18s 2s305ms 04 60 2m49s 2s831ms 05 60 2m49s 2s831ms 06 60 2m49s 2s831ms 07 60 2m49s 2s831ms 08 60 1m56s 1s935ms 09 60 2m32s 2s545ms 10 60 2m52s 2s869ms 11 60 2m46s 2s767ms 12 60 2m23s 2s384ms 13 60 2m13s 2s227ms 14 60 1m19s 1s317ms 15 60 36s825ms 613ms 16 60 42s815ms 713ms 17 60 1m8s 1s139ms 18 60 3m3s 3s53ms 19 60 2m59s 2s992ms 20 60 3m1s 3s22ms 21 60 2m59s 2s986ms 22 60 3m6s 3s108ms 23 60 2m41s 2s684ms 00 60 2m44s 2s733ms [ User: labanimal - Total duration: 1h33m10s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-07 00:10:01 Duration: 30s405ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-07 00:20:01 Duration: 30s402ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-07 00:50:01 Duration: 30s262ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
16 3s660ms 4s116ms 3s813ms 6 22s878ms select * from litters_search_mview l where not (deleted) and case when user_is_tgm (l.owner, ?) then true when user_is_tgm (l.editor, ?) then true when user_is_tgm (l.tourist, ?) then true else false end order by bday desc, dam_name, sire_name;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 07 11 4 15s372ms 3s843ms 14 2 7s506ms 3s753ms [ User: labanimal - Total duration: 22s878ms - Times executed: 6 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 22s878ms - Times executed: 6 ]
-
SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND CASE WHEN user_is_tgm (l.owner, 574) THEN TRUE WHEN user_is_tgm (l.editor, 574) THEN TRUE WHEN user_is_tgm (l.tourist, 574) THEN TRUE ELSE FALSE END ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-04-07 10:20:30 Duration: 4s116ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND CASE WHEN user_is_tgm (l.owner, 332) THEN TRUE WHEN user_is_tgm (l.editor, 332) THEN TRUE WHEN user_is_tgm (l.tourist, 332) THEN TRUE ELSE FALSE END ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-04-07 10:56:30 Duration: 3s798ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND CASE WHEN user_is_tgm (l.owner, 332) THEN TRUE WHEN user_is_tgm (l.editor, 332) THEN TRUE WHEN user_is_tgm (l.tourist, 332) THEN TRUE ELSE FALSE END ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-04-07 10:56:26 Duration: 3s796ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
17 2s860ms 2s917ms 2s907ms 12 34s894ms alter type import_run_status add value if not exists ? after ?;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 07 20 10 29s173ms 2s917ms 23 2 5s721ms 2s860ms [ User: labanimal - Total duration: 34s894ms - Times executed: 12 ]
[ Application: psql - Total duration: 34s894ms - Times executed: 12 ]
-
ALTER TYPE import_run_status ADD VALUE IF NOT EXISTS 'failed' AFTER 'completed';
Date: 2026-04-07 19:51:24 Duration: 2s917ms Database: zemm_produktiv_7 User: labanimal Application: psql Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
ALTER TYPE import_run_status ADD VALUE IF NOT EXISTS 'test_apply_done' AFTER 'test_apply_running';
Date: 2026-04-07 22:16:59 Duration: 2s860ms Database: zemm_produktiv_7 User: labanimal Application: psql Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
18 810ms 7s369ms 1s229ms 27 33s186ms 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, ?) then true when user_is_tgm (dam.editor, ?) then true when user_is_tgm (dam.tourist, ?) 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, ?) then true when user_is_tgm (sire.editor, ?) then true when user_is_tgm (sire.tourist, ?) 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);Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 07 02 1 841ms 841ms 03 6 5s73ms 845ms 10 1 1s83ms 1s83ms 11 6 5s247ms 874ms 12 1 871ms 871ms 14 2 4s578ms 2s289ms 17 1 1s71ms 1s71ms 21 1 7s369ms 7s369ms 22 1 877ms 877ms 23 2 1s787ms 893ms 00 5 4s384ms 876ms [ User: labanimal - Total duration: 33s186ms - Times executed: 27 ]
[ Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Total duration: 28s608ms - Times executed: 25 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 4s578ms - Times executed: 2 ]
-
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-07 20:59:36 Duration: 7s369ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
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, 10100116) THEN TRUE WHEN user_is_tgm (dam.editor, 10100116) THEN TRUE WHEN user_is_tgm (dam.tourist, 10100116) 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, 10100116) THEN TRUE WHEN user_is_tgm (sire.editor, 10100116) THEN TRUE WHEN user_is_tgm (sire.tourist, 10100116) 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-07 13:33:15 Duration: 2s289ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
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, 10100116) THEN TRUE WHEN user_is_tgm (dam.editor, 10100116) THEN TRUE WHEN user_is_tgm (dam.tourist, 10100116) 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, 10100116) THEN TRUE WHEN user_is_tgm (sire.editor, 10100116) THEN TRUE WHEN user_is_tgm (sire.tourist, 10100116) 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-07 13:32:49 Duration: 2s289ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
19 776ms 1s29ms 895ms 13 11s641ms select p_update_breedings (?, null, ?, ?::date, null, ?::text, ?::text, null) as id;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 07 14 9 8s96ms 899ms 16 4 3s544ms 886ms [ User: labanimal - Total duration: 11s641ms - Times executed: 13 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 11s641ms - Times executed: 13 ]
-
SELECT p_update_breedings (269, NULL, 7455, '2026-04-08'::date, NULL, '10298213'::text, '10298234'::text, NULL) AS id;
Date: 2026-04-07 13:22:45 Duration: 1s29ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
SELECT p_update_breedings (452, NULL, 4974, '2026-04-07'::date, NULL, '10290479'::text, '10292909;10292910'::text, NULL) AS id;
Date: 2026-04-07 15:10:20 Duration: 1s16ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
-
SELECT p_update_breedings (269, NULL, 7873, '2026-04-08'::date, NULL, '10298207'::text, '10298208;10298209'::text, NULL) AS id;
Date: 2026-04-07 13:12:17 Duration: 1s13ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
20 744ms 790ms 759ms 18 13s669ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 07 08 2 1s536ms 768ms 11 4 3s53ms 763ms 12 2 1s531ms 765ms 13 2 1s501ms 750ms 14 8 6s46ms 755ms [ User: labanimal - Total duration: 13s669ms - Times executed: 18 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 13s669ms - Times executed: 18 ]
-
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, 156) AS is_owner, user_is_tgm (animals_search_mview.editor, 156) AS is_editor, user_is_tgm (animals_search_mview.tourist, 156) 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-07 07:34:09 Duration: 790ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-07 11:21:22 Duration: 767ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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-07 10:52:45 Duration: 767ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-07_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
- 137,312 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 3 FATAL entries
- 28 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 13 Max number of times the same event was reported
- 31 Total events found
Rank Times reported Error 1 13 ERROR: column "..." does not exist
Times Reported Most Frequent Error / Event #1
Day Hour Count Apr 07 02 1 03 3 10 1 11 4 12 1 21 2 00 1 - ERROR: column "user_id" referenced in foreign key constraint does not exist
- ERROR: column "user_id" referenced in foreign key constraint does not exist
- ERROR: column "lang" does not exist
Context: SQL statement "CREATE TABLE import_runs ( id BIGSERIAL PRIMARY KEY, title TEXT NOT NULL, description TEXT, import_type TEXT NOT NULL DEFAULT 'animals', status import_run_status NOT NULL DEFAULT 'draft', created_by INTEGER REFERENCES users(user_id), created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), submitted_at TIMESTAMPTZ, notes_internal TEXT )" PL/pgSQL function inline_code_block line 7 at SQL statement
Statement: DO $$ BEGIN IF NOT EXISTS ( SELECT 1 FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'import_runs' ) THEN CREATE TABLE import_runs ( id BIGSERIAL PRIMARY KEY, title TEXT NOT NULL, description TEXT, import_type TEXT NOT NULL DEFAULT 'animals', status import_run_status NOT NULL DEFAULT 'draft', created_by INTEGER REFERENCES users(user_id), created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), submitted_at TIMESTAMPTZ, notes_internal TEXT ); COMMENT ON TABLE import_runs IS 'Phase-1 import preparation: one row per import attempt. No core domain writes.'; END IF; END$$;Date: 2026-04-07 01:47:09 Database: zemm_produktiv_7 Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
Context: SQL statement "CREATE TABLE import_runs ( id BIGSERIAL PRIMARY KEY, title TEXT NOT NULL, description TEXT, import_type TEXT NOT NULL DEFAULT 'animals', status import_run_status NOT NULL DEFAULT 'draft', created_by INTEGER REFERENCES users(user_id), created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), submitted_at TIMESTAMPTZ, notes_internal TEXT )" PL/pgSQL function inline_code_block line 7 at SQL statement
Statement: DO $$ BEGIN IF NOT EXISTS ( SELECT 1 FROM information_schema.tables WHERE table_schema = 'public' AND table_name = 'import_runs' ) THEN CREATE TABLE import_runs ( id BIGSERIAL PRIMARY KEY, title TEXT NOT NULL, description TEXT, import_type TEXT NOT NULL DEFAULT 'animals', status import_run_status NOT NULL DEFAULT 'draft', created_by INTEGER REFERENCES users(user_id), created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), submitted_at TIMESTAMPTZ, notes_internal TEXT ); COMMENT ON TABLE import_runs IS 'Phase-1 import preparation: one row per import attempt. No core domain writes.'; END IF; END$$;Date: 2026-04-07 02:04:47 Database: zemm_produktiv_7 Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
Statement: SELECT id, username, left(password_2,20) as pw_hash, authlevel, lang FROM users WHERE username='Aadmin';
Date: 2026-04-07 02:16:33 Database: zemm_produktiv_7 Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
2 7 ERROR: syntax error at or near "..."
Times Reported Most Frequent Error / Event #2
Day Hour Count Apr 07 10 1 16 6 - ERROR: syntax error at or near "."
- ERROR: syntax error at or near "fehlt"
- ERROR: syntax error at or near "fehlt"
Statement: SELECT occurred_at, event_type, severity, LEFT(message, 150).as msg, LEFT(context::text, 200) as ctx FROM observability.app_events WHERE tenant_key = 'live' AND occurred_at > NOW() - INTERVAL '24 hours' ORDER BY occurred_at DESC LIMIT 10;
Date: 2026-04-07 09:04:38 Database: zemm_monitoring Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
Statement: INSERT INTO tmptasks VALUES( 10307798,0,true,true,true,'93','','','','457','10','','','','','','',10141828,'Tiertransport außerhalb Würzburgs',0,0,NULL,'','',10835726,false,'2026-04-08','','Tiere mit Futter und Wasser für 72 Stunden verpacken; Gesundheitskontrolle vor Verpackung ohne Auffälligkeiten','Auftraggeber: Paula Arias-Loza Telefon#:201-46515 Bereitstellen am/um: 08.04.2026 um 8:30 Formular Tierexport ZEMM angehängt! Hallo, habe gerade nach den rechten geschaut. Käfig 46- 242 fehlt komplett. Ersatz ? 46-240'#57 fehlt auch, kann evtl. hier #58 Anbieten ?` Mfg J.Lauk ',10835724,10835725,true,$1,4,1,0,2,'2026-03-23 09:30:00'::TIMESTAMP, 93, NULL::TIMESTAMP, NULL)
Date: 2026-04-07 15:04:14 Database: zemm_produktiv_8 Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
Statement: INSERT INTO tmptasks VALUES( 10307799,0,true,true,true,'93','','','','457','10','','','','','','',10141828,'Tiertransport außerhalb Würzburgs',0,0,NULL,'','',10835726,false,'2026-04-08','','Tiere mit Futter und Wasser für 72 Stunden verpacken; Gesundheitskontrolle vor Verpackung ohne Auffälligkeiten','Auftraggeber: Paula Arias-Loza Telefon#:201-46515 Bereitstellen am/um: 08.04.2026 um 8:30 Formular Tierexport ZEMM angehängt! Hallo, habe gerade nach den rechten geschaut. Käfig 46- 242 fehlt komplett. Ersatz ? 46-240'#57 fehlt auch, kann evtl. hier #58 Anbieten ?` Mfg J.Lauk ',10835724,10835725,true,$1,4,1,0,2,'2026-03-23 09:30:00'::TIMESTAMP, 93, NULL::TIMESTAMP, NULL)
Date: 2026-04-07 15:04:30 Database: zemm_produktiv_8 Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
3 4 ERROR: relation "..." does not exist
Times Reported Most Frequent Error / Event #3
Day Hour Count Apr 07 10 2 11 2 - ERROR: relation "import_questions" does not exist
- ERROR: relation "import_questions" does not exist
- ERROR: relation "screens" does not exist
Statement: SELECT question_key, question_type, question_text_de, hint_de FROM import_questions ORDER BY sort_order LIMIT 20;
Date: 2026-04-07 09:09:54 Database: zemm_produktiv_8 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
Statement: SELECT question_key, question_text_de FROM import_questions ORDER BY sort_order;
Date: 2026-04-07 09:12:22 Database: zemm_produktiv_8 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
Statement: SELECT command, class, file, parent FROM screens WHERE command LIKE '%import%' ORDER BY command;
Date: 2026-04-07 10:01:36 Database: zemm_produktiv_7 Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
4 3 FATAL: Peer authentication failed for user "..."
Times Reported Most Frequent Error / Event #4
Day Hour Count Apr 07 11 1 13 1 20 1 - FATAL: Peer authentication failed for user "postgres"
- 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 16: "local all postgres peer"
Date: 2026-04-07 10:01:36 Database: zemm_produktiv_7 Application: User: postgres Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-07 12:03:16 Database: zemm_monitoring Application: User: labanimal Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-07 19:47:19 Database: zemm_produktiv_7 Application: User: labanimal Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
5 2 ERROR: insert or update on table "..." violates foreign key constraint "..."
Times Reported Most Frequent Error / Event #5
Day Hour Count Apr 07 03 1 12 1 - ERROR: insert or update on table "import_validation_issues" violates foreign key constraint "import_validation_issues_run_id_fkey"
- ERROR: insert or update on table "import_validation_issues" violates foreign key constraint "import_validation_issues_run_id_fkey"
Detail: Key (run_id)=(0) is not present in table "import_runs".
Statement: INSERT INTO import_validation_issues (run_id, severity, category, message_de, issue_code, is_blocking, detail_json) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-04-07 02:42:58 Database: zemm_produktiv_7 Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
Detail: Key (run_id)=(67) is not present in table "import_runs".
Statement: INSERT INTO import_validation_issues (run_id, severity, category, message_de, issue_code, is_blocking, detail_json) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-04-07 11:34:38 Database: zemm_produktiv_7 Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
6 1 ERROR: invalid input syntax for type boolean: ...
Times Reported Most Frequent Error / Event #6
Day Hour Count Apr 07 02 1 - ERROR: invalid input syntax for type boolean: ""
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id WHERE NOT(a.deleted) AND ( (a."deathDate" IS NOT NULL AND a."deathDate" >= '2026-01-01'::DATE AND a."deathDate" <= '2026-12-31'::DATE) OR (a."outgoingDate" IS NOT NULL AND a."outgoingDate" >= '2026-01-01'::DATE AND a."outgoingDate" <= '2026-12-31'::DATE) OR (a.fate IN (1, 10, 11, 13, 14, 15, 9, 4) AND a."deathDate" IS NULL AND a."outgoingDate" IS NULL) ) ORDER BY g.name, l.application_id, a.id
Date: 2026-04-07 01:39:24 Database: zemm_produktiv_7 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv
7 1 ERROR: function mode() does not exist
Times Reported Most Frequent Error / Event #7
Day Hour Count Apr 07 12 1 - ERROR: function mode() does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Statement: SELECT COUNT(*) FILTER (WHERE message = msg_mode) AS same_msg_count, COUNT(*) AS total FROM (SELECT message, mode() OVER () AS msg_mode FROM observability.app_events WHERE event_type = 'php_error' AND date_trunc('second', created_at) = '2026-04-07 10:47:42+02') sub;Date: 2026-04-07 11:38:33 Database: zemm_monitoring Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-07_000000.csv