-
Global information
- Generated on Thu Apr 30 06:06:54 2026
- Log file: /var/log/postgresql/postgresql-2026-03-25_000000.csv, ..., /var/log/postgresql/postgresql-2026-04-30_000000.csv
- Parsed 357,562 log entries in 6m53s
- Log start from 2026-04-24 00:00:01 to 2026-04-24 23:59:22
-
Overview
Global Stats
- 84 Number of unique normalized queries
- 24,896 Number of queries
- 1d5h25m58s Total query duration
- 2026-04-24 00:00:01 First query
- 2026-04-24 23:59:22 Last query
- 18 queries/s at 2026-04-24 11:21:01 Query peak
- 1d5h25m58s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 1d5h25m58s Execute total duration
- 34 Number of events
- 9 Number of unique normalized events
- 13 Max number of times the same event was reported
- 0 Number of cancellation
- 107 Total number of automatic vacuums
- 217 Total number of automatic analyzes
- 1,148 Number temporary file
- 774.61 MiB Max size of temporary file
- 66.46 MiB Average size of temporary file
- 34,833 Total number of sessions
- 8 sessions at 2026-04-24 15:01:20 Session peak
- 2h2m48s Total duration of sessions
- 211ms Average duration of sessions
- 0 Average queries per session
- 3s41ms Average queries duration per session
- 0ms Average idle time per session
- 34,835 Total number of connections
- 64 connections/s at 2026-04-24 22:38:10 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-04-24 11:21:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-04-24 10:34:29 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 18 queries/s Query Peak
- 2026-04-24 09:38:01 Date
Queries duration
Key values
- 1d5h25m58s 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 24 00 1,022 0ms 7s740ms 7s189ms 2m10s 2m11s 2m19s 01 1,021 1s232ms 7s698ms 4s569ms 2m10s 2m10s 2m12s 02 1,020 1s232ms 1s232ms 1s232ms 20s944ms 20s944ms 20s944ms 03 1,020 1s232ms 1s232ms 1s232ms 20s944ms 20s944ms 20s944ms 04 1,020 1s232ms 1s232ms 1s232ms 20s944ms 20s944ms 20s944ms 05 1,020 1s232ms 1s232ms 1s232ms 20s944ms 20s944ms 20s944ms 06 1,025 777ms 1s234ms 1s109ms 20s944ms 20s993ms 22s179ms 07 1,031 609ms 1s177ms 932ms 19s471ms 20s909ms 22s11ms 08 1,039 508ms 1s957ms 809ms 30s4ms 30s4ms 30s960ms 09 1,075 522ms 13s788ms 1s620ms 1m11s 1m29s 3m23s 10 1,057 550ms 11s983ms 2s898ms 1m17s 1m19s 3m29s 11 1,055 525ms 4s603ms 3s514ms 1m15s 1m15s 1m24s 12 1,061 531ms 16s568ms 7s722ms 3m34s 3m35s 3m46s 13 1,042 530ms 12s821ms 6s774ms 3m35s 3m37s 3m47s 14 1,025 762ms 4s449ms 2s93ms 1m9s 1m9s 1m14s 15 1,047 515ms 4s544ms 3s305ms 1m13s 1m15s 1m21s 16 1,045 640ms 4s648ms 3s317ms 1m13s 1m13s 1m21s 17 1,046 642ms 4s216ms 3s438ms 1m12s 1m12s 1m14s 18 1,050 649ms 14s204ms 3s772ms 1m24s 1m28s 1m43s 19 1,036 622ms 4s536ms 3s450ms 1m4s 1m4s 1m25s 20 1,031 3s586ms 3s674ms 3s614ms 1m4s 1m5s 1m6s 21 1,032 3s596ms 3s774ms 3s657ms 1m5s 1m6s 1m7s 22 1,038 533ms 53s627ms 13s15ms 8m51s 9m12s 9m22s 23 1,038 580ms 30s870ms 20s227ms 9m8s 9m11s 9m15s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 24 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 5 0 942ms 0ms 0ms 990ms 07 11 0 974ms 0ms 1s123ms 1s957ms 08 17 0 926ms 0ms 955ms 3s285ms 09 27 0 1s97ms 1s418ms 1s861ms 2s470ms 10 23 0 944ms 875ms 1s647ms 1s966ms 11 11 0 734ms 0ms 525ms 1s550ms 12 11 0 697ms 0ms 534ms 970ms 13 7 0 727ms 0ms 0ms 1s502ms 14 2 0 766ms 0ms 0ms 0ms 15 8 0 785ms 0ms 0ms 1s566ms 16 6 0 808ms 0ms 0ms 1s512ms 17 2 0 763ms 0ms 0ms 0ms 18 2 0 760ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 1 0 533ms 0ms 0ms 0ms 23 0 5 1s640ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 24 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s232ms 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 24 00 0 2 2.00 0.00% 01 0 0 0.00 0.00% 02 0 0 0.00 0.00% 03 0 0 0.00 0.00% 04 0 0 0.00 0.00% 05 0 0 0.00 0.00% 06 0 0 0.00 0.00% 07 0 0 0.00 0.00% 08 0 0 0.00 0.00% 09 0 22 22.00 0.00% 10 0 13 13.00 0.00% 11 0 22 22.00 0.00% 12 0 31 31.00 0.00% 13 0 13 13.00 0.00% 14 0 2 2.00 0.00% 15 0 17 17.00 0.00% 16 0 10 10.00 0.00% 17 0 12 12.00 0.00% 18 0 26 26.00 0.00% 19 0 14 14.00 0.00% 20 0 11 11.00 0.00% 21 0 12 12.00 0.00% 22 0 18 18.00 0.00% 23 0 13 13.00 0.00% Day Hour Count Average / Second Apr 24 00 610 0.17/s 01 547 0.15/s 02 544 0.15/s 03 544 0.15/s 04 544 0.15/s 05 544 0.15/s 06 1,010 0.28/s 07 1,559 0.43/s 08 1,269 0.35/s 09 3,033 0.84/s 10 2,573 0.71/s 11 2,748 0.76/s 12 2,304 0.64/s 13 2,435 0.68/s 14 1,570 0.44/s 15 2,118 0.59/s 16 1,869 0.52/s 17 1,254 0.35/s 18 1,934 0.54/s 19 1,011 0.28/s 20 1,011 0.28/s 21 940 0.26/s 22 1,127 0.31/s 23 1,737 0.48/s Day Hour Count Average Duration Average idle time Apr 24 00 610 240ms 0ms 01 547 231ms 0ms 02 544 228ms 0ms 03 544 228ms 0ms 04 544 227ms 0ms 05 544 226ms 0ms 06 1,010 180ms 0ms 07 1,559 180ms 0ms 08 1,269 182ms 0ms 09 3,033 202ms 0ms 10 2,573 175ms 0ms 11 2,746 169ms 0ms 12 2,304 228ms 0ms 13 2,435 189ms 0ms 14 1,569 173ms 0ms 15 2,119 224ms 0ms 16 1,869 187ms 0ms 17 1,254 223ms 0ms 18 1,933 208ms 0ms 19 1,012 242ms 0ms 20 1,011 219ms 0ms 21 940 240ms 0ms 22 1,127 417ms 0ms 23 1,737 254ms 0ms -
Connections
Established Connections
Key values
- 64 connections Connection Peak
- 2026-04-24 22:38:10 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 34,835 connections Total
Connections per user
Key values
- labanimal Main User
- 34,835 connections Total
-
Sessions
Simultaneous sessions
Key values
- 8 sessions Session Peak
- 2026-04-24 15:01:20 Date
Histogram of session times
Key values
- 31,952 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 34,833 sessions Total
Sessions per user
Key values
- labanimal Main User
- 34,833 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 34,833 sessions Total
Sessions per application
Key values
- Main Application
- 34,833 sessions Total
Application Count Total Duration Average Duration 29,180 1h47m36s 221ms _backend_cage_autocomplete_api.php_q_2025_limit_12_zemm_produkt 11 337ms 30ms _backend_cage_autocomplete_api.php_q_Kadavertruhe_limit_12_zemm 11 442ms 40ms _backend_wean_api.php_litter_id_10130227_zemm_produktiv_7_local 55 8s52ms 146ms _backend_wean_api.php_litter_id_10130236_zemm_produktiv_7_local 55 8s440ms 153ms _backend_wean_api.php_litter_id_10130257_zemm_produktiv_7_local 66 9s853ms 149ms _desktop__zemm_produktiv_7_localhost_5432 15 1s161ms 77ms _desktop__zemm_produktiv_8_localhost_5432 7 420ms 60ms _desktop_index.php_animal_id_2025_2F000_2F7848_species_1_breedi 1 99ms 99ms _desktop_index.php_cage_name_53_2A_current_only_true_val4_anima 1 1s844ms 1s844ms _desktop_index.php_cages_name_A15.415-_2A_cages_empty__25_val4_ 4 786ms 196ms _desktop_index.php_cages_name_A15.415.1-032_cages_empty__25_val 1 179ms 179ms _desktop_index.php_cages_name_A15.415.1-099_cages_empty__25_val 1 185ms 185ms _desktop_index.php_cages_name_A15.415.1-_2A_cages_empty__25_val 1 210ms 210ms _desktop_index.php_cages_name_A15.415.1_2A_cages_empty__25_val4 1 200ms 200ms _desktop_index.php_command_animals_breedings_subcommand_edit_id 2 1s461ms 730ms _desktop_index.php_command_animals_breedings_subcommand_select_ 11 657ms 59ms _desktop_index.php_command_animals_create_subcommand_init_zemm_ 11 717ms 65ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 1 113ms 113ms _desktop_index.php_command_animals_edit_subcommand_link_init_va 11 1s286ms 116ms _desktop_index.php_command_animals_edit_subcommand_m_init_scree 11 1s574ms 143ms _desktop_index.php_command_animals_litters_edit_subcommand_init 11 1s252ms 113ms _desktop_index.php_command_animals_litters_edit_subcommand_m_in 11 3s744ms 340ms _desktop_index.php_command_animals_litters_subcommand_select_ze 11 587ms 53ms _desktop_index.php_command_animals_subcommand_found_val1_101001 1 395ms 395ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 33 1s501ms 45ms _desktop_index.php_command_animals_subcommand_select_zemm_produ 11 838ms 76ms _desktop_index.php_command_cages_edit_subcommand_init_id_101017 2 142ms 71ms _desktop_index.php_command_cages_edit_subcommand_init_id_101018 1 74ms 74ms _desktop_index.php_command_cages_subcommand_init_zemm_produktiv 1 44ms 44ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,692 50s936ms 30ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 4 527ms 131ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 8 1s5ms 125ms _desktop_index.php_command_reports_subcommand_annual_reports_ze 2 110ms 55ms _desktop_index.php_command_reports_subcommand_annual_year_2025_ 1 43ms 43ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 13 1s592ms 122ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 27 19s330ms 715ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 1 116ms 116ms _desktop_index.php_command_tasks_subcommand_create_task_id_31_z 1 61ms 61ms _desktop_index.php_command_tasks_subcommand_create_zemm_produkt 1 50ms 50ms _desktop_index.php_command_tasks_subcommand_edit_id_10134267_ze 11 1s27ms 93ms _desktop_index.php_command_tasks_subcommand_edit_id_10140865_ze 1 88ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10141109_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10141965_ze 1 98ms 98ms _desktop_index.php_command_tasks_subcommand_edit_id_10142201_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142326_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142385_ze 1 90ms 90ms _desktop_index.php_command_tasks_subcommand_edit_id_10142442_ze 1 78ms 78ms _desktop_index.php_command_tasks_subcommand_edit_id_10142497_ze 1 97ms 97ms _desktop_index.php_command_tasks_subcommand_edit_id_10142498_ze 1 95ms 95ms _desktop_index.php_command_tasks_subcommand_edit_id_10142533_ze 2 169ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10142535_ze 5 415ms 83ms _desktop_index.php_command_tasks_subcommand_edit_id_10142549_ze 2 219ms 109ms _desktop_index.php_command_tasks_subcommand_edit_id_10142550_ze 1 90ms 90ms _desktop_index.php_command_tasks_subcommand_init_search_zemm_pr 11 538ms 48ms _desktop_index.php_command_tasks_subcommand_init_zemm_produktiv 7 767ms 109ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_id_10 3 304ms 101ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_zemm_ 7 649ms 92ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 178 20s388ms 114ms _desktop_index.php_command_tasks_subcommand_overview_zemm_produ 38 19s3ms 500ms _desktop_index.php_command_tasks_subcommand_search_zemm_produkt 3 132ms 44ms _desktop_index.php_m_action_animals_3Am_breeding_card_row_anima 1 412ms 412ms _desktop_index.php_m_action_animals_3Am_delete_row_animals_1029 2 95ms 47ms _desktop_index.php_m_action_animals_3Am_delete_val4_animals_lis 1 55ms 55ms _desktop_index.php_m_action_animals_edit_3Alink_init_row_animal 3 149ms 49ms _desktop_index.php_m_action_cages_3Am_cage_card_row_10101715_10 1 198ms 198ms _desktop_index.php_m_action_cages_3Am_cage_card_row_10101809_10 1 189ms 189ms _desktop_index.php_name_Genotypisierungsproben_20genommen_instr 1 124ms 124ms _desktop_index.php_name_Tiertransport_20durch_20das_20ZEMM_20-_ 1 101ms 101ms _desktop_index.php_name_Verpaarung_20trennen_instructions_Bitte 1 69ms 69ms _desktop_index.php_search_id_10141627_search_status__25_no_subt 1 102ms 102ms _desktop_index.php_search_id_10141628_search_status__25_no_subt 1 103ms 103ms _desktop_index.php_species_1_sex_m_sterile_false_animal_arrival 1 45ms 45ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 9 2s665ms 296ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 36 11s980ms 332ms _desktop_index.php_zemm_produktiv_7_localhost_5432 298 1m21s 273ms _desktop_index.php_zemm_produktiv_8_localhost_5432 2,689 10m21s 231ms backend:zemm_produktiv_8@localhost 72 6s181ms 85ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s252ms 1s252ms pg_dump 1 12s798ms 12s798ms psql 96 2s205ms 22ms taskscron:zemm_produktiv_7@zemm.fbiscience.eu 24 647ms 26ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 3s781ms 157ms zemm_produktiv_7_localhost_5432 2 147ms 73ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 18,888 buffers Checkpoint Peak
- 2026-04-24 01:36:51 Date
- 269.955 seconds Highest write time
- 0.622 seconds Sync time
Checkpoints Wal files
Key values
- 0 files Wal files usage Peak
- 2026-04-24 09:18:41 Date
Checkpoints distance
Key values
- 191.49 Mo Distance Peak
- 2026-04-24 09:46:56 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Apr 24 00 3,168 317.672s 0.087s 317.817s 01 21,276 508.737s 0.086s 508.92s 02 2,985 299.245s 0.087s 299.388s 03 2,765 277.334s 0.086s 277.476s 04 2,753 276.115s 0.087s 276.265s 05 2,531 253.872s 0.083s 254.018s 06 31,836 1,082.29s 0.2s 1,082.644s 07 17,769 708.767s 0.211s 709.069s 08 30,912 959.481s 0.238s 959.824s 09 41,664 1,316.743s 0.29s 1,317.179s 10 5,983 600s 0.274s 600.334s 11 8,258 840.013s 0.224s 840.319s 12 17,401 721.303s 0.191s 721.585s 13 5,927 595.225s 0.221s 595.517s 14 4,003 401.416s 0.175s 401.654s 15 5,712 588.897s 0.762s 589.715s 16 30,744 1,034.318s 0.212s 1,034.667s 17 4,754 476.402s 0.146s 476.612s 18 5,069 508.216s 0.142s 508.421s 19 3,936 395.142s 0.12s 395.322s 20 4,194 420.459s 0.118s 420.638s 21 3,413 342.225s 0.104s 342.386s 22 3,675 370.279s 0.107s 370.442s 23 3,850 385.795s 0.088s 385.933s Day Hour Added Removed Recycled Synced files Longest sync Average sync Apr 24 00 0 1 0 429 0.002s 0.012s 01 0 7 0 456 0.001s 0.012s 02 0 1 0 440 0.002s 0.012s 03 0 0 0 441 0.001s 0.012s 04 0 1 0 443 0.002s 0.012s 05 0 1 0 434 0.001s 0.012s 06 0 14 0 1,002 0.005s 0.012s 07 0 5 0 1,082 0.006s 0.011s 08 0 8 0 1,295 0.002s 0.013s 09 0 15 0 1,671 0.003s 0.012s 10 0 2 0 1,437 0.003s 0.012s 11 0 2 0 1,211 0.003s 0.012s 12 0 5 0 1,020 0.003s 0.012s 13 0 2 0 1,179 0.003s 0.012s 14 0 1 0 897 0.003s 0.012s 15 0 1 0 822 0.428s 0.02s 16 0 12 0 1,115 0.003s 0.013s 17 0 2 0 668 0.003s 0.012s 18 0 1 0 751 0.003s 0.012s 19 0 1 0 557 0.002s 0.012s 20 0 2 0 555 0.002s 0.012s 21 0 1 0 444 0.002s 0.012s 22 0 1 0 427 0.002s 0.012s 23 0 1 0 400 0.002s 0.011s Day Hour Count Avg time (sec) Apr 24 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 24 00 1,248.33 kB 2,209.58 kB 01 8,807.08 kB 37,304.00 kB 02 1,208.50 kB 30,452.42 kB 03 1,193.33 kB 9,440.67 kB 04 1,186.42 kB 3,533.42 kB 05 1,119.58 kB 1,813.67 kB 06 18,650.67 kB 34,676.00 kB 07 7,074.64 kB 50,633.45 kB 08 10,453.46 kB 39,898.62 kB 09 21,341.67 kB 67,232.00 kB 10 2,193.25 kB 39,858.25 kB 11 3,031.58 kB 13,160.08 kB 12 6,486.83 kB 34,283.33 kB 13 2,269.58 kB 12,567.67 kB 14 1,633.00 kB 4,838.17 kB 15 2,382.64 kB 5,109.00 kB 16 15,151.15 kB 60,334.54 kB 17 1,774.00 kB 17,643.58 kB 18 1,997.67 kB 6,256.75 kB 19 1,557.75 kB 3,004.00 kB 20 1,555.42 kB 1,995.08 kB 21 1,360.25 kB 1,590.83 kB 22 1,439.42 kB 1,634.25 kB 23 1,631.73 kB 2,009.55 kB -
Temporary Files
Size of temporary files
Key values
- 775.19 MiB Temp Files size Peak
- 2026-04-24 23:34:37 Date
Number of temporary files
Key values
- 10 per second Temp Files Peak
- 2026-04-24 18:08:16 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Apr 24 00 10 1.03 GiB 105.00 MiB 01 0 0 0 02 0 0 0 03 0 0 0 04 0 0 0 05 0 0 0 06 0 0 0 07 0 0 0 08 0 0 0 09 100 6.73 GiB 68.89 MiB 10 60 3.46 GiB 58.97 MiB 11 110 6.19 GiB 57.64 MiB 12 143 10.46 GiB 74.91 MiB 13 64 5.18 GiB 82.82 MiB 14 10 600.17 MiB 60.02 MiB 15 85 4.99 GiB 60.13 MiB 16 50 2.93 GiB 60.00 MiB 17 60 3.52 GiB 60.02 MiB 18 127 6.64 GiB 53.56 MiB 19 69 3.13 GiB 46.46 MiB 20 55 2.46 GiB 45.88 MiB 21 60 2.69 GiB 45.92 MiB 22 80 7.47 GiB 95.57 MiB 23 65 7.06 GiB 111.17 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 913 56.91 GiB 44.82 MiB 172.98 MiB 63.83 MiB with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:38:11+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:11+02' AND '2026-04-24 22:38:11+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:11+02' AND '2026-04-24 22:38:11+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-24 22:39:05 Duration: 53s627ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:38:58+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:58+02' AND '2026-04-24 22:38:58+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:58+02' AND '2026-04-24 22:38:58+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-24 22:39:29 Duration: 31s284ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:53:11+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:53:11+02' AND '2026-04-24 22:53:11+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:53:11+02' AND '2026-04-24 22:53:11+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-24 22:53:42 Duration: 30s942ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
Queries generating the largest temporary files
Rank Size Query 1 172.98 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:09:00 - Queryid: 1582334 ]
2 171.15 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:19:10 - Queryid: 1600359 ]
3 170.12 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:09:00 - Queryid: 1582334 ]
4 169.38 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 22:48:41 - Queryid: 1575653 ]
5 169.20 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:19:10 - Queryid: 1600359 ]
6 167.03 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 22:58:51 - Queryid: 1579094 ]
7 163.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, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 22:43:40 - Queryid: 1573961 ]
8 163.37 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:34:37 - Queryid: 1617398 ]
9 163.31 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 22:39:29 - Queryid: 1572560 ]
10 163.06 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:29:28 - Queryid: 1612674 ]
11 162.92 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 22:48:41 - Queryid: 1575653 ]
12 162.32 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:14:00 - Queryid: 1584087 ]
13 161.26 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 22:43:40 - Queryid: 1573961 ]
14 160.75 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:29:28 - Queryid: 1612674 ]
15 158.98 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 22:58:51 - Queryid: 1579094 ]
16 158.85 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:34:37 - Queryid: 1617398 ]
17 158.01 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:14:00 - Queryid: 1584087 ]
18 157.91 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:24:19 - Queryid: 1610980 ]
19 157.56 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:03:50 - Queryid: 1580589 ]
20 157.23 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2, $3) AND collected_at <= $4 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 ($5, $6, $7) AND collected_at BETWEEN $8 AND $9 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 ($10, $11, $12) AND collected_at BETWEEN $13 AND $14 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 $15 OFFSET $16;[ Date: 2026-04-24 23:03:50 - Queryid: 1580589 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 0.60 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-04-24 01:30:18 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_produktiv_8 - Date
Average Autovacuum Duration
Key values
- 0.60 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-04-24 01:30:18 Date
Analyzes per table
Key values
- pg_catalog.pg_type (40) Main table analyzed (database zemm_produktiv_8)
- 217 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 40 zemm_produktiv_8.pg_catalog.pg_attribute 30 zemm_produktiv_8.pg_catalog.pg_class 21 zemm_produktiv_8.pg_catalog.pg_depend 19 zemm_produktiv_8.public.breedingssires 17 zemm_produktiv_8.public.breedingsdams 17 zemm_produktiv_7.pg_catalog.pg_type 14 zemm_produktiv_7.public.login_tracker 10 zemm_produktiv_7.pg_catalog.pg_attribute 10 zemm_produktiv_7.pg_catalog.pg_depend 7 zemm_produktiv_7.pg_catalog.pg_class 7 zemm_produktiv_7.public.user_ui_prefs 5 zemm_produktiv_8.pg_catalog.pg_shdepend 2 zemm_monitoring.observability.metrics_timeseries 2 zemm_produktiv_8.public.cages_search_mview 2 zemm_produktiv_7.pg_catalog.pg_shdepend 2 invdb.pg_catalog.pg_shdepend 2 bucardo.pg_catalog.pg_shdepend 1 zemm_monitoring.observability.uptime_checks 1 fbi_unire.pg_catalog.pg_shdepend 1 zemm_monitoring.observability.phpfpm_counters 1 zemm_produktiv_7.public.users 1 zemm_produktiv_8.public.users 1 zemm_produktiv_8.public.tmptasks 1 zemm_produktiv_8.public.tasks 1 zemm_test_3.pg_catalog.pg_shdepend 1 postgres.pg_catalog.pg_shdepend 1 Total 217 Vacuums per table
Key values
- public.breedingssires (17) Main table vacuumed on database zemm_produktiv_8
- 107 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.public.breedingssires 17 0 0 0 0 0 0 2,515 212 665,151 0 0 zemm_produktiv_8.public.breedingsdams 17 0 0 0 0 0 0 3,383 264 887,452 0 0 zemm_produktiv_8.pg_catalog.pg_type 13 13 0 0 0 0 0 680 160 154,284 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 10 10 0 0 0 0 0 1,221 418 285,757 0 0 zemm_produktiv_8.pg_catalog.pg_class 8 8 0 0 0 0 0 791 261 327,342 5 5 fbi_unibi.pg_catalog.pg_shdepend 5 5 0 0 0 0 0 445 151 286,234 0 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 0 0 0 4,746 1,592 3,622,631 1,571 9,426 zemm_produktiv_7.pg_catalog.pg_type 5 5 0 0 0 0 0 182 45 59,676 0 0 zemm_produktiv_8.pg_catalog.pg_depend 5 5 0 0 0 0 0 628 187 221,238 0 0 zemm_produktiv_7.public.user_ui_prefs 4 4 0 0 0 0 0 193 26 48,839 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 0 0 0 0 0 551 125 662,336 24 69 zemm_produktiv_7.pg_catalog.pg_class 3 3 0 0 0 0 0 273 98 140,857 20 289 zemm_produktiv_7.pg_catalog.pg_attribute 3 3 0 0 0 0 0 575 207 278,517 0 0 zemm_produktiv_7.pg_catalog.pg_depend 2 2 0 0 0 0 0 229 75 123,416 0 0 zemm_produktiv_7.pg_catalog.pg_statistic 1 1 0 0 0 0 0 149 40 119,741 22 144 zemm_monitoring.observability.system_metrics 1 0 0 0 0 0 0 1,663 1,663 2,786,523 0 0 zemm_produktiv_8.public.cages_search_mview 1 1 0 0 0 0 0 663 323 1,091,111 48 647 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 46,844 37 3,416,601 2 2 zemm_produktiv_8.public.tmptasks 1 1 0 0 0 0 0 70 25 12,688 0 0 zemm_produktiv_7.pg_toast.pg_toast_2619 1 1 0 0 0 0 0 140 37 194,450 9 29 zemm_monitoring.observability.uptime_checks 1 0 0 0 0 0 0 1,095 1,094 1,697,997 0 0 Total 107 66 0 0 0 0 0 67,036 7,040 17,082,841 1,701 10,611 Vacuum throughput per table
Key values
- public.tasks (0.6) Max CPU elapsed for vacuum on database zemm_produktiv_8
- pg_catalog.pg_attribute (3.704 ms) Max I/O read time for vacuum on database zemm_produktiv_8
- pg_toast.pg_toast_67431 (0.419 ms) Max I/O write time for vacuum on database zemm_produktiv_8
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.public.breedingssires 0.035 0.403 0 zemm_produktiv_8.public.breedingsdams 0.023 0.237 0 zemm_produktiv_8.pg_catalog.pg_type 1.204 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 3.704 0 0.1 zemm_produktiv_8.pg_catalog.pg_class 3.117 0 0.03 fbi_unibi.pg_catalog.pg_shdepend 3.162 0 0.04 zemm_monitoring.pg_toast.pg_toast_67431 2.229 0.419 0.4 zemm_produktiv_7.pg_catalog.pg_type 1.052 0 0 zemm_produktiv_8.pg_catalog.pg_depend 1.846 0 0.05 zemm_produktiv_7.public.user_ui_prefs 0.165 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 1.008 0 0.03 zemm_produktiv_7.pg_catalog.pg_class 2.08 0 0.01 zemm_produktiv_7.pg_catalog.pg_attribute 2.635 0 0.05 zemm_produktiv_7.pg_catalog.pg_depend 2.58 0 0.02 zemm_produktiv_7.pg_catalog.pg_statistic 1.986 0 0.01 zemm_monitoring.observability.system_metrics 0.492 0 0.4 zemm_produktiv_8.public.cages_search_mview 1.316 0.275 0.1 zemm_produktiv_8.public.tasks 0.831 0 0.6 zemm_produktiv_8.public.tmptasks 0.609 0 0 zemm_produktiv_7.pg_toast.pg_toast_2619 0.781 0 0.01 zemm_monitoring.observability.uptime_checks 0.282 0 0.26 Total 31.137 1.334 2.11 Tuples removed per table
Key values
- public.tasks (54018) Main table with removed tuples on database zemm_produktiv_8
- 77703 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 54,018 57,123 0 0 16,829 zemm_produktiv_8.pg_catalog.pg_attribute 10 10 9,191 58,182 0 0 1,840 zemm_produktiv_8.pg_catalog.pg_depend 5 5 4,300 20,855 0 0 275 zemm_produktiv_8.pg_catalog.pg_type 13 13 2,560 10,803 0 0 403 fbi_unibi.pg_catalog.pg_shdepend 5 5 2,084 19,420 0 0 190 zemm_produktiv_7.pg_catalog.pg_attribute 3 3 1,667 20,600 0 0 570 zemm_produktiv_8.pg_catalog.pg_class 8 8 1,233 7,152 0 0 336 zemm_produktiv_7.pg_catalog.pg_depend 2 2 730 9,506 0 0 102 zemm_produktiv_7.pg_catalog.pg_type 5 5 492 4,305 0 0 135 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 337 879 0 0 318 zemm_produktiv_8.public.cages_search_mview 1 1 336 13,885 0 0 234 zemm_produktiv_7.pg_catalog.pg_class 3 3 313 2,961 0 0 117 zemm_produktiv_7.pg_catalog.pg_statistic 1 1 243 1,245 0 0 142 zemm_produktiv_7.pg_toast.pg_toast_2619 1 1 90 280 0 0 120 zemm_produktiv_8.public.tmptasks 1 1 63 842 0 0 119 zemm_produktiv_7.public.user_ui_prefs 4 4 46 8 0 0 4 zemm_monitoring.observability.system_metrics 1 0 0 58,177 0 0 7,713 zemm_produktiv_8.public.breedingssires 17 0 0 384,214 0 0 2,448 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 2,306,135 0 0 389,392 zemm_produktiv_8.public.breedingsdams 17 0 0 519,073 0 0 3,315 zemm_monitoring.observability.uptime_checks 1 0 0 121,624 0 0 6,099 Total 107 66 77,703 3,617,269 0 0 430,701 Pages removed per table
Key values
- unknown (0) Main table with removed pages on database unknown
- 0 pages Total removed
Pages removed per tables
NO DATASET
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_7.pg_catalog.pg_statistic 1 1 243 0 zemm_monitoring.observability.system_metrics 1 0 0 0 zemm_produktiv_8.public.cages_search_mview 1 1 336 0 zemm_produktiv_8.public.tasks 1 1 54018 0 zemm_produktiv_8.public.breedingssires 17 0 0 0 zemm_produktiv_8.pg_catalog.pg_type 13 13 2560 0 zemm_produktiv_7.public.user_ui_prefs 4 4 46 0 fbi_unibi.pg_catalog.pg_shdepend 5 5 2084 0 zemm_produktiv_8.public.tmptasks 1 1 63 0 zemm_produktiv_8.pg_catalog.pg_class 8 8 1233 0 zemm_produktiv_7.pg_catalog.pg_depend 2 2 730 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 zemm_produktiv_7.pg_catalog.pg_type 5 5 492 0 zemm_produktiv_8.public.breedingsdams 17 0 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 337 0 zemm_produktiv_8.pg_catalog.pg_depend 5 5 4300 0 zemm_produktiv_7.pg_catalog.pg_class 3 3 313 0 zemm_produktiv_7.pg_toast.pg_toast_2619 1 1 90 0 zemm_monitoring.observability.uptime_checks 1 0 0 0 zemm_produktiv_7.pg_catalog.pg_attribute 3 3 1667 0 zemm_produktiv_8.pg_catalog.pg_attribute 10 10 9191 0 Total 107 66 77,703 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Apr 24 00 0 0 01 2 1 02 1 0 03 0 0 04 0 0 05 0 0 06 14 21 07 12 23 08 9 20 09 16 33 10 3 12 11 7 15 12 4 9 13 4 13 14 0 4 15 4 5 16 13 21 17 3 6 18 9 22 19 3 7 20 1 3 21 0 1 22 0 1 23 2 0 - 0.60 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
- 133 Total read queries
- 24,763 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,718 Requests
- 1d5h23m9s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- labanimal Main user
- 723,772 Requests
User Request type Count Duration deploy Total 58 14m47s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s labanimal Total 723,772 21d7h12m33s copy from 20 3m34s copy to 158 7m23s cte 4,484 5h1m36s ddl 715,725 21d1h1m8s others 179 2m6s select 3,147 55m41s tcl 9 7s973ms update 33 35s348ms postgres Total 177 4m1s copy to 177 4m1s Duration by user
Key values
- 21d7h12m33s (labanimal) Main time consuming user
User Request type Count Duration deploy Total 58 14m47s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s labanimal Total 723,772 21d7h12m33s copy from 20 3m34s copy to 158 7m23s cte 4,484 5h1m36s ddl 715,725 21d1h1m8s others 179 2m6s select 3,147 55m41s tcl 9 7s973ms update 33 35s348ms postgres Total 177 4m1s copy to 177 4m1s Queries by host
Key values
- unknown Main host
- 723,736 Requests
- 21d7h8m55s (unknown)
- Main time consuming host
Host Request type Count Duration 127.0.0.1 Total 2 6s311ms ddl 2 6s311ms 81.169.238.237 Total 34 3m32s select 1 2m56s update 33 35s348ms [local] Total 235 18m48s copy to 177 4m1s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s unknown Total 723,736 21d7h8m55s copy from 20 3m34s copy to 158 7m23s cte 4,484 5h1m36s ddl 715,723 21d1h1m2s others 179 2m6s select 3,146 52m44s tcl 9 7s973ms Queries by application
Key values
- unknown Main application
- 24,718 Requests
- 1d5h23m9s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_cage_name_53_2A_current_only_true_val4_anima Total 1 1s799ms cte 1 1s799ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt Total 22 16s869ms select 22 16s869ms _desktop_index.php_command_tasks_subcommand_overview_zemm_produ Total 17 11s210ms cte 17 11s210ms _desktop_index.php_zemm_produktiv_7_localhost_5432 Total 15 13s879ms cte 15 13s879ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 117 1m56s cte 9 15s402ms select 108 1m40s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s232ms update 1 1s232ms pg_dump Total 5 8s203ms copy to 5 8s203ms unknown Total 24,718 1d5h23m9s cte 235 25m55s ddl 24,480 1d4h57m12s select 3 2s68ms Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-04-24 10:37:22 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 249 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 53s627ms WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:38:11+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:11+02' AND '2026-04-24 22:38:11+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:11+02' AND '2026-04-24 22:38:11+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-24 22:39:05 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
2 31s284ms WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:38:58+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:58+02' AND '2026-04-24 22:38:58+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:58+02' AND '2026-04-24 22:38:58+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-24 22:39:29 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
3 31s284ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
4 31s284ms 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-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
5 31s284ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
6 31s284ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
7 31s284ms 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-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
8 31s284ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
9 31s284ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-04-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
10 31s284ms 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-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
11 31s284ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-04-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
12 31s284ms 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-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
13 31s284ms 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-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
14 31s284ms 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-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
15 31s284ms 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-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
16 31s284ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-04-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
17 31s284ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-04-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
18 31s284ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-04-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
19 31s284ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-04-24 22:40:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
20 31s284ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-24 22:41: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 1h42m20s 1,440 508ms 31s284ms 4s264ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m40s 1s676ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m20s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
2 1h42m20s 1,440 508ms 31s284ms 4s264ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m40s 1s676ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m20s - Times executed: 1436 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
3 1h42m20s 1,440 508ms 31s284ms 4s264ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m40s 1s676ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m20s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
4 1h42m9s 1,440 508ms 31s284ms 4s256ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
5 1h42m9s 1,440 508ms 31s284ms 4s256ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
6 1h42m9s 1,440 508ms 31s284ms 4s256ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
7 1h42m9s 1,440 508ms 31s284ms 4s256ms 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 #7
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
8 1h42m9s 1,440 508ms 31s284ms 4s256ms create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
9 1h42m9s 1,440 508ms 31s284ms 4s256ms create schema if not exists observability;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
10 1h42m9s 1,440 508ms 31s284ms 4s256ms create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
11 1h42m9s 1,440 508ms 31s284ms 4s256ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
12 1h42m9s 1,440 508ms 31s284ms 4s256ms 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 #12
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
13 1h42m9s 1,440 508ms 31s284ms 4s256ms 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 #13
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
14 1h42m9s 1,440 508ms 31s284ms 4s256ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
15 1h42m9s 1,440 508ms 31s284ms 4s256ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
16 1h42m9s 1,440 508ms 31s284ms 4s256ms 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 #16
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
17 1h42m9s 1,440 508ms 31s284ms 4s256ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
18 25m55s 235 3s510ms 53s627ms 6s617ms 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 24 01 2 15s439ms 7s719ms 10 22 2m24s 6s549ms 11 12 52s967ms 4s413ms 12 22 1m29s 4s67ms 13 30 3m37s 7s260ms 14 13 1m45s 8s92ms 15 2 8s548ms 4s274ms 16 17 1m9s 4s78ms 17 10 41s98ms 4s109ms 18 12 48s493ms 4s41ms 19 26 1m58s 4s570ms 20 14 51s154ms 3s653ms 21 11 39s774ms 3s615ms 22 12 43s864ms 3s655ms 23 17 4m30s 15s898ms 00 13 3m58s 18s360ms [ User: labanimal - Total duration: 25m55s - Times executed: 235 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:38:11+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:11+02' AND '2026-04-24 22:38:11+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:11+02' AND '2026-04-24 22:38:11+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-24 22:39:05 Duration: 53s627ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:38:58+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:58+02' AND '2026-04-24 22:38:58+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:58+02' AND '2026-04-24 22:38:58+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-24 22:39:29 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:53:11+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:53:11+02' AND '2026-04-24 22:53:11+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:53:11+02' AND '2026-04-24 22:53:11+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-24 22:53:42 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
19 16s869ms 22 754ms 784ms 766ms select "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", sum(a."alive") AS "alive", sum(a."dead") AS "dead", sum(a."leftalive") AS "leftalive", sum(a."alive" + a."used" + a."leftalive") AS "total", sum(a."used") AS "used" from "groups" inner join "licenses" on "licenses"."workgroup" = "groups"."id" and not ("licenses"."deleted") and licenses.proposed_end >= ?::date and licenses.proposed_start <= ?::date inner join ( select "animals"."animalID", "animals"."project", "animals"."species", case when "fates".alive and ("animals"."fate" = ?) then ? else ? end AS "leftalive", case when "fates".alive and ("animals"."fate" = ?) then ? else ? end AS "alive", case when "fates".alive and ("animals"."fate" = ?) then ? when not ("fates".alive) and (("animals"."deathDate" is not null and "animals"."deathDate" >= ? and "animals"."deathDate" >= ?) or ("animals"."outgoingDate" is not null and "animals"."outgoingDate" >= ? and "animals"."outgoingDate" >= ?)) then ? else ? end AS "dead", case when "fates".alive and ("animals"."fate" = ?) then ? when not ("fates".alive) and ("animals"."deathDate" >= ? or "animals"."outgoingDate" >= ?) then ? else ? end AS "used" from "animals" inner join "fates" on "fates"."id" = "animals"."fate" where not ("animals"."deleted")) "a" on cast("a"."project" as bigint) = "licenses"."id" inner join "species" on "species"."id" = "a"."species" where not ("groups"."deleted") group by "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" order by "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 24 11 2 1s539ms 769ms 12 4 3s103ms 775ms 14 4 3s56ms 764ms 15 2 1s532ms 766ms 16 2 1s536ms 768ms 17 4 3s53ms 763ms 18 2 1s527ms 763ms 19 2 1s520ms 760ms [ User: labanimal - Total duration: 16s869ms - Times executed: 22 ]
[ Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt - Total duration: 16s869ms - Times executed: 22 ]
-
SELECT "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", SUM(a."alive") AS "alive", SUM(a."dead") AS "dead", SUM(a."leftalive") AS "leftalive", SUM(a."alive" + a."used" + a."leftalive") AS "total", SUM(a."used") AS "used" FROM "groups" INNER JOIN "licenses" ON "licenses"."workgroup" = "groups"."id" AND NOT ("licenses"."deleted") AND licenses.proposed_end >= '2026-01-01'::date AND licenses.proposed_start <= '2026-12-31'::date INNER JOIN ( SELECT "animals"."animalID", "animals"."project", "animals"."species", CASE WHEN "fates".alive AND ("animals"."fate" = 6) THEN 1 ELSE 0 END AS "leftalive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 1 ELSE 0 END AS "alive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND (("animals"."deathDate" IS NOT NULL AND "animals"."deathDate" >= '2026-01-01' AND "animals"."deathDate" >= '2010-04-01') OR ("animals"."outgoingDate" IS NOT NULL AND "animals"."outgoingDate" >= '2026-01-01' AND "animals"."outgoingDate" >= '2010-04-01')) THEN 1 ELSE 0 END AS "dead", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND ("animals"."deathDate" >= '2010-04-01' OR "animals"."outgoingDate" >= '2010-04-01') THEN 1 ELSE 0 END AS "used" FROM "animals" INNER JOIN "fates" ON "fates"."id" = "animals"."fate" WHERE NOT ("animals"."deleted")) "a" ON CAST("a"."project" AS bigint) = "licenses"."id" INNER JOIN "species" ON "species"."id" = "a"."species" WHERE NOT ("groups"."deleted") GROUP BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" ORDER BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";
Date: 2026-04-24 11:25:46 Duration: 784ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
SELECT "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", SUM(a."alive") AS "alive", SUM(a."dead") AS "dead", SUM(a."leftalive") AS "leftalive", SUM(a."alive" + a."used" + a."leftalive") AS "total", SUM(a."used") AS "used" FROM "groups" INNER JOIN "licenses" ON "licenses"."workgroup" = "groups"."id" AND NOT ("licenses"."deleted") AND licenses.proposed_end >= '2026-01-01'::date AND licenses.proposed_start <= '2026-12-31'::date INNER JOIN ( SELECT "animals"."animalID", "animals"."project", "animals"."species", CASE WHEN "fates".alive AND ("animals"."fate" = 6) THEN 1 ELSE 0 END AS "leftalive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 1 ELSE 0 END AS "alive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND (("animals"."deathDate" IS NOT NULL AND "animals"."deathDate" >= '2026-01-01' AND "animals"."deathDate" >= '2010-04-01') OR ("animals"."outgoingDate" IS NOT NULL AND "animals"."outgoingDate" >= '2026-01-01' AND "animals"."outgoingDate" >= '2010-04-01')) THEN 1 ELSE 0 END AS "dead", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND ("animals"."deathDate" >= '2010-04-01' OR "animals"."outgoingDate" >= '2010-04-01') THEN 1 ELSE 0 END AS "used" FROM "animals" INNER JOIN "fates" ON "fates"."id" = "animals"."fate" WHERE NOT ("animals"."deleted")) "a" ON CAST("a"."project" AS bigint) = "licenses"."id" INNER JOIN "species" ON "species"."id" = "a"."species" WHERE NOT ("groups"."deleted") GROUP BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" ORDER BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";
Date: 2026-04-24 15:08:53 Duration: 778ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
SELECT "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", SUM(a."alive") AS "alive", SUM(a."dead") AS "dead", SUM(a."leftalive") AS "leftalive", SUM(a."alive" + a."used" + a."leftalive") AS "total", SUM(a."used") AS "used" FROM "groups" INNER JOIN "licenses" ON "licenses"."workgroup" = "groups"."id" AND NOT ("licenses"."deleted") AND licenses.proposed_end >= '2026-01-01'::date AND licenses.proposed_start <= '2026-12-31'::date INNER JOIN ( SELECT "animals"."animalID", "animals"."project", "animals"."species", CASE WHEN "fates".alive AND ("animals"."fate" = 6) THEN 1 ELSE 0 END AS "leftalive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 1 ELSE 0 END AS "alive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND (("animals"."deathDate" IS NOT NULL AND "animals"."deathDate" >= '2026-01-01' AND "animals"."deathDate" >= '2010-04-01') OR ("animals"."outgoingDate" IS NOT NULL AND "animals"."outgoingDate" >= '2026-01-01' AND "animals"."outgoingDate" >= '2010-04-01')) THEN 1 ELSE 0 END AS "dead", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND ("animals"."deathDate" >= '2010-04-01' OR "animals"."outgoingDate" >= '2010-04-01') THEN 1 ELSE 0 END AS "used" FROM "animals" INNER JOIN "fates" ON "fates"."id" = "animals"."fate" WHERE NOT ("animals"."deleted")) "a" ON CAST("a"."project" AS bigint) = "licenses"."id" INNER JOIN "species" ON "species"."id" = "a"."species" WHERE NOT ("groups"."deleted") GROUP BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" ORDER BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";
Date: 2026-04-24 10:01:11 Duration: 778ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
20 16s317ms 13 812ms 2s525ms 1s255ms 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 #20
Day Hour Count Duration Avg duration Apr 24 11 2 3s631ms 1s815ms 12 2 2s143ms 1s71ms 14 2 2s144ms 1s72ms 15 1 933ms 933ms 16 2 3s536ms 1s768ms 17 2 2s25ms 1s12ms 18 1 812ms 812ms 19 1 1s91ms 1s91ms [ User: labanimal - Total duration: 16s317ms - Times executed: 13 ]
[ Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Total duration: 11s331ms - Times executed: 11 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 4s986ms - 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, 530) THEN TRUE WHEN user_is_tgm (dam.editor, 530) THEN TRUE WHEN user_is_tgm (dam.tourist, 530) 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, 530) THEN TRUE WHEN user_is_tgm (sire.editor, 530) THEN TRUE WHEN user_is_tgm (sire.tourist, 530) 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-24 10:07:17 Duration: 2s525ms 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-24_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, 10100224) THEN TRUE WHEN user_is_tgm (dam.editor, 10100224) THEN TRUE WHEN user_is_tgm (dam.tourist, 10100224) 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, 10100224) THEN TRUE WHEN user_is_tgm (sire.editor, 10100224) THEN TRUE WHEN user_is_tgm (sire.tourist, 10100224) 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-24 15:29:02 Duration: 2s460ms 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-24_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-24 10:00:52 Duration: 1s105ms 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-24_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 1h42m20s 508ms 31s284ms 4s264ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m40s 1s676ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m20s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
2 1,440 1h42m20s 508ms 31s284ms 4s264ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m40s 1s676ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m20s - Times executed: 1436 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
3 1,440 1h42m20s 508ms 31s284ms 4s264ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m40s 1s676ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m20s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
4 1,440 1h42m9s 508ms 31s284ms 4s256ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
5 1,440 1h42m9s 508ms 31s284ms 4s256ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
6 1,440 1h42m9s 508ms 31s284ms 4s256ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
7 1,440 1h42m9s 508ms 31s284ms 4s256ms 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 #7
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
8 1,440 1h42m9s 508ms 31s284ms 4s256ms create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
9 1,440 1h42m9s 508ms 31s284ms 4s256ms create schema if not exists observability;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
10 1,440 1h42m9s 508ms 31s284ms 4s256ms create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
11 1,440 1h42m9s 508ms 31s284ms 4s256ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
12 1,440 1h42m9s 508ms 31s284ms 4s256ms 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 #12
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
13 1,440 1h42m9s 508ms 31s284ms 4s256ms 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 #13
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
14 1,440 1h42m9s 508ms 31s284ms 4s256ms 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
15 1,440 1h42m9s 508ms 31s284ms 4s256ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
16 1,440 1h42m9s 508ms 31s284ms 4s256ms 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 #16
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
17 1,440 1h42m9s 508ms 31s284ms 4s256ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
18 235 25m55s 3s510ms 53s627ms 6s617ms 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 24 01 2 15s439ms 7s719ms 10 22 2m24s 6s549ms 11 12 52s967ms 4s413ms 12 22 1m29s 4s67ms 13 30 3m37s 7s260ms 14 13 1m45s 8s92ms 15 2 8s548ms 4s274ms 16 17 1m9s 4s78ms 17 10 41s98ms 4s109ms 18 12 48s493ms 4s41ms 19 26 1m58s 4s570ms 20 14 51s154ms 3s653ms 21 11 39s774ms 3s615ms 22 12 43s864ms 3s655ms 23 17 4m30s 15s898ms 00 13 3m58s 18s360ms [ User: labanimal - Total duration: 25m55s - Times executed: 235 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:38:11+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:11+02' AND '2026-04-24 22:38:11+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:11+02' AND '2026-04-24 22:38:11+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-24 22:39:05 Duration: 53s627ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:38:58+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:58+02' AND '2026-04-24 22:38:58+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:58+02' AND '2026-04-24 22:38:58+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-24 22:39:29 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:53:11+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:53:11+02' AND '2026-04-24 22:53:11+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:53:11+02' AND '2026-04-24 22:53:11+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-24 22:53:42 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
19 22 16s869ms 754ms 784ms 766ms select "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", sum(a."alive") AS "alive", sum(a."dead") AS "dead", sum(a."leftalive") AS "leftalive", sum(a."alive" + a."used" + a."leftalive") AS "total", sum(a."used") AS "used" from "groups" inner join "licenses" on "licenses"."workgroup" = "groups"."id" and not ("licenses"."deleted") and licenses.proposed_end >= ?::date and licenses.proposed_start <= ?::date inner join ( select "animals"."animalID", "animals"."project", "animals"."species", case when "fates".alive and ("animals"."fate" = ?) then ? else ? end AS "leftalive", case when "fates".alive and ("animals"."fate" = ?) then ? else ? end AS "alive", case when "fates".alive and ("animals"."fate" = ?) then ? when not ("fates".alive) and (("animals"."deathDate" is not null and "animals"."deathDate" >= ? and "animals"."deathDate" >= ?) or ("animals"."outgoingDate" is not null and "animals"."outgoingDate" >= ? and "animals"."outgoingDate" >= ?)) then ? else ? end AS "dead", case when "fates".alive and ("animals"."fate" = ?) then ? when not ("fates".alive) and ("animals"."deathDate" >= ? or "animals"."outgoingDate" >= ?) then ? else ? end AS "used" from "animals" inner join "fates" on "fates"."id" = "animals"."fate" where not ("animals"."deleted")) "a" on cast("a"."project" as bigint) = "licenses"."id" inner join "species" on "species"."id" = "a"."species" where not ("groups"."deleted") group by "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" order by "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 24 11 2 1s539ms 769ms 12 4 3s103ms 775ms 14 4 3s56ms 764ms 15 2 1s532ms 766ms 16 2 1s536ms 768ms 17 4 3s53ms 763ms 18 2 1s527ms 763ms 19 2 1s520ms 760ms [ User: labanimal - Total duration: 16s869ms - Times executed: 22 ]
[ Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt - Total duration: 16s869ms - Times executed: 22 ]
-
SELECT "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", SUM(a."alive") AS "alive", SUM(a."dead") AS "dead", SUM(a."leftalive") AS "leftalive", SUM(a."alive" + a."used" + a."leftalive") AS "total", SUM(a."used") AS "used" FROM "groups" INNER JOIN "licenses" ON "licenses"."workgroup" = "groups"."id" AND NOT ("licenses"."deleted") AND licenses.proposed_end >= '2026-01-01'::date AND licenses.proposed_start <= '2026-12-31'::date INNER JOIN ( SELECT "animals"."animalID", "animals"."project", "animals"."species", CASE WHEN "fates".alive AND ("animals"."fate" = 6) THEN 1 ELSE 0 END AS "leftalive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 1 ELSE 0 END AS "alive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND (("animals"."deathDate" IS NOT NULL AND "animals"."deathDate" >= '2026-01-01' AND "animals"."deathDate" >= '2010-04-01') OR ("animals"."outgoingDate" IS NOT NULL AND "animals"."outgoingDate" >= '2026-01-01' AND "animals"."outgoingDate" >= '2010-04-01')) THEN 1 ELSE 0 END AS "dead", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND ("animals"."deathDate" >= '2010-04-01' OR "animals"."outgoingDate" >= '2010-04-01') THEN 1 ELSE 0 END AS "used" FROM "animals" INNER JOIN "fates" ON "fates"."id" = "animals"."fate" WHERE NOT ("animals"."deleted")) "a" ON CAST("a"."project" AS bigint) = "licenses"."id" INNER JOIN "species" ON "species"."id" = "a"."species" WHERE NOT ("groups"."deleted") GROUP BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" ORDER BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";
Date: 2026-04-24 11:25:46 Duration: 784ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
SELECT "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", SUM(a."alive") AS "alive", SUM(a."dead") AS "dead", SUM(a."leftalive") AS "leftalive", SUM(a."alive" + a."used" + a."leftalive") AS "total", SUM(a."used") AS "used" FROM "groups" INNER JOIN "licenses" ON "licenses"."workgroup" = "groups"."id" AND NOT ("licenses"."deleted") AND licenses.proposed_end >= '2026-01-01'::date AND licenses.proposed_start <= '2026-12-31'::date INNER JOIN ( SELECT "animals"."animalID", "animals"."project", "animals"."species", CASE WHEN "fates".alive AND ("animals"."fate" = 6) THEN 1 ELSE 0 END AS "leftalive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 1 ELSE 0 END AS "alive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND (("animals"."deathDate" IS NOT NULL AND "animals"."deathDate" >= '2026-01-01' AND "animals"."deathDate" >= '2010-04-01') OR ("animals"."outgoingDate" IS NOT NULL AND "animals"."outgoingDate" >= '2026-01-01' AND "animals"."outgoingDate" >= '2010-04-01')) THEN 1 ELSE 0 END AS "dead", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND ("animals"."deathDate" >= '2010-04-01' OR "animals"."outgoingDate" >= '2010-04-01') THEN 1 ELSE 0 END AS "used" FROM "animals" INNER JOIN "fates" ON "fates"."id" = "animals"."fate" WHERE NOT ("animals"."deleted")) "a" ON CAST("a"."project" AS bigint) = "licenses"."id" INNER JOIN "species" ON "species"."id" = "a"."species" WHERE NOT ("groups"."deleted") GROUP BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" ORDER BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";
Date: 2026-04-24 15:08:53 Duration: 778ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
SELECT "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", SUM(a."alive") AS "alive", SUM(a."dead") AS "dead", SUM(a."leftalive") AS "leftalive", SUM(a."alive" + a."used" + a."leftalive") AS "total", SUM(a."used") AS "used" FROM "groups" INNER JOIN "licenses" ON "licenses"."workgroup" = "groups"."id" AND NOT ("licenses"."deleted") AND licenses.proposed_end >= '2026-01-01'::date AND licenses.proposed_start <= '2026-12-31'::date INNER JOIN ( SELECT "animals"."animalID", "animals"."project", "animals"."species", CASE WHEN "fates".alive AND ("animals"."fate" = 6) THEN 1 ELSE 0 END AS "leftalive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 1 ELSE 0 END AS "alive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND (("animals"."deathDate" IS NOT NULL AND "animals"."deathDate" >= '2026-01-01' AND "animals"."deathDate" >= '2010-04-01') OR ("animals"."outgoingDate" IS NOT NULL AND "animals"."outgoingDate" >= '2026-01-01' AND "animals"."outgoingDate" >= '2010-04-01')) THEN 1 ELSE 0 END AS "dead", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND ("animals"."deathDate" >= '2010-04-01' OR "animals"."outgoingDate" >= '2010-04-01') THEN 1 ELSE 0 END AS "used" FROM "animals" INNER JOIN "fates" ON "fates"."id" = "animals"."fate" WHERE NOT ("animals"."deleted")) "a" ON CAST("a"."project" AS bigint) = "licenses"."id" INNER JOIN "species" ON "species"."id" = "a"."species" WHERE NOT ("groups"."deleted") GROUP BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" ORDER BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";
Date: 2026-04-24 10:01:11 Duration: 778ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
20 19 12s508ms 640ms 699ms 658ms with matching_roots as ( select tk.id, case when tk.deadline is null then null else tk.deadline::date end as deadline_date, case when tk.time_issued is null then null else tk.time_issued::date end as issued_date, case when tk.time_completed is null then null else tk.time_completed::date end as completed_date from tasks tk where not (tk.deleted) and (( case when tk.task_status::text = ? and tk.time_completed is not null then tk.time_completed::date when tk.deadline is not null then tk.deadline::date when tk.time_issued is not null then tk.time_issued::date else null end) is not null and ( case when tk.task_status::text = ? and tk.time_completed is not null then tk.time_completed::date when tk.deadline is not null then tk.deadline::date when tk.time_issued is not null then tk.time_issued::date else null end) >= ?::date and ( case when tk.task_status::text = ? and tk.time_completed is not null then tk.time_completed::date when tk.deadline is not null then tk.deadline::date when tk.time_issued is not null then tk.time_issued::date else null end) <= ?::date) and tk.parent is null ), series as ( select dd::date as day from generate_series(?::date, ?::date, interval ?) dd ) select to_char(series.day, ?) as day, count(mr.id) filter (where mr.issued_date = series.day) as issued_count, count(mr.id) filter (where mr.completed_date = series.day) as completed_count, count(mr.id) filter (where mr.deadline_date = series.day) as due_count from series left join matching_roots mr on true group by series.day order by series.day;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 24 17 7 4s612ms 658ms 18 11 7s246ms 658ms 19 1 649ms 649ms [ User: labanimal - Total duration: 12s508ms - Times executed: 19 ]
[ Application: _desktop_index.php_command_tasks_subcommand_overview_zemm_produ - Total duration: 11s210ms - Times executed: 17 ]
[ Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Total duration: 1s298ms - Times executed: 2 ]
-
WITH matching_roots AS ( SELECT tk.id, CASE WHEN tk.deadline IS NULL THEN NULL ELSE tk.deadline::date END AS deadline_date, CASE WHEN tk.time_issued IS NULL THEN NULL ELSE tk.time_issued::date END AS issued_date, CASE WHEN tk.time_completed IS NULL THEN NULL ELSE tk.time_completed::date END AS completed_date FROM tasks tk WHERE NOT (tk.deleted) AND (( CASE WHEN tk.task_status::text = '5' AND tk.time_completed IS NOT NULL THEN tk.time_completed::date WHEN tk.deadline IS NOT NULL THEN tk.deadline::date WHEN tk.time_issued IS NOT NULL THEN tk.time_issued::date ELSE NULL END) IS NOT NULL AND ( CASE WHEN tk.task_status::text = '5' AND tk.time_completed IS NOT NULL THEN tk.time_completed::date WHEN tk.deadline IS NOT NULL THEN tk.deadline::date WHEN tk.time_issued IS NOT NULL THEN tk.time_issued::date ELSE NULL END) >= '2025-04-24'::date AND ( CASE WHEN tk.task_status::text = '5' AND tk.time_completed IS NOT NULL THEN tk.time_completed::date WHEN tk.deadline IS NOT NULL THEN tk.deadline::date WHEN tk.time_issued IS NOT NULL THEN tk.time_issued::date ELSE NULL END) <= '2026-04-24'::date) AND tk.parent IS NULL ), series AS ( SELECT dd::date AS day FROM generate_series('2025-04-24'::date, '2026-04-24'::date, interval '1 day') dd ) SELECT TO_CHAR(series.day, 'YYYY-MM-DD') AS day, COUNT(mr.id) FILTER (WHERE mr.issued_date = series.day) AS issued_count, COUNT(mr.id) FILTER (WHERE mr.completed_date = series.day) AS completed_count, COUNT(mr.id) FILTER (WHERE mr.deadline_date = series.day) AS due_count FROM series LEFT JOIN matching_roots mr ON TRUE GROUP BY series.day ORDER BY series.day;
Date: 2026-04-24 16:59:05 Duration: 699ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_tasks_subcommand_overview_zemm_produ Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
WITH matching_roots AS ( SELECT tk.id, CASE WHEN tk.deadline IS NULL THEN NULL ELSE tk.deadline::date END AS deadline_date, CASE WHEN tk.time_issued IS NULL THEN NULL ELSE tk.time_issued::date END AS issued_date, CASE WHEN tk.time_completed IS NULL THEN NULL ELSE tk.time_completed::date END AS completed_date FROM tasks tk WHERE NOT (tk.deleted) AND (( CASE WHEN tk.task_status::text = '5' AND tk.time_completed IS NOT NULL THEN tk.time_completed::date WHEN tk.deadline IS NOT NULL THEN tk.deadline::date WHEN tk.time_issued IS NOT NULL THEN tk.time_issued::date ELSE NULL END) IS NOT NULL AND ( CASE WHEN tk.task_status::text = '5' AND tk.time_completed IS NOT NULL THEN tk.time_completed::date WHEN tk.deadline IS NOT NULL THEN tk.deadline::date WHEN tk.time_issued IS NOT NULL THEN tk.time_issued::date ELSE NULL END) >= '2025-04-24'::date AND ( CASE WHEN tk.task_status::text = '5' AND tk.time_completed IS NOT NULL THEN tk.time_completed::date WHEN tk.deadline IS NOT NULL THEN tk.deadline::date WHEN tk.time_issued IS NOT NULL THEN tk.time_issued::date ELSE NULL END) <= '2026-04-24'::date) AND tk.parent IS NULL ), series AS ( SELECT dd::date AS day FROM generate_series('2025-04-24'::date, '2026-04-24'::date, interval '1 day') dd ) SELECT TO_CHAR(series.day, 'YYYY-MM-DD') AS day, COUNT(mr.id) FILTER (WHERE mr.issued_date = series.day) AS issued_count, COUNT(mr.id) FILTER (WHERE mr.completed_date = series.day) AS completed_count, COUNT(mr.id) FILTER (WHERE mr.deadline_date = series.day) AS due_count FROM series LEFT JOIN matching_roots mr ON TRUE GROUP BY series.day ORDER BY series.day;
Date: 2026-04-24 17:08:20 Duration: 695ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_tasks_subcommand_overview_zemm_produ Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
WITH matching_roots AS ( SELECT tk.id, CASE WHEN tk.deadline IS NULL THEN NULL ELSE tk.deadline::date END AS deadline_date, CASE WHEN tk.time_issued IS NULL THEN NULL ELSE tk.time_issued::date END AS issued_date, CASE WHEN tk.time_completed IS NULL THEN NULL ELSE tk.time_completed::date END AS completed_date FROM tasks tk WHERE NOT (tk.deleted) AND (( CASE WHEN tk.task_status::text = '5' AND tk.time_completed IS NOT NULL THEN tk.time_completed::date WHEN tk.deadline IS NOT NULL THEN tk.deadline::date WHEN tk.time_issued IS NOT NULL THEN tk.time_issued::date ELSE NULL END) IS NOT NULL AND ( CASE WHEN tk.task_status::text = '5' AND tk.time_completed IS NOT NULL THEN tk.time_completed::date WHEN tk.deadline IS NOT NULL THEN tk.deadline::date WHEN tk.time_issued IS NOT NULL THEN tk.time_issued::date ELSE NULL END) >= '2025-04-24'::date AND ( CASE WHEN tk.task_status::text = '5' AND tk.time_completed IS NOT NULL THEN tk.time_completed::date WHEN tk.deadline IS NOT NULL THEN tk.deadline::date WHEN tk.time_issued IS NOT NULL THEN tk.time_issued::date ELSE NULL END) <= '2026-04-24'::date) AND tk.parent IS NULL ), series AS ( SELECT dd::date AS day FROM generate_series('2025-04-24'::date, '2026-04-24'::date, interval '1 day') dd ) SELECT TO_CHAR(series.day, 'YYYY-MM-DD') AS day, COUNT(mr.id) FILTER (WHERE mr.issued_date = series.day) AS issued_count, COUNT(mr.id) FILTER (WHERE mr.completed_date = series.day) AS completed_count, COUNT(mr.id) FILTER (WHERE mr.deadline_date = series.day) AS due_count FROM series LEFT JOIN matching_roots mr ON TRUE GROUP BY series.day ORDER BY series.day;
Date: 2026-04-24 17:08:25 Duration: 678ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_tasks_subcommand_overview_zemm_produ Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 3s510ms 53s627ms 6s617ms 235 25m55s with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 24 01 2 15s439ms 7s719ms 10 22 2m24s 6s549ms 11 12 52s967ms 4s413ms 12 22 1m29s 4s67ms 13 30 3m37s 7s260ms 14 13 1m45s 8s92ms 15 2 8s548ms 4s274ms 16 17 1m9s 4s78ms 17 10 41s98ms 4s109ms 18 12 48s493ms 4s41ms 19 26 1m58s 4s570ms 20 14 51s154ms 3s653ms 21 11 39s774ms 3s615ms 22 12 43s864ms 3s655ms 23 17 4m30s 15s898ms 00 13 3m58s 18s360ms [ User: labanimal - Total duration: 25m55s - Times executed: 235 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:38:11+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:11+02' AND '2026-04-24 22:38:11+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:11+02' AND '2026-04-24 22:38:11+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-24 22:39:05 Duration: 53s627ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:38:58+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:58+02' AND '2026-04-24 22:38:58+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:38:58+02' AND '2026-04-24 22:38:58+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-24 22:39:29 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at <= '2026-04-24 10:53:11+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:53:11+02' AND '2026-04-24 22:53:11+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'test', 'dev') AND collected_at BETWEEN '2026-04-24 10:53:11+02' AND '2026-04-24 22:53:11+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-24 22:53:42 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
2 508ms 31s284ms 4s264ms 1,440 1h42m20s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m40s 1s676ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m20s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
3 508ms 31s284ms 4s264ms 1,440 1h42m20s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m40s 1s676ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m20s - Times executed: 1436 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
4 508ms 31s284ms 4s264ms 1,440 1h42m20s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m40s 1s676ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m20s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
5 508ms 31s284ms 4s256ms 1,440 1h42m9s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
6 508ms 31s284ms 4s256ms 1,440 1h42m9s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
7 508ms 31s284ms 4s256ms 1,440 1h42m9s create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
8 508ms 31s284ms 4s256ms 1,440 1h42m9s 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 #8
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
9 508ms 31s284ms 4s256ms 1,440 1h42m9s create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
10 508ms 31s284ms 4s256ms 1,440 1h42m9s create schema if not exists observability;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
11 508ms 31s284ms 4s256ms 1,440 1h42m9s create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
12 508ms 31s284ms 4s256ms 1,440 1h42m9s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
13 508ms 31s284ms 4s256ms 1,440 1h42m9s 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
14 508ms 31s284ms 4s256ms 1,440 1h42m9s 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 #14
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
15 508ms 31s284ms 4s256ms 1,440 1h42m9s 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 #15
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
16 508ms 31s284ms 4s256ms 1,440 1h42m9s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
17 508ms 31s284ms 4s256ms 1,440 1h42m9s 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 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
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-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
18 508ms 31s284ms 4s256ms 1,440 1h42m9s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 24 01 60 7m11s 7s188ms 02 60 4m34s 4s573ms 03 60 1m13s 1s232ms 04 60 1m13s 1s232ms 05 60 1m13s 1s232ms 06 60 1m13s 1s232ms 07 60 1m6s 1s110ms 08 60 55s911ms 931ms 09 60 48s331ms 805ms 10 60 1m29s 1s497ms 11 60 2m55s 2s926ms 12 60 3m32s 3s537ms 13 60 7m48s 7s811ms 14 60 6m48s 6s810ms 15 60 2m5s 2s92ms 16 60 3m18s 3s315ms 17 60 3m20s 3s347ms 18 60 3m28s 3s468ms 19 60 3m45s 3s763ms 20 60 3m27s 3s453ms 21 60 3m36s 3s614ms 22 60 3m39s 3s657ms 23 60 12m58s 12s980ms 00 60 20m20s 20s342ms [ User: labanimal - Total duration: 1h42m9s - Times executed: 1436 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-24 22:43:01 Duration: 31s284ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-24 22:58:01 Duration: 30s942ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-24 23:13:01 Duration: 30s870ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
19 812ms 2s525ms 1s255ms 13 16s317ms 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 24 11 2 3s631ms 1s815ms 12 2 2s143ms 1s71ms 14 2 2s144ms 1s72ms 15 1 933ms 933ms 16 2 3s536ms 1s768ms 17 2 2s25ms 1s12ms 18 1 812ms 812ms 19 1 1s91ms 1s91ms [ User: labanimal - Total duration: 16s317ms - Times executed: 13 ]
[ Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Total duration: 11s331ms - Times executed: 11 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 4s986ms - 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, 530) THEN TRUE WHEN user_is_tgm (dam.editor, 530) THEN TRUE WHEN user_is_tgm (dam.tourist, 530) 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, 530) THEN TRUE WHEN user_is_tgm (sire.editor, 530) THEN TRUE WHEN user_is_tgm (sire.tourist, 530) 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-24 10:07:17 Duration: 2s525ms 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-24_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, 10100224) THEN TRUE WHEN user_is_tgm (dam.editor, 10100224) THEN TRUE WHEN user_is_tgm (dam.tourist, 10100224) 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, 10100224) THEN TRUE WHEN user_is_tgm (sire.editor, 10100224) THEN TRUE WHEN user_is_tgm (sire.tourist, 10100224) 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-24 15:29:02 Duration: 2s460ms 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-24_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-24 10:00:52 Duration: 1s105ms 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-24_000000.csv
20 754ms 784ms 766ms 22 16s869ms select "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", sum(a."alive") AS "alive", sum(a."dead") AS "dead", sum(a."leftalive") AS "leftalive", sum(a."alive" + a."used" + a."leftalive") AS "total", sum(a."used") AS "used" from "groups" inner join "licenses" on "licenses"."workgroup" = "groups"."id" and not ("licenses"."deleted") and licenses.proposed_end >= ?::date and licenses.proposed_start <= ?::date inner join ( select "animals"."animalID", "animals"."project", "animals"."species", case when "fates".alive and ("animals"."fate" = ?) then ? else ? end AS "leftalive", case when "fates".alive and ("animals"."fate" = ?) then ? else ? end AS "alive", case when "fates".alive and ("animals"."fate" = ?) then ? when not ("fates".alive) and (("animals"."deathDate" is not null and "animals"."deathDate" >= ? and "animals"."deathDate" >= ?) or ("animals"."outgoingDate" is not null and "animals"."outgoingDate" >= ? and "animals"."outgoingDate" >= ?)) then ? else ? end AS "dead", case when "fates".alive and ("animals"."fate" = ?) then ? when not ("fates".alive) and ("animals"."deathDate" >= ? or "animals"."outgoingDate" >= ?) then ? else ? end AS "used" from "animals" inner join "fates" on "fates"."id" = "animals"."fate" where not ("animals"."deleted")) "a" on cast("a"."project" as bigint) = "licenses"."id" inner join "species" on "species"."id" = "a"."species" where not ("groups"."deleted") group by "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" order by "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 24 11 2 1s539ms 769ms 12 4 3s103ms 775ms 14 4 3s56ms 764ms 15 2 1s532ms 766ms 16 2 1s536ms 768ms 17 4 3s53ms 763ms 18 2 1s527ms 763ms 19 2 1s520ms 760ms [ User: labanimal - Total duration: 16s869ms - Times executed: 22 ]
[ Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt - Total duration: 16s869ms - Times executed: 22 ]
-
SELECT "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", SUM(a."alive") AS "alive", SUM(a."dead") AS "dead", SUM(a."leftalive") AS "leftalive", SUM(a."alive" + a."used" + a."leftalive") AS "total", SUM(a."used") AS "used" FROM "groups" INNER JOIN "licenses" ON "licenses"."workgroup" = "groups"."id" AND NOT ("licenses"."deleted") AND licenses.proposed_end >= '2026-01-01'::date AND licenses.proposed_start <= '2026-12-31'::date INNER JOIN ( SELECT "animals"."animalID", "animals"."project", "animals"."species", CASE WHEN "fates".alive AND ("animals"."fate" = 6) THEN 1 ELSE 0 END AS "leftalive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 1 ELSE 0 END AS "alive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND (("animals"."deathDate" IS NOT NULL AND "animals"."deathDate" >= '2026-01-01' AND "animals"."deathDate" >= '2010-04-01') OR ("animals"."outgoingDate" IS NOT NULL AND "animals"."outgoingDate" >= '2026-01-01' AND "animals"."outgoingDate" >= '2010-04-01')) THEN 1 ELSE 0 END AS "dead", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND ("animals"."deathDate" >= '2010-04-01' OR "animals"."outgoingDate" >= '2010-04-01') THEN 1 ELSE 0 END AS "used" FROM "animals" INNER JOIN "fates" ON "fates"."id" = "animals"."fate" WHERE NOT ("animals"."deleted")) "a" ON CAST("a"."project" AS bigint) = "licenses"."id" INNER JOIN "species" ON "species"."id" = "a"."species" WHERE NOT ("groups"."deleted") GROUP BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" ORDER BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";
Date: 2026-04-24 11:25:46 Duration: 784ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
SELECT "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", SUM(a."alive") AS "alive", SUM(a."dead") AS "dead", SUM(a."leftalive") AS "leftalive", SUM(a."alive" + a."used" + a."leftalive") AS "total", SUM(a."used") AS "used" FROM "groups" INNER JOIN "licenses" ON "licenses"."workgroup" = "groups"."id" AND NOT ("licenses"."deleted") AND licenses.proposed_end >= '2026-01-01'::date AND licenses.proposed_start <= '2026-12-31'::date INNER JOIN ( SELECT "animals"."animalID", "animals"."project", "animals"."species", CASE WHEN "fates".alive AND ("animals"."fate" = 6) THEN 1 ELSE 0 END AS "leftalive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 1 ELSE 0 END AS "alive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND (("animals"."deathDate" IS NOT NULL AND "animals"."deathDate" >= '2026-01-01' AND "animals"."deathDate" >= '2010-04-01') OR ("animals"."outgoingDate" IS NOT NULL AND "animals"."outgoingDate" >= '2026-01-01' AND "animals"."outgoingDate" >= '2010-04-01')) THEN 1 ELSE 0 END AS "dead", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND ("animals"."deathDate" >= '2010-04-01' OR "animals"."outgoingDate" >= '2010-04-01') THEN 1 ELSE 0 END AS "used" FROM "animals" INNER JOIN "fates" ON "fates"."id" = "animals"."fate" WHERE NOT ("animals"."deleted")) "a" ON CAST("a"."project" AS bigint) = "licenses"."id" INNER JOIN "species" ON "species"."id" = "a"."species" WHERE NOT ("groups"."deleted") GROUP BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" ORDER BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";
Date: 2026-04-24 15:08:53 Duration: 778ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
-
SELECT "groups"."name" AS "group", "licenses"."permission" AS "permission", "licenses"."allowances" AS "allowances", "species"."commonName" AS "species", "a"."species" AS "species_code", SUM(a."alive") AS "alive", SUM(a."dead") AS "dead", SUM(a."leftalive") AS "leftalive", SUM(a."alive" + a."used" + a."leftalive") AS "total", SUM(a."used") AS "used" FROM "groups" INNER JOIN "licenses" ON "licenses"."workgroup" = "groups"."id" AND NOT ("licenses"."deleted") AND licenses.proposed_end >= '2026-01-01'::date AND licenses.proposed_start <= '2026-12-31'::date INNER JOIN ( SELECT "animals"."animalID", "animals"."project", "animals"."species", CASE WHEN "fates".alive AND ("animals"."fate" = 6) THEN 1 ELSE 0 END AS "leftalive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 1 ELSE 0 END AS "alive", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND (("animals"."deathDate" IS NOT NULL AND "animals"."deathDate" >= '2026-01-01' AND "animals"."deathDate" >= '2010-04-01') OR ("animals"."outgoingDate" IS NOT NULL AND "animals"."outgoingDate" >= '2026-01-01' AND "animals"."outgoingDate" >= '2010-04-01')) THEN 1 ELSE 0 END AS "dead", CASE WHEN "fates".alive AND ("animals"."fate" = 5) THEN 0 WHEN NOT ("fates".alive) AND ("animals"."deathDate" >= '2010-04-01' OR "animals"."outgoingDate" >= '2010-04-01') THEN 1 ELSE 0 END AS "used" FROM "animals" INNER JOIN "fates" ON "fates"."id" = "animals"."fate" WHERE NOT ("animals"."deleted")) "a" ON CAST("a"."project" AS bigint) = "licenses"."id" INNER JOIN "species" ON "species"."id" = "a"."species" WHERE NOT ("groups"."deleted") GROUP BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species" ORDER BY "groups"."name", "licenses"."permission", "species"."commonName", "licenses"."allowances", "a"."species";
Date: 2026-04-24 10:01:11 Duration: 778ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_command_reports_subcommand_init_zemm_produkt Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-24_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
- 166,316 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 2 FATAL entries
- 32 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 13 Max number of times the same event was reported
- 34 Total events found
Rank Times reported Error 1 13 ERROR: syntax error at or near "..."
Times Reported Most Frequent Error / Event #1
Day Hour Count Apr 24 11 5 12 8 - ERROR: syntax error at or near "bday"
- ERROR: syntax error at or near "bday"
- ERROR: syntax error at or near "bday"
Statement: SELECT * FROM litters_search_mview l WHERE NOT(deleted) AND CASE WHEN user_is_tgm(l.owner, 142) THEN TRUE WHEN user_is_tgm(l.editor, 142) THEN TRUE WHEN user_is_tgm(l.tourist, 142) THEN TRUE ELSE FALSE END bday <= '2026-04-06' AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '48%' ORDER BY bday DESC, dam_name, sire_name
Date: 2026-04-24 10:19:03 Database: zemm_produktiv_8 Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
Statement: SELECT * FROM litters_search_mview l WHERE NOT(deleted) AND CASE WHEN user_is_tgm(l.owner, 142) THEN TRUE WHEN user_is_tgm(l.editor, 142) THEN TRUE WHEN user_is_tgm(l.tourist, 142) THEN TRUE ELSE FALSE END bday <= '2026-04-06' AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '48%' ORDER BY bday DESC, dam_name, sire_name
Date: 2026-04-24 10:19:19 Database: zemm_produktiv_8 Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
Statement: SELECT * FROM litters_search_mview l WHERE NOT(deleted) AND CASE WHEN user_is_tgm(l.owner, 142) THEN TRUE WHEN user_is_tgm(l.editor, 142) THEN TRUE WHEN user_is_tgm(l.tourist, 142) THEN TRUE ELSE FALSE END bday <= '2026-04-06' AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '48%' ORDER BY bday DESC, dam_name, sire_name
Date: 2026-04-24 10:19:37 Database: zemm_produktiv_8 Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
2 10 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #2
Day Hour Count Apr 24 10 1 13 2 14 3 19 4 - ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
- ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
- ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(test, http_requests_total, 2026-04-24 09:45:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-04-24 09:45:05 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(test, http_requests_total, 2026-04-24 12:22:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-04-24 12:22:35 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(test, http_requests_total, 2026-04-24 12:53:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-04-24 12:53:36 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
3 3 ERROR: relation "..." does not exist
Times Reported Most Frequent Error / Event #3
Day Hour Count Apr 24 14 3 - ERROR: relation "observability.app_events" does not exist
- ERROR: relation "observability.app_events" does not exist
- ERROR: relation "observability.app_events" does not exist
Statement: SELECT tenant_key, event_type, severity, COUNT(*) AS count FROM observability.app_events WHERE occurred_at BETWEEN '2026-04-24 08:34:00+00'::timestamptz AND '2026-04-24 08:36:00+00'::timestamptz GROUP BY tenant_key, event_type, severity ORDER BY count DESC, tenant_key, event_type, severity;
Date: 2026-04-24 13:53:46 Database: labanimal Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
Statement: SELECT tenant_key, event_type, severity, left(message, 80) AS message, payload->>'error_id' AS error_id, payload->>'request' AS request_path, payload->>'file' AS file, payload->>'line' AS line, to_char(occurred_at AT TIME ZONE 'Europe/Berlin', 'YYYY-MM-DD HH24:MI:SS') AS occurred_at FROM observability.app_events WHERE tenant_key = 'prod' ORDER BY occurred_at DESC LIMIT 15;
Date: 2026-04-24 13:53:46 Database: labanimal Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
Statement: SELECT tenant_key, event_type, severity, payload->>'error_id' AS error_id, payload->>'request' AS request_path, to_char(occurred_at AT TIME ZONE 'Europe/Berlin', 'YYYY-MM-DDTHH24:MI:SSOF') AS occurred_at, left(message, 120) AS message FROM observability.app_events WHERE occurred_at BETWEEN '2026-04-24 08:00:00+00'::timestamptz AND '2026-04-24 09:10:00+00'::timestamptz AND ( payload->>'error_id' = '00BF1950469141ED' OR (payload->>'request' = '/desktop/index.php' AND occurred_at BETWEEN '2026-04-24 08:34:00+00'::timestamptz AND '2026-04-24 08:36:00+00'::timestamptz) ) ORDER BY occurred_at DESC LIMIT 20;
Date: 2026-04-24 13:53:46 Database: labanimal Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
4 2 ERROR: operator does not exist: text = integer
Times Reported Most Frequent Error / Event #4
Day Hour Count Apr 24 12 2 - ERROR: operator does not exist: text = integer
- ERROR: operator does not exist: text = integer
Hint: No operator matches the given name and argument types. You might need to add explicit type casts.
Statement: SELECT count(*) AS total_tasks, count(*) FILTER (WHERE parent IS NULL) AS root_tasks, count(*) FILTER (WHERE method IS NOT NULL) AS with_method, count(*) FILTER (WHERE task_status::text = 5) AS done_tasks, count(*) FILTER (WHERE task_status::text NOT IN (5,7)) AS open_like_tasks, count(*) FILTER (WHERE active) AS active_tasks FROM tasks WHERE NOT deleted;Date: 2026-04-24 11:15:08 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
Hint: No operator matches the given name and argument types. You might need to add explicit type casts.
Statement: SELECT count(*) AS total_tasks, count(*) FILTER (WHERE parent IS NULL) AS root_tasks, count(*) FILTER (WHERE method IS NOT NULL) AS with_method, count(*) FILTER (WHERE task_status::text = 5) AS done_tasks, count(*) FILTER (WHERE task_status::text NOT IN (5,7)) AS open_like_tasks, count(*) FILTER (WHERE active) AS active_tasks FROM tasks WHERE NOT deleted;Date: 2026-04-24 11:15:32 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
5 2 FATAL: database "..." does not exist
Times Reported Most Frequent Error / Event #5
Day Hour Count Apr 24 12 2 - FATAL: database "deploy" does not exist
- FATAL: database "deploy" does not exist
Date: 2026-04-24 11:13:42 Database: deploy Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
Date: 2026-04-24 11:13:51 Database: deploy Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
6 1 ERROR: operator does not exist: character = integer
Times Reported Most Frequent Error / Event #6
Day Hour Count Apr 24 12 1 - ERROR: operator does not exist: character = integer
Hint: No operator matches the given name and argument types. You might need to add explicit type casts.
Statement: SELECT count(*) AS total_tasks, count(*) FILTER (WHERE parent IS NULL) AS root_tasks, count(*) FILTER (WHERE method IS NOT NULL) AS with_method, count(*) FILTER (WHERE task_status=5) AS done_tasks, count(*) FILTER (WHERE task_status NOT IN (5,7)) AS open_like_tasks FROM tasks WHERE NOT deleted;Date: 2026-04-24 11:14:41 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
7 1 ERROR: column "..." must appear in the GROUP BY clause or be used in an aggregate function
Times Reported Most Frequent Error / Event #7
Day Hour Count Apr 24 15 1 - ERROR: column "l.bday" must appear in the GROUP BY clause or be used in an aggregate function
Statement: SELECT COUNT(*) AS "count" FROM litters_search_mview l WHERE NOT(deleted) AND CASE WHEN user_is_tgm(l.owner, 142) THEN TRUE WHEN user_is_tgm(l.editor, 142) THEN TRUE WHEN user_is_tgm(l.tourist, 142) THEN TRUE ELSE FALSE END AND bday <= '2026-04-04' AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END) > 0 AND "cageName" LIKE '48%' ORDER BY bday DESC, dam_name, sire_name
Date: 2026-04-24 14:16:23 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
8 1 ERROR: column "..." does not exist
Times Reported Most Frequent Error / Event #8
Day Hour Count Apr 24 19 1 - ERROR: column u.login does not exist
Hint: Perhaps you meant to reference the column "u.relogin".
Statement: SELECT u.id, u.login, u.active, u.deleted, COALESCE(g.name, '') AS group_name FROM "users" u LEFT JOIN "groupMembers" gm ON gm."user" = u.id LEFT JOIN "groups" g ON g.id = gm."group" AND NOT g.deleted WHERE u.id = 452 ORDER BY g.name;Date: 2026-04-24 18:17:36 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv
9 1 ERROR: function round(...) does not exist
Times Reported Most Frequent Error / Event #9
Day Hour Count Apr 24 12 1 - ERROR: function round(double precision, integer) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Statement: WITH completed AS ( SELECT regexp_replace(lower(trim(name)), E'\\s+', ' ', 'g') AS normalized_name, EXTRACT(EPOCH FROM (time_completed - time_issued)) AS duration_seconds FROM tasks tk WHERE NOT tk.deleted AND tk.time_issued IS NOT NULL AND tk.time_completed IS NOT NULL AND tk.task_status::text = '5' AND tk.time_completed >= NOW() - INTERVAL '180 days' ) SELECT normalized_name, count(*) AS completed_count, round(avg(duration_seconds) / 86400.0, 2) AS avg_days, round(percentile_cont(0.5) WITHIN GROUP (ORDER BY duration_seconds) / 86400.0, 2) AS median_days FROM completed GROUP BY 1 HAVING count(*) >= 5 ORDER BY completed_count DESC, normalized_name ASC LIMIT 15;Date: 2026-04-24 11:16:48 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-24_000000.csv