-
Global information
- Generated on Thu Apr 30 06:05:53 2026
- Log file: /var/log/postgresql/postgresql-2026-03-25_000000.csv, ..., /var/log/postgresql/postgresql-2026-04-30_000000.csv
- Parsed 354,374 log entries in 5m52s
- Log start from 2026-04-08 00:00:01 to 2026-04-08 23:59:59
-
Overview
Global Stats
- 60 Number of unique normalized queries
- 24,797 Number of queries
- 21h32m18s Total query duration
- 2026-04-08 00:00:01 First query
- 2026-04-08 23:59:59 Last query
- 18 queries/s at 2026-04-08 14:12:01 Query peak
- 21h32m18s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 21h32m18s Execute total duration
- 21 Number of events
- 7 Number of unique normalized events
- 5 Max number of times the same event was reported
- 0 Number of cancellation
- 97 Total number of automatic vacuums
- 229 Total number of automatic analyzes
- 142 Number temporary file
- 46.62 MiB Max size of temporary file
- 45.79 MiB Average size of temporary file
- 34,725 Total number of sessions
- 8 sessions at 2026-04-08 12:18:32 Session peak
- 1h44m59s Total duration of sessions
- 181ms Average duration of sessions
- 0 Average queries per session
- 2s232ms Average queries duration per session
- 0ms Average idle time per session
- 34,728 Total number of connections
- 50 connections/s at 2026-04-08 16:44:50 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-04-08 14:12:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-04-08 10:15:12 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 18 queries/s Query Peak
- 2026-04-08 22:27:01 Date
Queries duration
Key values
- 21h32m18s 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 08 00 987 816ms 3s148ms 2s571ms 52s989ms 1m18s 1m29s 01 1,034 1s363ms 3s357ms 2s935ms 57s77ms 58s440ms 1m1s 02 1,022 2s836ms 6s378ms 5s672ms 1m48s 1m48s 1m48s 03 1,020 6s378ms 6s378ms 6s378ms 1m48s 1m48s 1m48s 04 1,020 6s378ms 6s378ms 6s378ms 1m48s 1m48s 1m48s 05 1,020 6s378ms 6s378ms 6s378ms 1m48s 1m48s 1m48s 06 1,021 3s91ms 6s378ms 4s295ms 1m48s 1m48s 1m51s 07 1,023 510ms 3s91ms 1s21ms 52s557ms 52s557ms 54s661ms 08 1,034 510ms 2s285ms 1s92ms 29s859ms 29s859ms 40s606ms 09 1,032 525ms 8s469ms 1s953ms 1m11s 2m23s 2m26s 10 1,055 524ms 3s178ms 1s567ms 51s762ms 54s554ms 54s879ms 11 1,100 904ms 3s683ms 2s257ms 54s478ms 56s453ms 1m7s 12 1,066 635ms 3s168ms 2s889ms 55s35ms 55s507ms 2m37s 13 1,031 703ms 3s154ms 2s625ms 53s624ms 55s943ms 56s333ms 14 1,045 527ms 6s279ms 2s654ms 53s896ms 55s234ms 1m49s 15 1,028 688ms 3s144ms 2s957ms 53s453ms 54s951ms 56s445ms 16 1,036 664ms 3s144ms 2s423ms 54s314ms 55s409ms 56s452ms 17 1,026 2s990ms 3s111ms 3s17ms 53s849ms 54s178ms 54s488ms 18 1,028 849ms 3s428ms 2s945ms 58s283ms 58s283ms 1m1s 19 1,034 665ms 3s68ms 2s891ms 52s820ms 54s61ms 55s107ms 20 1,027 1s47ms 3s29ms 2s731ms 51s506ms 52s359ms 53s192ms 21 1,031 823ms 3s137ms 2s745ms 53s642ms 54s536ms 57s913ms 22 1,039 808ms 3s257ms 2s39ms 53s207ms 54s47ms 54s532ms 23 1,038 562ms 3s6ms 2s846ms 52s873ms 53s172ms 55s855ms Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 08 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 3 0 871ms 0ms 0ms 510ms 08 11 0 758ms 0ms 0ms 2s831ms 09 4 0 2s661ms 0ms 0ms 1s369ms 10 28 0 856ms 833ms 1s539ms 2s856ms 11 3 0 2s778ms 0ms 0ms 3s683ms 12 0 0 0ms 0ms 0ms 0ms 13 5 0 923ms 0ms 0ms 1s725ms 14 18 0 1s55ms 0ms 1s414ms 2s837ms 15 2 0 719ms 0ms 0ms 0ms 16 10 0 706ms 0ms 0ms 2s802ms 17 0 0 0ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 19 8 0 711ms 0ms 0ms 1s402ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 0 5 1s354ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 08 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s363ms 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 08 00 0 11 11.00 0.00% 01 0 13 13.00 0.00% 02 0 1 1.00 0.00% 03 0 0 0.00 0.00% 04 0 0 0.00 0.00% 05 0 0 0.00 0.00% 06 0 0 0.00 0.00% 07 0 0 0.00 0.00% 08 0 0 0.00 0.00% 09 0 3 3.00 0.00% 10 0 6 6.00 0.00% 11 0 7 7.00 0.00% 12 0 8 8.00 0.00% 13 0 6 6.00 0.00% 14 0 6 6.00 0.00% 15 0 6 6.00 0.00% 16 0 6 6.00 0.00% 17 0 6 6.00 0.00% 18 0 6 6.00 0.00% 19 0 6 6.00 0.00% 20 0 6 6.00 0.00% 21 0 9 9.00 0.00% 22 0 13 13.00 0.00% 23 0 13 13.00 0.00% Day Hour Count Average / Second Apr 08 00 1,429 0.40/s 01 907 0.25/s 02 740 0.21/s 03 484 0.13/s 04 489 0.14/s 05 501 0.14/s 06 1,612 0.45/s 07 1,613 0.45/s 08 1,769 0.49/s 09 2,110 0.59/s 10 3,242 0.90/s 11 2,896 0.80/s 12 1,836 0.51/s 13 1,806 0.50/s 14 1,802 0.50/s 15 1,654 0.46/s 16 1,559 0.43/s 17 1,021 0.28/s 18 1,202 0.33/s 19 889 0.25/s 20 948 0.26/s 21 1,324 0.37/s 22 1,969 0.55/s 23 926 0.26/s Day Hour Count Average Duration Average idle time Apr 08 00 1,429 185ms 0ms 01 907 192ms 0ms 02 740 231ms 0ms 03 484 241ms 0ms 04 489 240ms 0ms 05 501 236ms 0ms 06 1,612 168ms 0ms 07 1,613 220ms 0ms 08 1,769 163ms 0ms 09 2,109 185ms 0ms 10 3,242 176ms 0ms 11 2,896 167ms 0ms 12 1,836 179ms 0ms 13 1,806 154ms 0ms 14 1,802 167ms 0ms 15 1,654 168ms 0ms 16 1,557 155ms 0ms 17 1,021 172ms 0ms 18 1,202 179ms 0ms 19 889 191ms 0ms 20 948 189ms 0ms 21 1,324 187ms 0ms 22 1,969 183ms 0ms 23 926 205ms 0ms -
Connections
Established Connections
Key values
- 50 connections Connection Peak
- 2026-04-08 16:44:50 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 34,728 connections Total
Connections per user
Key values
- labanimal Main User
- 34,728 connections Total
-
Sessions
Simultaneous sessions
Key values
- 8 sessions Session Peak
- 2026-04-08 12:18:32 Date
Histogram of session times
Key values
- 32,353 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 34,725 sessions Total
Sessions per user
Key values
- labanimal Main User
- 34,725 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 34,725 sessions Total
Sessions per application
Key values
- Main Application
- 34,725 sessions Total
Application Count Total Duration Average Duration 27,466 1h25m11s 186ms _backend_cage_autocomplete_api.php_q_2025_limit_12_zemm_produkt 20 564ms 28ms _backend_cage_autocomplete_api.php_q_55-065_limit_12_zemm_produ 20 638ms 31ms _backend_wean_api.php_litter_id_10130227_zemm_produktiv_7_local 100 14s758ms 147ms _backend_wean_api.php_litter_id_10130236_zemm_produktiv_7_local 99 15s187ms 153ms _backend_wean_api.php_litter_id_10130257_zemm_produktiv_7_local 119 17s858ms 150ms _backend_wean_api.php_litter_id_10131313_zemm_produktiv_8_local 2 291ms 145ms _backend_wean_api.php_litter_id_10131317_zemm_produktiv_8_local 2 291ms 145ms _backend_wean_api.php_litter_id_10131405_zemm_produktiv_8_local 3 439ms 146ms _backend_wean_api.php_litter_id_10131503_zemm_produktiv_8_local 15 2s171ms 144ms _backend_wean_api.php_litter_id_10131504_zemm_produktiv_8_local 2 293ms 146ms _backend_wean_api.php_litter_id_10131592_zemm_produktiv_8_local 35 5s24ms 143ms _backend_wean_api.php_litter_id_10131608_zemm_produktiv_8_local 34 4s898ms 144ms _backend_wean_api.php_litter_id_10131609_zemm_produktiv_8_local 34 4s888ms 143ms _backend_wean_api.php_litter_id_10131632_zemm_produktiv_8_local 1 145ms 145ms _backend_wean_api.php_litter_id_10131720_zemm_produktiv_8_local 2 289ms 144ms _backend_wean_api.php_litter_id_10131744_zemm_produktiv_8_local 2 281ms 140ms _backend_wean_api.php_litter_id_10131748_zemm_produktiv_8_local 34 4s891ms 143ms _backend_wean_api.php_litter_id_10131749_zemm_produktiv_8_local 34 4s885ms 143ms _backend_wean_api.php_litter_id_10131805_zemm_produktiv_8_local 34 4s904ms 144ms _backend_wean_api.php_litter_id_10131806_zemm_produktiv_8_local 35 5s35ms 143ms _backend_wean_api.php_litter_id_10131807_zemm_produktiv_8_local 34 4s908ms 144ms _backend_wean_api.php_litter_id_10131821_zemm_produktiv_8_local 2 291ms 145ms _backend_wean_api.php_litter_id_10131832_zemm_produktiv_8_local 5 729ms 145ms _backend_wean_api.php_litter_id_10131839_zemm_produktiv_8_local 1 138ms 138ms _backend_wean_api.php_litter_id_10131845_zemm_produktiv_8_local 2 289ms 144ms _backend_wean_api.php_litter_id_10131856_zemm_produktiv_8_local 34 4s907ms 144ms _backend_wean_api.php_litter_id_10131857_zemm_produktiv_8_local 34 4s942ms 145ms _backend_wean_api.php_litter_id_10131858_zemm_produktiv_8_local 34 4s900ms 144ms _backend_wean_api.php_litter_id_10131859_zemm_produktiv_8_local 35 5s32ms 143ms _backend_wean_api.php_litter_id_10131860_zemm_produktiv_8_local 34 4s897ms 144ms _backend_wean_api.php_litter_id_10131862_zemm_produktiv_8_local 34 4s905ms 144ms _backend_wean_api.php_litter_id_10132062_zemm_produktiv_8_local 2 290ms 145ms _backend_wean_api.php_litter_id_10132063_zemm_produktiv_8_local 1 144ms 144ms _backend_wean_api.php_litter_id_10132082_zemm_produktiv_8_local 2 290ms 145ms _backend_wean_api.php_litter_id_10132084_zemm_produktiv_8_local 6 868ms 144ms _backend_wean_api.php_zemm_produktiv_8_localhost_5432 2 496ms 248ms _desktop__zemm_produktiv_7_localhost_5432 22 1s590ms 72ms _desktop__zemm_produktiv_8_localhost_5432 13 846ms 65ms _desktop_index.php_cage_name_52_2A_unweaned_only_true_val4_anim 5 598ms 119ms _desktop_index.php_cages_name_A15.415.1-22_2A_cages_empty__25_v 1 208ms 208ms _desktop_index.php_cages_name_A15_2A_cages_empty__25_val4_cages 1 1s468ms 1s468ms _desktop_index.php_cages_name_TF.A15_2A_cages_empty__25_val4_ca 3 768ms 256ms _desktop_index.php_command_animals_breedings_subcommand_add_bre 1 48ms 48ms _desktop_index.php_command_animals_breedings_subcommand_select_ 20 1s96ms 54ms _desktop_index.php_command_animals_create_subcommand_init_zemm_ 20 1s256ms 62ms _desktop_index.php_command_animals_edit_subcommand_init_id_1028 3 333ms 111ms _desktop_index.php_command_animals_edit_subcommand_init_id_1029 8 826ms 103ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 3 286ms 95ms _desktop_index.php_command_animals_edit_subcommand_link_init_va 19 2s160ms 113ms _desktop_index.php_command_animals_edit_subcommand_m_init_scree 19 2s455ms 129ms _desktop_index.php_command_animals_litters_create_subcommand_se 3 526ms 175ms _desktop_index.php_command_animals_litters_edit_subcommand_init 20 2s218ms 110ms _desktop_index.php_command_animals_litters_edit_subcommand_m_in 20 6s643ms 332ms _desktop_index.php_command_animals_litters_subcommand_init_zemm 2 82ms 41ms _desktop_index.php_command_animals_litters_subcommand_select_ze 20 989ms 49ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 13 595ms 45ms _desktop_index.php_command_animals_subcommand_select_zemm_produ 21 1s512ms 72ms _desktop_index.php_command_cages_edit_subcommand_init_id_101020 3 219ms 73ms _desktop_index.php_command_cages_edit_subcommand_init_id_101021 1 75ms 75ms _desktop_index.php_command_documents_subcommand_init_zemm_produ 1 45ms 45ms _desktop_index.php_command_import_dashboard_subcommand_view_run 2 151ms 75ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,776 55s211ms 31ms _desktop_index.php_command_profile_subcommand_init_id_10100127_ 1 175ms 175ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 3 406ms 135ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 12 1s372ms 114ms _desktop_index.php_command_reports_subcommand_annual_project_20 1 297ms 297ms _desktop_index.php_command_reports_subcommand_annual_reports_ze 2 90ms 45ms _desktop_index.php_command_reports_subcommand_annual_year_2025_ 2 90ms 45ms _desktop_index.php_command_reports_subcommand_authority_meldung 4 192ms 48ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 21 2s651ms 126ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 42 12s468ms 296ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 7 875ms 125ms _desktop_index.php_command_tasks_subcommand_edit_id_10134267_ze 20 1s775ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10141395_ze 1 95ms 95ms _desktop_index.php_command_tasks_subcommand_edit_id_10141629_ze 1 94ms 94ms _desktop_index.php_command_tasks_subcommand_edit_id_10141670_ze 1 94ms 94ms _desktop_index.php_command_tasks_subcommand_edit_id_10141780_ze 1 93ms 93ms _desktop_index.php_command_tasks_subcommand_edit_id_10141781_ze 2 193ms 96ms _desktop_index.php_command_tasks_subcommand_edit_id_10141843_ze 1 94ms 94ms _desktop_index.php_command_tasks_subcommand_edit_id_10141860_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10141910_ze 1 94ms 94ms _desktop_index.php_command_tasks_subcommand_edit_id_10142029_ze 1 97ms 97ms _desktop_index.php_command_tasks_subcommand_init_search_zemm_pr 20 995ms 49ms _desktop_index.php_command_tasks_subcommand_init_zemm_produktiv 1 64ms 64ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 110 9s459ms 85ms _desktop_index.php_command_tasks_subcommand_search_zemm_produkt 20 1s15ms 50ms _desktop_index.php_m_action_animals_3Am_delete_val4_animals_lis 4 231ms 57ms _desktop_index.php_name_Genotypisierungsproben_20genommen_instr 3 135ms 45ms _desktop_index.php_name_Verpaarungen_20mit_20Zuchtgenehmigung_2 1 67ms 67ms _desktop_index.php_sire_name_7_dam_name_16_sire_id_2025_2F002_2 1 43ms 43ms _desktop_index.php_val4_documents_command_home_subcommand_init_ 2 194ms 97ms _desktop_index.php_val4_documents_command_reports_subcommand_in 1 145ms 145ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 2 462ms 231ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 36 19s892ms 552ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_s 13 11s35ms 848ms _desktop_index.php_zemm_produktiv_7_localhost_5432 365 1m46s 290ms _desktop_index.php_zemm_produktiv_8_localhost_5432 3,456 13m 225ms backend:zemm_produktiv_8@localhost 44 5s356ms 121ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s380ms 1s380ms pg_dump 1 12s256ms 12s256ms psql 96 1s494ms 15ms taskscron:zemm_produktiv_7@zemm.fbiscience.eu 24 651ms 27ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 7s48ms 293ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 22,503 buffers Checkpoint Peak
- 2026-04-08 01:37:28 Date
- 270.002 seconds Highest write time
- 0.048 seconds Sync time
Checkpoints Wal files
Key values
- 7 files Wal files usage Peak
- 2026-04-08 01:37:28 Date
Checkpoints distance
Key values
- 221.62 Mo Distance Peak
- 2026-04-08 01:37:28 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Apr 08 00 5,088 509.717s 0.109s 509.888s 01 26,205 640.775s 0.091s 640.919s 02 3,373 338.028s 0.104s 338.182s 03 2,522 252.844s 0.095s 253.008s 04 2,438 244.505s 0.083s 244.645s 05 2,461 246.825s 0.083s 246.966s 06 5,432 543.756s 0.159s 543.962s 07 20,345 951.024s 0.234s 951.316s 08 19,105 820.866s 0.217s 821.14s 09 15,866 976.323s 0.21s 976.584s 10 19,901 891.144s 0.238s 891.437s 11 22,349 1,106.218s 0.289s 1,106.565s 12 6,862 687.341s 0.171s 687.563s 13 44,606 1,240.476s 0.208s 1,240.745s 14 31,681 1,005.887s 0.203s 1,006.151s 15 6,146 615.346s 0.185s 615.582s 16 5,274 528.485s 0.192s 528.732s 17 4,683 468.985s 0.142s 469.18s 18 4,872 488.482s 0.116s 488.648s 19 4,256 426.237s 0.105s 426.399s 20 4,873 488.097s 0.107s 488.255s 21 4,721 472.8s 0.11s 472.963s 22 5,753 577.141s 0.124s 577.32s 23 3,636 364.354s 0.09s 364.5s Day Hour Added Removed Recycled Synced files Longest sync Average sync Apr 08 00 0 0 2 591 0.002s 0.012s 01 0 0 8 453 0.002s 0.011s 02 0 0 1 459 0.002s 0.012s 03 0 0 1 401 0.002s 0.012s 04 0 0 1 390 0.002s 0.012s 05 0 0 1 410 0.002s 0.012s 06 0 0 1 882 0.002s 0.011s 07 0 0 5 1,344 0.002s 0.013s 08 0 0 6 1,227 0.006s 0.012s 09 0 0 4 1,226 0.003s 0.012s 10 0 0 5 1,352 0.002s 0.012s 11 0 0 6 1,507 0.005s 0.012s 12 0 0 2 940 0.002s 0.012s 13 0 0 12 1,144 0.003s 0.012s 14 0 0 9 1,092 0.003s 0.012s 15 0 0 1 1,020 0.003s 0.012s 16 0 0 2 1,063 0.002s 0.012s 17 0 0 1 737 0.003s 0.012s 18 0 0 1 544 0.003s 0.012s 19 0 0 2 496 0.003s 0.012s 20 0 0 1 502 0.002s 0.012s 21 0 0 1 530 0.003s 0.012s 22 0 0 2 643 0.003s 0.012s 23 0 0 1 459 0.002s 0.012s Day Hour Count Avg time (sec) Apr 08 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 08 00 2,188.00 kB 3,212.75 kB 01 11,837.18 kB 43,975.64 kB 02 1,449.42 kB 41,082.42 kB 03 1,127.75 kB 12,449.25 kB 04 1,099.50 kB 4,306.33 kB 05 1,095.58 kB 1,999.25 kB 06 1,985.09 kB 2,995.73 kB 07 6,727.92 kB 31,050.00 kB 08 7,406.58 kB 36,217.42 kB 09 5,745.92 kB 21,698.50 kB 10 7,576.00 kB 19,518.17 kB 11 8,340.25 kB 43,430.83 kB 12 2,657.67 kB 16,371.42 kB 13 16,076.92 kB 46,262.75 kB 14 11,454.92 kB 44,048.17 kB 15 2,523.17 kB 16,773.25 kB 16 1,868.83 kB 6,092.33 kB 17 1,701.17 kB 3,016.42 kB 18 1,927.42 kB 3,123.42 kB 19 1,575.92 kB 2,367.67 kB 20 1,820.00 kB 2,165.33 kB 21 1,891.25 kB 3,266.92 kB 22 2,488.00 kB 4,220.33 kB 23 1,385.17 kB 2,393.58 kB -
Temporary Files
Size of temporary files
Key values
- 91.71 MiB Temp Files size Peak
- 2026-04-08 13:34:52 Date
Number of temporary files
Key values
- 2 per second Temp Files Peak
- 2026-04-08 13:44:52 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Apr 08 00 11 504.56 MiB 45.87 MiB 01 15 683.30 MiB 45.55 MiB 02 1 45.53 MiB 45.53 MiB 03 0 0 0 04 0 0 0 05 0 0 0 06 0 0 0 07 0 0 0 08 0 0 0 09 2 92.34 MiB 46.17 MiB 10 8 365.07 MiB 45.63 MiB 11 8 366.15 MiB 45.77 MiB 12 7 320.13 MiB 45.73 MiB 13 10 457.65 MiB 45.76 MiB 14 7 323.43 MiB 46.20 MiB 15 6 275.09 MiB 45.85 MiB 16 6 273.49 MiB 45.58 MiB 17 7 320.70 MiB 45.81 MiB 18 6 276.67 MiB 46.11 MiB 19 6 275.34 MiB 45.89 MiB 20 6 274.19 MiB 45.70 MiB 21 10 457.52 MiB 45.75 MiB 22 13 595.97 MiB 45.84 MiB 23 13 595.21 MiB 45.79 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 13 592.19 MiB 45.49 MiB 45.98 MiB 45.55 MiB with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-08 03:27:38+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 03:27:38+02' AND '2026-04-08 09:27:38+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 03:27:38+02' AND '2026-04-08 09:27:38+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-08 09:27:42 Duration: 4s129ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-08 12:14:50+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 12:14:50+02' AND '2026-04-08 18:14:50+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 12:14:50+02' AND '2026-04-08 18:14:50+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-08 18:14:53 Duration: 3s428ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-08 05:38:28+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 05:38:28+02' AND '2026-04-08 11:38:28+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 05:38:28+02' AND '2026-04-08 11:38:28+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-08 11:38:31 Duration: 3s358ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
Queries generating the largest temporary files
Rank Size Query 1 45.98 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) 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-08 14:54:52 - Queryid: 2020697 ]
2 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-08 01:26:45 - Queryid: 1727419 ]
3 45.55 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-08 10:47:41 - Queryid: 1912218 ]
4 45.54 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-08 11:38:31 - Queryid: 1940823 ]
5 45.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-08 13:44:52 - Queryid: 1999034 ]
6 45.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-08 13:54:52 - Queryid: 2001842 ]
7 45.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-08 10:37:41 - Queryid: 1909006 ]
8 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-08 12:54:52 - Queryid: 1984161 ]
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-08 17:54:53 - Queryid: 2077477 ]
10 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-08 13:34:52 - Queryid: 1996234 ]
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-08 01:26:19 - Queryid: 1727214 ]
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-08 13:14:52 - Queryid: 1990188 ]
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-08 21:39:35 - Queryid: 2174284 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 1.56 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-04-08 01:31:20 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_monitoring - Date
Average Autovacuum Duration
Key values
- 1.56 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-04-08 01:31:20 Date
Analyzes per table
Key values
- pg_catalog.pg_type (55) Main table analyzed (database zemm_produktiv_8)
- 229 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 55 zemm_produktiv_8.pg_catalog.pg_attribute 41 zemm_produktiv_8.pg_catalog.pg_class 29 zemm_produktiv_8.pg_catalog.pg_depend 27 zemm_monitoring.observability.uptime_checks 26 zemm_produktiv_8.public.breedingssires 9 zemm_produktiv_8.public.breedingsdams 9 zemm_produktiv_8.public.cages_search_mview 4 zemm_produktiv_8.public.tmptasks 3 zemm_produktiv_7.pg_catalog.pg_type 3 zemm_monitoring.observability.metrics_timeseries 2 zemm_produktiv_7.pg_catalog.pg_depend 2 zemm_produktiv_7.pg_catalog.pg_attribute 2 zemm_produktiv_8.public.animals_search_mview 1 bucardo.pg_catalog.pg_shdepend 1 zemm_test_2.pg_catalog.pg_shdepend 1 zemm_produktiv_8.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.cages 1 fbi_unire.pg_catalog.pg_shdepend 1 zemm_produktiv_7.pg_catalog.pg_class 1 invdb.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.tasks 1 labanimal.pg_catalog.pg_shdepend 1 template0.pg_catalog.pg_shdepend 1 template1.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.users 1 zemm_monitoring.pg_catalog.pg_index 1 postgres.pg_catalog.pg_shdepend 1 zemm_monitoring.pg_catalog.pg_shdepend 1 zemm_test_3.pg_catalog.pg_shdepend 1 Total 229 Vacuums per table
Key values
- pg_catalog.pg_type (18) Main table vacuumed on database zemm_produktiv_8
- 97 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 18 18 0 0 0 0 0 925 213 199,483 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 15 15 0 0 0 0 0 1,938 657 437,569 0 0 zemm_produktiv_8.public.breedingsdams 9 0 0 0 0 0 0 1,782 231 784,739 0 0 zemm_produktiv_8.public.breedingssires 9 0 0 0 0 0 0 1,332 181 582,996 0 0 zemm_produktiv_8.pg_catalog.pg_class 9 9 0 0 0 0 0 887 287 347,844 2 2 zemm_produktiv_8.pg_catalog.pg_depend 8 8 0 0 0 0 0 992 273 329,236 0 0 zemm_monitoring.observability.uptime_checks 6 0 0 0 0 0 0 396 355 513,176 19 337 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 0 0 0 3,994 1,347 3,058,500 1,323 7,896 fbi_ci_db.pg_catalog.pg_shdepend 5 5 0 0 0 0 0 443 143 269,007 4 14 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 0 0 0 0 0 708 182 972,592 47 154 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 0 0 0 0 0 238 66 203,627 31 62 zemm_produktiv_7.pg_catalog.pg_type 1 1 0 0 0 0 0 41 13 14,303 1 2 zemm_monitoring.pg_catalog.pg_statistic 1 1 0 0 0 0 0 102 34 93,610 15 26 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 47,962 48 3,619,617 4 7 zemm_produktiv_8.public.cages_search_mview 1 1 0 0 0 0 0 630 321 1,069,947 47 592 zemm_produktiv_8.public.tmptasks 1 1 0 0 0 0 0 65 21 10,879 0 0 zemm_monitoring.observability.metrics_timeseries 1 1 0 0 0 0 0 10,073 4,451 9,479,860 572 11,983 zemm_monitoring.pg_toast.pg_toast_67411 1 0 0 0 0 0 0 4,863 1,427 10,666,948 1,423 5,692 zemm_produktiv_7.pg_catalog.pg_depend 1 1 0 0 0 0 0 144 49 100,314 12 837 Total 97 67 0 0 0 0 0 77,515 10,299 32,754,247 3,500 27,604 Vacuum throughput per table
Key values
- observability.metrics_timeseries (1.56) Max CPU elapsed for vacuum on database zemm_monitoring
- observability.metrics_timeseries (28.912 ms) Max I/O read time for vacuum on database zemm_monitoring
- observability.metrics_timeseries (6.974 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 1.874 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 5.361 0 0.15 zemm_produktiv_8.public.breedingsdams 0 0.157 0 zemm_produktiv_8.public.breedingssires 0 0.183 0 zemm_produktiv_8.pg_catalog.pg_class 2.657 0 0.02 zemm_produktiv_8.pg_catalog.pg_depend 1.504 0 0.06 zemm_monitoring.observability.uptime_checks 0.115 0.033 0.07 zemm_monitoring.pg_toast.pg_toast_67431 3.589 0 0.33 fbi_ci_db.pg_catalog.pg_shdepend 3.161 0 0.04 zemm_produktiv_8.pg_toast.pg_toast_2619 1.484 0 0.04 zemm_produktiv_8.pg_catalog.pg_statistic 0.319 0 0.02 zemm_produktiv_7.pg_catalog.pg_type 0.698 0 0 zemm_monitoring.pg_catalog.pg_statistic 0.263 0 0 zemm_produktiv_8.public.tasks 0.746 0 0.64 zemm_produktiv_8.public.cages_search_mview 0.291 0 0.08 zemm_produktiv_8.public.tmptasks 0.394 0 0 zemm_monitoring.observability.metrics_timeseries 28.912 6.974 1.56 zemm_monitoring.pg_toast.pg_toast_67411 4.082 5.698 0.41 zemm_produktiv_7.pg_catalog.pg_depend 3.763 0 0.01 Total 59.213 13.045 3.43 Tuples removed per table
Key values
- public.tasks (53661) Main table with removed tuples on database zemm_produktiv_8
- 126071 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 53,661 56,706 0 0 16,679 zemm_monitoring.observability.metrics_timeseries 1 1 41,686 291,314 0 0 6,155 zemm_produktiv_8.pg_catalog.pg_attribute 15 15 14,921 85,957 0 0 2,760 zemm_produktiv_8.pg_catalog.pg_depend 8 8 6,973 33,368 0 0 440 zemm_produktiv_8.pg_catalog.pg_type 18 18 3,598 14,958 0 0 558 fbi_ci_db.pg_catalog.pg_shdepend 5 5 2,123 19,420 0 0 190 zemm_produktiv_8.pg_catalog.pg_class 9 9 1,392 8,046 0 0 378 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 406 1,150 0 0 424 zemm_produktiv_7.pg_catalog.pg_depend 1 1 377 4,748 0 0 51 zemm_produktiv_8.public.cages_search_mview 1 1 315 13,829 0 0 234 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 255 1,272 0 0 144 zemm_produktiv_7.pg_catalog.pg_type 1 1 148 861 0 0 27 zemm_produktiv_8.public.tmptasks 1 1 82 832 0 0 118 zemm_monitoring.pg_catalog.pg_statistic 1 1 74 463 0 0 45 zemm_monitoring.pg_toast.pg_toast_67431 5 0 60 1,636,020 0 0 273,713 zemm_produktiv_8.public.breedingsdams 9 0 0 273,688 0 0 1,746 zemm_monitoring.observability.uptime_checks 6 0 0 18,654 0 0 1,020 zemm_produktiv_8.public.breedingssires 9 0 0 202,574 0 0 1,296 zemm_monitoring.pg_toast.pg_toast_67411 1 0 0 85,905 0 0 20,524 Total 97 67 126,071 2,749,765 0 0 326,502 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_8.pg_catalog.pg_statistic 1 1 255 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 60 0 fbi_ci_db.pg_catalog.pg_shdepend 5 5 2123 0 zemm_produktiv_7.pg_catalog.pg_type 1 1 148 0 zemm_produktiv_8.public.breedingsdams 9 0 0 0 zemm_produktiv_8.pg_catalog.pg_depend 8 8 6973 0 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 406 0 zemm_monitoring.observability.uptime_checks 6 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 15 15 14921 0 zemm_monitoring.pg_catalog.pg_statistic 1 1 74 0 zemm_produktiv_8.public.tasks 1 1 53661 0 zemm_produktiv_8.public.cages_search_mview 1 1 315 0 zemm_produktiv_8.public.breedingssires 9 0 0 0 zemm_produktiv_8.pg_catalog.pg_type 18 18 3598 0 zemm_produktiv_8.public.tmptasks 1 1 82 0 zemm_monitoring.observability.metrics_timeseries 1 1 41686 0 zemm_monitoring.pg_toast.pg_toast_67411 1 0 0 0 zemm_produktiv_7.pg_catalog.pg_depend 1 1 377 0 zemm_produktiv_8.pg_catalog.pg_class 9 9 1392 0 Total 97 67 126,071 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Apr 08 00 1 5 01 2 4 02 2 4 03 1 2 04 0 1 05 0 2 06 8 13 07 8 29 08 11 25 09 8 17 10 8 19 11 11 30 12 4 8 13 11 18 14 6 13 15 4 11 16 5 14 17 1 5 18 1 3 19 1 1 20 2 1 21 0 0 22 1 4 23 1 0 - 1.56 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
- 92 Total read queries
- 24,704 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,663 Requests
- 21h29m41s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- labanimal Main user
- 327,026 Requests
User Request type Count Duration deploy Total 57 14m43s cte 4 1m18s ddl 30 4m31s others 8 19s381ms select 9 6m3s labanimal Total 327,026 9d20h29m30s copy from 8 18s286ms copy to 96 4m30s cte 1,743 2h5m7s ddl 323,908 9d17h55m23s others 171 1m47s select 1,070 21m50s tcl 2 1s129ms update 17 18s584ms postgres Total 89 1m57s copy to 89 1m57s Duration by user
Key values
- 9d20h29m30s (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 327,026 9d20h29m30s copy from 8 18s286ms copy to 96 4m30s cte 1,743 2h5m7s ddl 323,908 9d17h55m23s others 171 1m47s select 1,070 21m50s tcl 2 1s129ms update 17 18s584ms postgres Total 89 1m57s copy to 89 1m57s Queries by host
Key values
- unknown Main host
- 327,008 Requests
- 9d20h26m15s (unknown)
- Main time consuming host
Host Request type Count Duration 81.169.238.237 Total 18 3m15s select 1 2m56s update 17 18s584ms [local] Total 146 16m41s copy to 89 1m57s cte 4 1m18s ddl 30 4m31s others 8 19s381ms select 9 6m3s unknown Total 327,008 9d20h26m15s copy from 8 18s286ms copy to 96 4m30s cte 1,743 2h5m7s ddl 323,908 9d17h55m23s others 171 1m47s select 1,069 18m53s tcl 2 1s129ms Queries by application
Key values
- unknown Main application
- 24,662 Requests
- 21h29m38s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_zemm_produktiv_7_localhost_5432 Total 20 24s566ms cte 20 24s566ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 105 1m54s cte 13 22s723ms select 92 1m31s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s363ms update 1 1s363ms pg_dump Total 5 6s774ms copy to 5 6s774ms psql Total 4 12s459ms ddl 3 9s310ms others 1 3s148ms unknown Total 24,662 21h29m38s cte 132 6m34s ddl 24,530 21h23m4s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-04-08 14:19:57 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 169 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 8s469ms SELECT a.id, a.name, a."animalID", a.dummy_strain_info, a."birthDate", a.sex, tr.rfid FROM animals a LEFT OUTER JOIN cages c ON c.id = a."homeCage" LEFT OUTER JOIN ( SELECT max(id) AS id, maps_to FROM transponders WHERE extraction_date IS NULL GROUP BY maps_to) tr_sel ON tr_sel.maps_to = a.id LEFT OUTER JOIN transponders tr ON tr.id = tr_sel.id WHERE NOT (a.deleted) AND c.id = 12632 AND CASE WHEN user_is_tgm (a.owner, 10100021) THEN TRUE WHEN user_is_tgm (a.editor, 10100021) THEN TRUE WHEN user_is_tgm (a.tourist, 10100021) THEN TRUE ELSE FALSE END ORDER BY a.id;[ Date: 2026-04-08 09:50:04 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Bind query: yes ]
2 8s469ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
3 8s469ms 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-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
4 8s469ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
5 8s469ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
6 8s469ms 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-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
7 8s469ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
8 8s469ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-04-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
9 8s469ms 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-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
10 8s469ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-04-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
11 8s469ms 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-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
12 8s469ms 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-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
13 8s469ms 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-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
14 8s469ms 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-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
15 8s469ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-04-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
16 8s469ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-04-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
17 8s469ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-04-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
18 8s469ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-04-08 09:51:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
19 8s469ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-08 09:52:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
20 8s469ms 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-08 09:52: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 1h15m46s 1,450 510ms 8s469ms 3s135ms 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 #1
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
2 1h15m46s 1,450 510ms 8s469ms 3s135ms 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 #2
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
3 1h15m46s 1,450 510ms 8s469ms 3s135ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
4 1h15m46s 1,450 510ms 8s469ms 3s135ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
5 1h15m46s 1,450 510ms 8s469ms 3s135ms create schema if not exists observability;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
6 1h15m46s 1,450 510ms 8s469ms 3s135ms 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 #6
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
7 1h15m46s 1,450 510ms 8s469ms 3s135ms 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 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
8 1h15m46s 1,450 510ms 8s469ms 3s135ms 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 #8
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
9 1h15m46s 1,450 510ms 8s469ms 3s135ms 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 #9
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
10 1h15m46s 1,450 510ms 8s469ms 3s135ms 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 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
11 1h15m46s 1,450 510ms 8s469ms 3s135ms 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 #11
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
12 1h15m46s 1,450 510ms 8s469ms 3s135ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
13 1h15m46s 1,450 510ms 8s469ms 3s135ms 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 #13
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
14 1h14m29s 1,420 510ms 8s469ms 3s147ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 08 01 34 1m26s 2s555ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h14m29s - Times executed: 1420 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
15 1h14m29s 1,420 510ms 8s469ms 3s147ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 08 01 34 1m26s 2s555ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h14m29s - Times executed: 1420 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
16 1h14m29s 1,420 510ms 8s469ms 3s147ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 08 01 34 1m26s 2s555ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h14m29s - Times executed: 1420 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
17 1h14m29s 1,420 510ms 8s469ms 3s147ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 08 01 34 1m26s 2s555ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h14m29s - Times executed: 1420 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
18 6m32s 130 2s828ms 4s129ms 3s22ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 08 01 11 32s796ms 2s981ms 02 13 38s915ms 2s993ms 03 1 2s885ms 2s885ms 10 3 10s165ms 3s388ms 11 6 18s432ms 3s72ms 12 7 21s766ms 3s109ms 13 6 18s565ms 3s94ms 14 6 18s618ms 3s103ms 15 6 18s75ms 3s12ms 16 6 18s205ms 3s34ms 17 6 18s392ms 3s65ms 18 6 18s164ms 3s27ms 19 6 18s279ms 3s46ms 20 6 17s877ms 2s979ms 21 6 17s562ms 2s927ms 22 9 27s259ms 3s28ms 23 13 39s54ms 3s4ms 00 13 37s927ms 2s917ms [ User: labanimal - Total duration: 6m32s - Times executed: 130 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-08 03:27:38+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 03:27:38+02' AND '2026-04-08 09:27:38+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 03:27:38+02' AND '2026-04-08 09:27:38+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-08 09:27:42 Duration: 4s129ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-08 12:14:50+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 12:14:50+02' AND '2026-04-08 18:14:50+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 12:14:50+02' AND '2026-04-08 18:14:50+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-08 18:14:53 Duration: 3s428ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-08 05:38:28+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 05:38:28+02' AND '2026-04-08 11:38:28+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 05:38:28+02' AND '2026-04-08 11:38:28+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-08 11:38:31 Duration: 3s358ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
19 29s113ms 22 808ms 6s378ms 1s323ms 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 #19
Day Hour Count Duration Avg duration Apr 08 01 4 4s729ms 1s182ms 03 1 6s378ms 6s378ms 09 1 2s285ms 2s285ms 10 1 2s260ms 2s260ms 12 2 1s968ms 984ms 13 2 1s791ms 895ms 19 2 1s920ms 960ms 21 1 1s47ms 1s47ms 22 2 1s686ms 843ms 23 6 5s43ms 840ms [ User: labanimal - Total duration: 29s113ms - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Total duration: 24s566ms - Times executed: 20 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 4s546ms - 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-08 02:11:34 Duration: 6s378ms 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-08_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-08 08:26:23 Duration: 2s285ms 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-08_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, 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-08 00:02:00 Duration: 2s261ms 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-08_000000.csv
20 16s474ms 22 725ms 816ms 748ms 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 08 09 5 3s808ms 761ms 11 2 1s481ms 740ms 15 5 3s725ms 745ms 16 1 749ms 749ms 17 5 3s699ms 739ms 20 4 3s10ms 752ms [ User: labanimal - Total duration: 16s474ms - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 16s474ms - Times executed: 22 ]
-
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, 10100206) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100206) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100206) 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-08 08:08:17 Duration: 816ms 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-08_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, 10100000) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100000) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100000) 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-08 19:02:14 Duration: 803ms 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-08_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, 10100206) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100206) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100206) 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-08 08:08:22 Duration: 770ms 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-08_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,450 1h15m46s 510ms 8s469ms 3s135ms 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 #1
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
2 1,450 1h15m46s 510ms 8s469ms 3s135ms 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 #2
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
3 1,450 1h15m46s 510ms 8s469ms 3s135ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
4 1,450 1h15m46s 510ms 8s469ms 3s135ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
5 1,450 1h15m46s 510ms 8s469ms 3s135ms create schema if not exists observability;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
6 1,450 1h15m46s 510ms 8s469ms 3s135ms 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 #6
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
7 1,450 1h15m46s 510ms 8s469ms 3s135ms 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 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
8 1,450 1h15m46s 510ms 8s469ms 3s135ms 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 #8
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
9 1,450 1h15m46s 510ms 8s469ms 3s135ms 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 #9
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
10 1,450 1h15m46s 510ms 8s469ms 3s135ms 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 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
11 1,450 1h15m46s 510ms 8s469ms 3s135ms 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 #11
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
12 1,450 1h15m46s 510ms 8s469ms 3s135ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
13 1,450 1h15m46s 510ms 8s469ms 3s135ms 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 #13
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
14 1,420 1h14m29s 510ms 8s469ms 3s147ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 08 01 34 1m26s 2s555ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h14m29s - Times executed: 1420 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
15 1,420 1h14m29s 510ms 8s469ms 3s147ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 08 01 34 1m26s 2s555ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h14m29s - Times executed: 1420 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
16 1,420 1h14m29s 510ms 8s469ms 3s147ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 08 01 34 1m26s 2s555ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h14m29s - Times executed: 1420 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
17 1,420 1h14m29s 510ms 8s469ms 3s147ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 08 01 34 1m26s 2s555ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h14m29s - Times executed: 1420 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
18 130 6m32s 2s828ms 4s129ms 3s22ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 08 01 11 32s796ms 2s981ms 02 13 38s915ms 2s993ms 03 1 2s885ms 2s885ms 10 3 10s165ms 3s388ms 11 6 18s432ms 3s72ms 12 7 21s766ms 3s109ms 13 6 18s565ms 3s94ms 14 6 18s618ms 3s103ms 15 6 18s75ms 3s12ms 16 6 18s205ms 3s34ms 17 6 18s392ms 3s65ms 18 6 18s164ms 3s27ms 19 6 18s279ms 3s46ms 20 6 17s877ms 2s979ms 21 6 17s562ms 2s927ms 22 9 27s259ms 3s28ms 23 13 39s54ms 3s4ms 00 13 37s927ms 2s917ms [ User: labanimal - Total duration: 6m32s - Times executed: 130 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-08 03:27:38+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 03:27:38+02' AND '2026-04-08 09:27:38+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 03:27:38+02' AND '2026-04-08 09:27:38+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-08 09:27:42 Duration: 4s129ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-08 12:14:50+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 12:14:50+02' AND '2026-04-08 18:14:50+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 12:14:50+02' AND '2026-04-08 18:14:50+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-08 18:14:53 Duration: 3s428ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-08 05:38:28+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 05:38:28+02' AND '2026-04-08 11:38:28+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 05:38:28+02' AND '2026-04-08 11:38:28+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-08 11:38:31 Duration: 3s358ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
19 22 29s113ms 808ms 6s378ms 1s323ms 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 #19
Day Hour Count Duration Avg duration Apr 08 01 4 4s729ms 1s182ms 03 1 6s378ms 6s378ms 09 1 2s285ms 2s285ms 10 1 2s260ms 2s260ms 12 2 1s968ms 984ms 13 2 1s791ms 895ms 19 2 1s920ms 960ms 21 1 1s47ms 1s47ms 22 2 1s686ms 843ms 23 6 5s43ms 840ms [ User: labanimal - Total duration: 29s113ms - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Total duration: 24s566ms - Times executed: 20 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 4s546ms - 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-08 02:11:34 Duration: 6s378ms 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-08_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-08 08:26:23 Duration: 2s285ms 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-08_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, 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-08 00:02:00 Duration: 2s261ms 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-08_000000.csv
20 22 16s474ms 725ms 816ms 748ms 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 08 09 5 3s808ms 761ms 11 2 1s481ms 740ms 15 5 3s725ms 745ms 16 1 749ms 749ms 17 5 3s699ms 739ms 20 4 3s10ms 752ms [ User: labanimal - Total duration: 16s474ms - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 16s474ms - Times executed: 22 ]
-
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, 10100206) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100206) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100206) 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-08 08:08:17 Duration: 816ms 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-08_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, 10100000) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100000) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100000) 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-08 19:02:14 Duration: 803ms 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-08_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, 10100206) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100206) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100206) 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-08 08:08:22 Duration: 770ms 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-08_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 510ms 8s469ms 3s147ms 1,420 1h14m29s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 08 01 34 1m26s 2s555ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h14m29s - Times executed: 1420 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
2 510ms 8s469ms 3s147ms 1,420 1h14m29s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 08 01 34 1m26s 2s555ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h14m29s - Times executed: 1420 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
3 510ms 8s469ms 3s147ms 1,420 1h14m29s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 08 01 34 1m26s 2s555ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h14m29s - Times executed: 1420 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
4 510ms 8s469ms 3s147ms 1,420 1h14m29s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 08 01 34 1m26s 2s555ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h14m29s - Times executed: 1420 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
5 510ms 8s469ms 3s135ms 1,450 1h15m46s create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
6 510ms 8s469ms 3s135ms 1,450 1h15m46s 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 #6
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
7 510ms 8s469ms 3s135ms 1,450 1h15m46s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
8 510ms 8s469ms 3s135ms 1,450 1h15m46s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
9 510ms 8s469ms 3s135ms 1,450 1h15m46s create schema if not exists observability;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
10 510ms 8s469ms 3s135ms 1,450 1h15m46s 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 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
11 510ms 8s469ms 3s135ms 1,450 1h15m46s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
12 510ms 8s469ms 3s135ms 1,450 1h15m46s 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 #12
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
13 510ms 8s469ms 3s135ms 1,450 1h15m46s 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 #13
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
14 510ms 8s469ms 3s135ms 1,450 1h15m46s 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 #14
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
15 510ms 8s469ms 3s135ms 1,450 1h15m46s 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 #15
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
16 510ms 8s469ms 3s135ms 1,450 1h15m46s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
17 510ms 8s469ms 3s135ms 1,450 1h15m46s 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 #17
Day Hour Count Duration Avg duration Apr 08 01 64 2m44s 2s572ms 02 60 2m56s 2s936ms 03 60 5m40s 5s674ms 04 60 6m22s 6s378ms 05 60 6m22s 6s378ms 06 60 6m22s 6s378ms 07 60 4m17s 4s296ms 08 60 1m1s 1s21ms 09 60 1m5s 1s94ms 10 60 1m56s 1s948ms 11 60 1m34s 1s578ms 12 64 2m24s 2s252ms 13 62 2m59s 2s898ms 14 60 2m37s 2s630ms 15 60 2m40s 2s681ms 16 60 2m57s 2s961ms 17 60 2m26s 2s436ms 18 60 3m1s 3s17ms 19 60 2m56s 2s948ms 20 60 2m54s 2s907ms 21 60 2m43s 2s732ms 22 60 2m44s 2s746ms 23 60 2m2s 2s33ms 00 60 2m51s 2s853ms [ User: labanimal - Total duration: 1h15m46s - Times executed: 1449 ]
-
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-08 09:55:01 Duration: 8s469ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 06:21:01 Duration: 6s378ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_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-08 14:23:01 Duration: 6s279ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
18 2s828ms 4s129ms 3s22ms 130 6m32s with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 08 01 11 32s796ms 2s981ms 02 13 38s915ms 2s993ms 03 1 2s885ms 2s885ms 10 3 10s165ms 3s388ms 11 6 18s432ms 3s72ms 12 7 21s766ms 3s109ms 13 6 18s565ms 3s94ms 14 6 18s618ms 3s103ms 15 6 18s75ms 3s12ms 16 6 18s205ms 3s34ms 17 6 18s392ms 3s65ms 18 6 18s164ms 3s27ms 19 6 18s279ms 3s46ms 20 6 17s877ms 2s979ms 21 6 17s562ms 2s927ms 22 9 27s259ms 3s28ms 23 13 39s54ms 3s4ms 00 13 37s927ms 2s917ms [ User: labanimal - Total duration: 6m32s - Times executed: 130 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-08 03:27:38+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 03:27:38+02' AND '2026-04-08 09:27:38+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 03:27:38+02' AND '2026-04-08 09:27:38+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-08 09:27:42 Duration: 4s129ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-08 12:14:50+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 12:14:50+02' AND '2026-04-08 18:14:50+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 12:14:50+02' AND '2026-04-08 18:14:50+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-08 18:14:53 Duration: 3s428ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-08 05:38:28+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 05:38:28+02' AND '2026-04-08 11:38:28+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-08 05:38:28+02' AND '2026-04-08 11:38:28+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-08 11:38:31 Duration: 3s358ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
19 808ms 6s378ms 1s323ms 22 29s113ms 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 #19
Day Hour Count Duration Avg duration Apr 08 01 4 4s729ms 1s182ms 03 1 6s378ms 6s378ms 09 1 2s285ms 2s285ms 10 1 2s260ms 2s260ms 12 2 1s968ms 984ms 13 2 1s791ms 895ms 19 2 1s920ms 960ms 21 1 1s47ms 1s47ms 22 2 1s686ms 843ms 23 6 5s43ms 840ms [ User: labanimal - Total duration: 29s113ms - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Total duration: 24s566ms - Times executed: 20 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 4s546ms - 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-08 02:11:34 Duration: 6s378ms 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-08_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-08 08:26:23 Duration: 2s285ms 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-08_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, 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-08 00:02:00 Duration: 2s261ms 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-08_000000.csv
20 725ms 816ms 748ms 22 16s474ms 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 08 09 5 3s808ms 761ms 11 2 1s481ms 740ms 15 5 3s725ms 745ms 16 1 749ms 749ms 17 5 3s699ms 739ms 20 4 3s10ms 752ms [ User: labanimal - Total duration: 16s474ms - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 16s474ms - Times executed: 22 ]
-
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, 10100206) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100206) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100206) 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-08 08:08:17 Duration: 816ms 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-08_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, 10100000) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100000) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100000) 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-08 19:02:14 Duration: 803ms 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-08_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, 10100206) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100206) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100206) 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-08 08:08:22 Duration: 770ms 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-08_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
- 164,778 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 6 FATAL entries
- 15 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 5 Max number of times the same event was reported
- 21 Total events found
Rank Times reported Error 1 5 ERROR: column "..." does not exist
Times Reported Most Frequent Error / Event #1
Day Hour Count Apr 08 01 2 11 1 22 1 23 1 - ERROR: column "check_key" does not exist
- ERROR: column "animalid" does not exist
- ERROR: column "name" does not exist
Statement: SELECT check_key, label, status, latency_ms::int, checked_at FROM observability.uptime_checks ORDER BY checked_at DESC LIMIT 10;
Date: 2026-04-08 00:07:32 Database: zemm_monitoring Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
Hint: Perhaps you meant to reference the column "animals.animalID".
Statement: SELECT COUNT(*) FILTER (WHERE animalID IS NULL), COUNT(*) FILTER (WHERE animalID IS NOT NULL), COUNT(*) FROM animals WHERE deleted IS NOT TRUE;Date: 2026-04-08 00:26:30 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
Statement: SELECT id, name FROM cagetypes WHERE deleted IS NOT TRUE ORDER BY id LIMIT 20
Date: 2026-04-08 10:05:57 Database: zemm_produktiv_7 Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
2 4 ERROR: invalid input syntax for type boolean: ...
Times Reported Most Frequent Error / Event #2
Day Hour Count Apr 08 14 2 15 2 - ERROR: invalid input syntax for type boolean: ""
- ERROR: invalid input syntax for type boolean: ""
- ERROR: invalid input syntax for type boolean: ""
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id WHERE NOT(a.deleted) AND ( (a."deathDate" IS NOT NULL AND a."deathDate" >= '2026-01-01'::DATE AND a."deathDate" <= '2026-12-31'::DATE) OR (a."outgoingDate" IS NOT NULL AND a."outgoingDate" >= '2026-01-01'::DATE AND a."outgoingDate" <= '2026-12-31'::DATE) OR (a.fate IN (1, 10, 11, 13, 14, 15, 9, 4) AND a."deathDate" IS NULL AND a."outgoingDate" IS NULL) ) ORDER BY g.name, l.application_id, a.id
Date: 2026-04-08 13:06:05 Database: zemm_produktiv_8 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id WHERE NOT(a.deleted) AND ( (a."deathDate" IS NOT NULL AND a."deathDate" >= '2026-01-01'::DATE AND a."deathDate" <= '2026-12-31'::DATE) OR (a."outgoingDate" IS NOT NULL AND a."outgoingDate" >= '2026-01-01'::DATE AND a."outgoingDate" <= '2026-12-31'::DATE) OR (a.fate IN (1, 10, 11, 13, 14, 15, 9, 4) AND a."deathDate" IS NULL AND a."outgoingDate" IS NULL) ) ORDER BY g.name, l.application_id, a.id
Date: 2026-04-08 13:06:09 Database: zemm_produktiv_8 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id INNER JOIN "groupMembers" gm ON gm."group" = g.id AND gm."user" = 94 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-08 14:48:48 Database: zemm_produktiv_8 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
3 3 FATAL: database "..." does not exist
Times Reported Most Frequent Error / Event #3
Day Hour Count Apr 08 10 1 17 2 - FATAL: database "zemmdev" does not exist
- FATAL: database "zemm_dev" does not exist
- FATAL: database "zemm_test" does not exist
Date: 2026-04-08 09:25:32 Database: zemmdev Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
Date: 2026-04-08 16:00:13 Database: zemm_dev Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
Date: 2026-04-08 16:00:13 Database: zemm_test Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
4 3 ERROR: syntax error at or near "..."
Times Reported Most Frequent Error / Event #4
Day Hour Count Apr 08 11 1 22 1 23 1 - ERROR: syntax error at or near "desc"
- ERROR: syntax error at or near "\"
- ERROR: syntax error at or near "\"
Statement: SELECT id, desc FROM cagetypes WHERE deleted IS NOT TRUE ORDER BY id LIMIT 20
Date: 2026-04-08 10:06:02 Database: zemm_produktiv_7 Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
Statement: -- Table structure \d breedings
Date: 2026-04-08 21:39:01 Database: zemm_produktiv_7 Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
Statement: -- Verify the breedings table schema \d breedings
Date: 2026-04-08 22:11:00 Database: zemm_produktiv_7 Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
5 3 FATAL: Peer authentication failed for user "..."
Times Reported Most Frequent Error / Event #5
Day Hour Count Apr 08 01 1 12 2 - FATAL: Peer authentication failed for user "labanimal"
- FATAL: Peer authentication failed for user "\d import_execution_row_results"
- FATAL: Peer authentication failed for user "\d import_execution_row_results"
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-08 00:07:28 Database: zemm_monitoring Application: User: labanimal Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-08 11:04:14 Database: -c Application: User: \d import_execution_row_results Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-08 11:04:25 Database: -c Application: User: \d import_execution_row_results Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
6 2 ERROR: relation "..." does not exist
Times Reported Most Frequent Error / Event #6
Day Hour Count Apr 08 02 1 22 1 - ERROR: relation "task_documents" does not exist
- ERROR: relation "litter" does not exist
Statement: SELECT COUNT(*) FROM task_documents;
Date: 2026-04-08 01:48:17 Database: zemm_produktiv_8 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
Statement: SELECT conrelid::regclass, conname, pg_get_constraintdef(oid) FROM pg_constraint WHERE conrelid = 'litter'::regclass AND contype = 'f';
Date: 2026-04-08 21:40:00 Database: zemm_produktiv_7 Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv
7 1 ERROR: function p_update_animal(...) does not exist
Times Reported Most Frequent Error / Event #7
Day Hour Count Apr 08 10 1 - ERROR: function p_update_animal(integer, integer, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Statement: SELECT p_update_animal(1,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL)Date: 2026-04-08 09:29:35 Database: zemm_produktiv_7 Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-08_000000.csv