-
Global information
- Generated on Thu Apr 30 06:06:18 2026
- Log file: /var/log/postgresql/postgresql-2026-03-25_000000.csv, ..., /var/log/postgresql/postgresql-2026-04-30_000000.csv
- Parsed 287,436 log entries in 6m17s
- Log start from 2026-04-15 00:00:01 to 2026-04-15 23:59:02
-
Overview
Global Stats
- 34 Number of unique normalized queries
- 24,628 Number of queries
- 10h19m45s Total query duration
- 2026-04-15 00:00:01 First query
- 2026-04-15 23:59:01 Last query
- 18 queries/s at 2026-04-15 13:15:01 Query peak
- 10h19m45s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 10h19m45s Execute total duration
- 2 Number of events
- 2 Number of unique normalized events
- 1 Max number of times the same event was reported
- 0 Number of cancellation
- 74 Total number of automatic vacuums
- 153 Total number of automatic analyzes
- 180 Number temporary file
- 65.41 MiB Max size of temporary file
- 50.43 MiB Average size of temporary file
- 26,450 Total number of sessions
- 8 sessions at 2026-04-15 22:09:34 Session peak
- 1h30m26s Total duration of sessions
- 205ms Average duration of sessions
- 0 Average queries per session
- 1s405ms Average queries duration per session
- 0ms Average idle time per session
- 26,450 Total number of connections
- 41 connections/s at 2026-04-15 11:27:17 Connection peak
- 2 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-04-15 13:15:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-04-15 16:52:32 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 18 queries/s Query Peak
- 2026-04-15 13:15:01 Date
Queries duration
Key values
- 10h19m45s 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 15 00 1,026 0ms 3s881ms 3s180ms 1m5s 1m8s 1m9s 01 1,022 1s141ms 3s885ms 2s540ms 1m6s 1m6s 1m8s 02 1,020 1s141ms 1s141ms 1s141ms 19s408ms 19s408ms 19s408ms 03 1,020 1s141ms 1s141ms 1s141ms 19s408ms 19s408ms 19s408ms 04 1,020 1s141ms 1s141ms 1s141ms 19s408ms 19s408ms 19s408ms 05 1,020 1s141ms 1s141ms 1s141ms 19s408ms 19s408ms 19s408ms 06 1,029 500ms 2s626ms 950ms 28s395ms 29s388ms 46s312ms 07 1,021 597ms 3s873ms 2s346ms 1m5s 1m5s 1m5s 08 1,031 590ms 3s873ms 2s936ms 1m5s 1m5s 1m6s 09 1,035 606ms 3s715ms 2s643ms 1m4s 1m5s 1m6s 10 1,037 673ms 3s664ms 3s171ms 1m3s 1m4s 1m7s 11 1,047 502ms 11s799ms 3s50ms 1m1s 1m3s 3m38s 12 1,022 1s687ms 3s517ms 2s387ms 59s799ms 59s799ms 1m1s 13 1,025 794ms 2s721ms 1s215ms 28s691ms 28s691ms 30s168ms 14 1,058 661ms 794ms 681ms 13s500ms 14s135ms 16s347ms 15 1,022 668ms 735ms 668ms 11s365ms 11s365ms 12s769ms 16 1,026 668ms 752ms 669ms 11s530ms 11s543ms 14s361ms 17 1,020 679ms 679ms 679ms 11s543ms 11s543ms 11s543ms 18 1,022 679ms 788ms 679ms 11s543ms 11s543ms 13s84ms 19 1,020 752ms 752ms 752ms 12s792ms 12s792ms 12s792ms 20 1,020 752ms 752ms 752ms 12s792ms 12s792ms 12s792ms 21 1,020 752ms 752ms 752ms 12s792ms 12s792ms 12s792ms 22 1,020 752ms 752ms 752ms 12s792ms 12s792ms 12s792ms 23 1,025 548ms 1s991ms 793ms 12s792ms 22s572ms 22s572ms Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 15 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 712ms 0ms 0ms 1s2ms 07 0 0 0ms 0ms 0ms 0ms 08 10 0 772ms 0ms 0ms 1s522ms 09 6 0 811ms 0ms 0ms 1s762ms 10 4 0 706ms 0ms 0ms 0ms 11 20 0 2s403ms 0ms 502ms 14s607ms 12 0 0 0ms 0ms 0ms 0ms 13 4 0 1s752ms 0ms 0ms 3s492ms 14 38 0 702ms 1s393ms 1s408ms 2s846ms 15 2 0 702ms 0ms 0ms 0ms 16 6 0 710ms 0ms 0ms 1s430ms 17 0 0 0ms 0ms 0ms 0ms 18 2 0 770ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 0 5 1s283ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 15 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s141ms 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 15 00 0 6 6.00 0.00% 01 0 1 1.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 1 1.00 0.00% 08 0 0 0.00 0.00% 09 0 9 9.00 0.00% 10 0 12 12.00 0.00% 11 0 7 7.00 0.00% 12 0 0 0.00 0.00% 13 0 0 0.00 0.00% 14 0 0 0.00 0.00% 15 0 0 0.00 0.00% 16 0 0 0.00 0.00% 17 0 0 0.00 0.00% 18 0 0 0.00 0.00% 19 0 0 0.00 0.00% 20 0 0 0.00 0.00% 21 0 0 0.00 0.00% 22 0 0 0.00 0.00% 23 0 0 0.00 0.00% Day Hour Count Average / Second Apr 15 00 832 0.23/s 01 602 0.17/s 02 547 0.15/s 03 547 0.15/s 04 544 0.15/s 05 607 0.17/s 06 1,264 0.35/s 07 1,301 0.36/s 08 1,561 0.43/s 09 1,713 0.48/s 10 1,593 0.44/s 11 2,294 0.64/s 12 1,209 0.34/s 13 1,868 0.52/s 14 1,875 0.52/s 15 905 0.25/s 16 1,414 0.39/s 17 1,216 0.34/s 18 1,042 0.29/s 19 944 0.26/s 20 659 0.18/s 21 653 0.18/s 22 604 0.17/s 23 656 0.18/s Day Hour Count Average Duration Average idle time Apr 15 00 832 201ms 0ms 01 602 215ms 0ms 02 547 219ms 0ms 03 547 219ms 0ms 04 544 220ms 0ms 05 607 211ms 0ms 06 1,264 169ms 0ms 07 1,301 232ms 0ms 08 1,561 151ms 0ms 09 1,713 161ms 0ms 10 1,593 163ms 0ms 11 2,294 216ms 0ms 12 1,209 171ms 0ms 13 1,868 177ms 0ms 14 1,875 178ms 0ms 15 905 246ms 0ms 16 1,414 269ms 0ms 17 1,216 265ms 0ms 18 1,042 244ms 0ms 19 944 238ms 0ms 20 659 198ms 0ms 21 653 241ms 0ms 22 604 236ms 0ms 23 656 214ms 0ms -
Connections
Established Connections
Key values
- 41 connections Connection Peak
- 2026-04-15 11:27:17 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 26,450 connections Total
Connections per user
Key values
- labanimal Main User
- 26,450 connections Total
-
Sessions
Simultaneous sessions
Key values
- 8 sessions Session Peak
- 2026-04-15 22:09:34 Date
Histogram of session times
Key values
- 23,696 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 26,450 sessions Total
Sessions per user
Key values
- labanimal Main User
- 26,450 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 26,450 sessions Total
Sessions per application
Key values
- Main Application
- 26,450 sessions Total
Application Count Total Duration Average Duration 21,222 1h13m56s 209ms _backend_wean_api.php_litter_id_10131799_zemm_produktiv_8_local 6 831ms 138ms _backend_wean_api.php_litter_id_10131841_zemm_produktiv_8_local 2 281ms 140ms _backend_wean_api.php_litter_id_10131877_zemm_produktiv_8_local 2 277ms 138ms _backend_wean_api.php_litter_id_10132057_zemm_produktiv_8_local 2 278ms 139ms _backend_wean_api.php_litter_id_10132140_zemm_produktiv_8_local 2 284ms 142ms _backend_wean_api.php_litter_id_10132148_zemm_produktiv_8_local 3 434ms 144ms _backend_wean_api.php_litter_id_10132149_zemm_produktiv_8_local 3 424ms 141ms _backend_wean_api.php_litter_id_10132207_zemm_produktiv_8_local 3 423ms 141ms _backend_wean_api.php_litter_id_10132209_zemm_produktiv_8_local 1 141ms 141ms _desktop__zemm_produktiv_8_localhost_5432 13 805ms 61ms _desktop_index.php_animal_name_66_animal_id_2025_2F000_2F5635_s 1 43ms 43ms _desktop_index.php_breeding__25_sex__25_in_breeding__25_fate_5_ 83 39s856ms 480ms _desktop_index.php_cages_name_A15.415-1_2A_cages_empty__25_val4 1 203ms 203ms _desktop_index.php_cages_name_A15.415.1_2A_cages_empty__25_val4 16 9s235ms 577ms _desktop_index.php_cages_name_TF_2A_cages_empty__25_val4_cages_ 3 1s294ms 431ms _desktop_index.php_command_animals_create_multiple_subcommand_f 1 55ms 55ms _desktop_index.php_command_animals_create_multiple_subcommand_i 1 49ms 49ms _desktop_index.php_command_animals_create_subcommand_init_zemm_ 2 95ms 47ms _desktop_index.php_command_animals_edit_subcommand_init_id_1028 1 119ms 119ms _desktop_index.php_command_animals_edit_subcommand_init_id_1029 2 235ms 117ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 2 197ms 98ms _desktop_index.php_command_animals_litters_create_subcommand_se 1 171ms 171ms _desktop_index.php_command_animals_subcommand_found_val1_101021 2 794ms 397ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 6 268ms 44ms _desktop_index.php_command_cages_edit_subcommand_init_id_101017 1 70ms 70ms _desktop_index.php_command_cages_edit_subcommand_init_id_101018 1 72ms 72ms _desktop_index.php_command_cages_edit_subcommand_init_id_101020 1 72ms 72ms _desktop_index.php_command_cages_edit_subcommand_init_id_101021 2 143ms 71ms _desktop_index.php_command_cages_subcommand_init_zemm_produktiv 4 173ms 43ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,678 50s526ms 30ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 1 130ms 130ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 8 875ms 109ms _desktop_index.php_command_reports_subcommand_authority_meldung 1 50ms 50ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 4 795ms 198ms _desktop_index.php_command_tasks_subcommand_edit_id_10142050_ze 1 83ms 83ms _desktop_index.php_command_tasks_subcommand_edit_id_10142215_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10142223_ze 1 79ms 79ms _desktop_index.php_command_tasks_subcommand_edit_id_10142244_ze 1 83ms 83ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 56 4s778ms 85ms _desktop_index.php_m_action_animals_3Am_delete_row_animals_1030 1 1s77ms 1s77ms _desktop_index.php_m_action_cages_3Am_cage_card_row_10102189_10 2 793ms 396ms _desktop_index.php_m_action_cages_3Am_delete_command_animals_su 5 223ms 44ms _desktop_index.php_name_Genotypisierungsproben_20genommen_instr 1 70ms 70ms _desktop_index.php_name_Tiertransport_20innerhalb_20W_C3_BCrzbu 1 56ms 56ms _desktop_index.php_name_Verpaarungen_20zur_20Zucht_SPK-mTmG_ins 1 64ms 64ms _desktop_index.php_name_Verpaarungen_20zur_20Zucht_aMHC-Cre_ins 1 57ms 57ms _desktop_index.php_num_animals_14_species_1_sex_f_sterile_false 6 252ms 42ms _desktop_index.php_num_animals_18_species_1_sex_m_sterile_false 1 50ms 50ms _desktop_index.php_num_animals_6_species_1_sex_m_sterile_false_ 1 51ms 51ms _desktop_index.php_species_1_sex_n_sterile_false_alive_true_sta 1 55ms 55ms _desktop_index.php_species_1_sex_n_sterile_false_animal_arrival 1 40ms 40ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 45 21s154ms 470ms _desktop_index.php_zemm_produktiv_8_localhost_5432 3,148 13m49s 263ms backend:zemm_produktiv_8@localhost 43 2s631ms 61ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s158ms 1s158ms pg_dump 1 14s341ms 14s341ms taskscron:zemm_produktiv_7@zemm.fbiscience.eu 24 626ms 26ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 2s782ms 115ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 18,765 buffers Checkpoint Peak
- 2026-04-15 01:37:01 Date
- 269.999 seconds Highest write time
- 0.041 seconds Sync time
Checkpoints Wal files
Key values
- 7 files Wal files usage Peak
- 2026-04-15 08:52:07 Date
Checkpoints distance
Key values
- 229.53 Mo Distance Peak
- 2026-04-15 08:52:07 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Apr 15 00 3,745 375.241s 0.086s 375.381s 01 21,546 548.564s 0.093s 548.715s 02 2,324 233.106s 0.082s 233.234s 03 2,324 233.088s 0.078s 233.221s 04 2,332 233.906s 0.082s 234.046s 05 3,033 303.953s 0.096s 304.107s 06 16,796 623.417s 0.17s 623.643s 07 24,985 988.019s 0.192s 988.266s 08 22,951 807.504s 0.19s 807.748s 09 41,564 1,323.585s 0.23s 1,323.871s 10 4,003 401.119s 0.172s 401.337s 11 13,564 1,049.507s 0.246s 1,049.814s 12 4,967 497.416s 0.187s 497.653s 13 6,156 616.784s 0.205s 617.038s 14 5,255 526.538s 0.211s 526.801s 15 7,190 719.737s 0.169s 719.961s 16 11,370 1,137.631s 0.183s 1,137.86s 17 12,443 1,178.598s 0.15s 1,178.806s 18 7,845 784.845s 0.17s 785.072s 19 5,915 592.356s 0.137s 592.547s 20 3,018 302.671s 0.111s 302.839s 21 4,491 450.013s 0.099s 450.162s 22 3,072 308.046s 0.093s 308.187s 23 2,612 261.965s 0.102s 262.12s Day Hour Added Removed Recycled Synced files Longest sync Average sync Apr 15 00 0 0 1 412 0.002s 0.012s 01 0 0 7 438 0.001s 0.012s 02 0 0 1 400 0.001s 0.012s 03 0 0 0 405 0.001s 0.012s 04 0 0 1 412 0.002s 0.012s 05 0 0 1 493 0.002s 0.012s 06 0 0 5 859 0.004s 0.011s 07 0 0 6 1,053 0.002s 0.011s 08 0 0 11 932 0.002s 0.01s 09 0 0 14 1,044 0.006s 0.011s 10 0 0 1 862 0.002s 0.011s 11 0 0 4 1,361 0.002s 0.013s 12 0 0 1 953 0.003s 0.012s 13 0 0 3 1,120 0.002s 0.012s 14 0 0 1 1,157 0.003s 0.012s 15 0 0 3 789 0.005s 0.012s 16 0 0 5 943 0.005s 0.011s 17 0 0 5 742 0.003s 0.013s 18 0 0 3 849 0.003s 0.012s 19 0 0 2 696 0.002s 0.012s 20 0 0 1 483 0.002s 0.012s 21 0 0 1 432 0.004s 0.012s 22 0 0 1 425 0.002s 0.012s 23 0 0 1 454 0.002s 0.012s Day Hour Count Avg time (sec) Apr 15 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 15 00 1,457.83 kB 1,836.00 kB 01 9,143.75 kB 38,387.33 kB 02 1,088.42 kB 31,221.42 kB 03 1,088.83 kB 9,597.75 kB 04 1,091.08 kB 3,494.17 kB 05 1,376.67 kB 2,624.33 kB 06 6,844.00 kB 26,134.09 kB 07 9,300.27 kB 37,541.00 kB 08 18,750.00 kB 29,660.40 kB 09 19,785.64 kB 79,914.91 kB 10 1,634.27 kB 36,008.27 kB 11 4,811.15 kB 13,058.92 kB 12 2,170.92 kB 5,900.75 kB 13 3,214.67 kB 6,114.08 kB 14 2,334.75 kB 3,716.58 kB 15 3,521.42 kB 6,658.83 kB 16 7,231.27 kB 10,626.36 kB 17 6,208.23 kB 12,828.31 kB 18 4,112.08 kB 12,767.75 kB 19 3,380.25 kB 8,823.42 kB 20 1,245.33 kB 3,585.33 kB 21 1,510.92 kB 2,337.00 kB 22 1,216.08 kB 2,914.08 kB 23 1,168.92 kB 1,645.42 kB -
Temporary Files
Size of temporary files
Key values
- 253.69 MiB Temp Files size Peak
- 2026-04-15 11:52:20 Date
Number of temporary files
Key values
- 5 per second Temp Files Peak
- 2026-04-15 10:11:38 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Apr 15 00 30 1.45 GiB 49.51 MiB 01 5 247.69 MiB 49.54 MiB 02 0 0 0 03 0 0 0 04 0 0 0 05 0 0 0 06 0 0 0 07 5 249.01 MiB 49.80 MiB 08 0 0 0 09 45 2.23 GiB 50.64 MiB 10 60 2.97 GiB 50.68 MiB 11 35 1.73 GiB 50.73 MiB 12 0 0 0 13 0 0 0 14 0 0 0 15 0 0 0 16 0 0 0 17 0 0 0 18 0 0 0 19 0 0 0 20 0 0 0 21 0 0 0 22 0 0 0 23 0 0 0 Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 144 6.89 GiB 45.50 MiB 54.85 MiB 49.02 MiB with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 01:09:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 01:09:22+02' AND '2026-04-15 01:09:22+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 01:09:22+02' AND '2026-04-15 01:09:22+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-15 01:09:26 Duration: 3s885ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 00:09:21+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 00:09:21+02' AND '2026-04-15 00:09:21+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 00:09:21+02' AND '2026-04-15 00:09:21+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-15 00:09:25 Duration: 3s881ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 07:27:31+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 07:27:31+02' AND '2026-04-15 07:27:31+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 07:27:31+02' AND '2026-04-15 07:27:31+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-15 07:27:35 Duration: 3s873ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
Queries generating the largest temporary files
Rank Size Query 1 54.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) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 11:32:20 - Queryid: 231307 ]
2 54.50 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 10:41:40 - Queryid: 214345 ]
3 54.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) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 10:11:38 - Queryid: 204416 ]
4 54.11 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 11:37:19 - Queryid: 232888 ]
5 53.93 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 10:41:40 - Queryid: 214345 ]
6 53.84 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 10:46:40 - Queryid: 215868 ]
7 53.81 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 10:01:38 - Queryid: 201292 ]
8 53.63 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 00:29:26 - Queryid: 25542 ]
9 53.59 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 10:26:39 - Queryid: 209382 ]
10 53.49 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 10:01:38 - Queryid: 201292 ]
11 53.42 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 09:26:38 - Queryid: 190293 ]
12 53.29 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 09:21:38 - Queryid: 188738 ]
13 53.27 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 09:26:38 - Queryid: 190293 ]
14 53.16 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 10:46:40 - Queryid: 215868 ]
15 52.98 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 00:19:26 - Queryid: 22180 ]
16 52.89 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 11:47:19 - Queryid: 236120 ]
17 52.87 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 09:31:38 - Queryid: 191935 ]
18 52.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) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 11:27:21 - Queryid: 229750 ]
19 52.50 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 11:42:20 - Queryid: 234542 ]
20 51.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) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-15 10:56:40 - Queryid: 218900 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 1.84 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-04-15 10:57:22 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_monitoring - Date
Average Autovacuum Duration
Key values
- 1.84 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-04-15 10:57:22 Date
Analyzes per table
Key values
- pg_catalog.pg_type (39) Main table analyzed (database zemm_produktiv_8)
- 153 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 39 zemm_produktiv_8.pg_catalog.pg_attribute 30 zemm_produktiv_8.pg_catalog.pg_class 22 zemm_produktiv_8.pg_catalog.pg_depend 20 zemm_produktiv_8.public.breedingsdams 11 zemm_produktiv_8.public.breedingssires 11 zemm_produktiv_8.public.cages_search_mview 4 zemm_monitoring.pg_catalog.pg_shdepend 2 fbi_ci_db.pg_catalog.pg_shdepend 2 zemm_monitoring.observability.metrics_timeseries 2 zemm_produktiv_8.public.tmptasks 2 zemm_monitoring.observability.uptime_checks 1 zemm_produktiv_7.pg_catalog.pg_shdepend 1 zemm_monitoring.observability.app_events 1 zemm_produktiv_8.public.cages 1 fbi_unire.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.users 1 fbi_unibi.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.tasks 1 Total 153 Vacuums per table
Key values
- pg_catalog.pg_type (14) Main table vacuumed on database zemm_produktiv_8
- 74 vacuums Total
Index Buffer usage Skipped WAL usage Frozen Table Vacuums scans hits misses dirtied pins frozen records full page bytes pages tuples zemm_produktiv_8.pg_catalog.pg_type 14 14 0 0 0 0 0 719 154 158,477 0 0 zemm_produktiv_8.public.breedingsdams 11 0 0 0 0 0 0 2,178 434 1,484,649 0 0 zemm_produktiv_8.public.breedingssires 11 0 0 0 0 0 0 1,631 337 1,109,188 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 10 10 0 0 0 0 0 1,294 433 293,436 0 0 zemm_produktiv_8.pg_catalog.pg_class 7 7 0 0 0 0 0 688 217 266,061 2 2 zemm_produktiv_8.pg_catalog.pg_depend 5 5 0 0 0 0 0 612 153 192,466 0 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 0 0 0 4,348 1,456 3,315,811 1,436 8,616 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 0 0 0 0 0 512 129 663,736 27 83 zemm_monitoring.pg_catalog.pg_shdepend 1 1 0 0 0 0 0 84 18 36,645 0 0 zemm_monitoring.observability.uptime_checks 1 0 0 0 0 0 0 652 487 770,679 82 1,640 fbi_unire.pg_catalog.pg_shdepend 1 1 0 0 0 0 0 102 36 76,247 0 0 zemm_produktiv_8.public.tmptasks 1 1 0 0 0 0 0 85 28 13,635 0 0 zemm_monitoring.pg_toast.pg_toast_2619 1 1 0 0 0 0 0 98 24 135,032 5 13 zemm_monitoring.observability.metrics_timeseries 1 1 0 0 0 0 0 12,297 5,854 14,371,813 1,198 34,955 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 45,877 43 3,409,367 1 4 zemm_produktiv_8.public.cages_search_mview 1 1 0 0 0 0 0 608 321 1,091,483 36 226 Total 74 46 0 0 0 0 0 71,785 10,124 27,388,725 2,787 45,539 Vacuum throughput per table
Key values
- observability.metrics_timeseries (1.84) Max CPU elapsed for vacuum on database zemm_monitoring
- observability.metrics_timeseries (13.99 ms) Max I/O read time for vacuum on database zemm_monitoring
- observability.metrics_timeseries (5.471 ms) Max I/O write time for vacuum on database zemm_monitoring
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 0.215 0 0 zemm_produktiv_8.public.breedingsdams 0 0.147 0 zemm_produktiv_8.public.breedingssires 0 0.273 0 zemm_produktiv_8.pg_catalog.pg_attribute 1.936 0 0.09 zemm_produktiv_8.pg_catalog.pg_class 1.52 0 0.02 zemm_produktiv_8.pg_catalog.pg_depend 1.005 0 0.02 zemm_monitoring.pg_toast.pg_toast_67431 3.51 0.041 0.35 zemm_produktiv_8.pg_toast.pg_toast_2619 0.981 0 0.03 zemm_monitoring.pg_catalog.pg_shdepend 0.398 0 0 zemm_monitoring.observability.uptime_checks 0.32 0 0.12 fbi_unire.pg_catalog.pg_shdepend 0 0 0.01 zemm_produktiv_8.public.tmptasks 0.368 0 0.01 zemm_monitoring.pg_toast.pg_toast_2619 0.42 0 0 zemm_monitoring.observability.metrics_timeseries 13.99 5.471 1.84 zemm_produktiv_8.public.tasks 0.315 0 0.6 zemm_produktiv_8.public.cages_search_mview 0.474 0 0.09 Total 25.452 5.932 3.18 Tuples removed per table
Key values
- public.tasks (53842) Main table with removed tuples on database zemm_produktiv_8
- 103407 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 53,842 56,867 0 0 16,753 zemm_monitoring.observability.metrics_timeseries 1 1 29,970 335,916 0 0 6,982 zemm_produktiv_8.pg_catalog.pg_attribute 10 10 9,588 57,266 0 0 1,840 zemm_produktiv_8.pg_catalog.pg_depend 5 5 4,336 20,855 0 0 275 zemm_produktiv_8.pg_catalog.pg_type 14 14 2,830 11,634 0 0 434 zemm_produktiv_8.pg_catalog.pg_class 7 7 1,046 6,258 0 0 294 fbi_unire.pg_catalog.pg_shdepend 1 1 649 3,884 0 0 38 zemm_monitoring.pg_catalog.pg_shdepend 1 1 454 3,884 0 0 38 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 296 879 0 0 318 zemm_produktiv_8.public.cages_search_mview 1 1 248 13,829 0 0 234 zemm_produktiv_8.public.tmptasks 1 1 93 822 0 8 115 zemm_monitoring.pg_toast.pg_toast_2619 1 1 55 79 0 0 36 zemm_produktiv_8.public.breedingsdams 11 0 0 334,895 0 0 2,134 zemm_monitoring.observability.uptime_checks 1 0 0 56,254 0 0 2,831 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 1,927,185 0 0 324,075 zemm_produktiv_8.public.breedingssires 11 0 0 247,874 0 0 1,584 Total 74 46 103,407 3,078,381 0 8 357,981 Pages removed per table
Key values
- public.tmptasks (8) Main table with removed pages on database zemm_produktiv_8
- 8 pages Total removed
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_8.public.tmptasks 1 1 93 8 zemm_produktiv_8.pg_catalog.pg_depend 5 5 4336 0 zemm_monitoring.pg_catalog.pg_shdepend 1 1 454 0 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 296 0 zemm_produktiv_8.public.breedingsdams 11 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 10 10 9588 0 zemm_monitoring.observability.uptime_checks 1 0 0 0 fbi_unire.pg_catalog.pg_shdepend 1 1 649 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 zemm_produktiv_8.pg_catalog.pg_type 14 14 2830 0 zemm_monitoring.pg_toast.pg_toast_2619 1 1 55 0 zemm_produktiv_8.pg_catalog.pg_class 7 7 1046 0 zemm_monitoring.observability.metrics_timeseries 1 1 29970 0 zemm_produktiv_8.public.breedingssires 11 0 0 0 zemm_produktiv_8.public.tasks 1 1 53842 0 zemm_produktiv_8.public.cages_search_mview 1 1 248 0 Total 74 46 103,407 8 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Apr 15 00 0 0 01 3 1 02 0 0 03 0 0 04 0 0 05 0 2 06 9 16 07 7 18 08 19 34 09 9 17 10 6 5 11 5 17 12 2 5 13 1 8 14 7 15 15 1 4 16 0 4 17 0 0 18 0 3 19 1 1 20 2 2 21 1 1 22 1 0 23 0 0 - 1.84 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
- 97 Total read queries
- 24,531 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,516 Requests
- 10h17m33s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- labanimal Main user
- 499,737 Requests
User Request type Count Duration deploy Total 58 14m47s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s labanimal Total 499,737 13d8h4m59s copy from 8 18s286ms copy to 96 4m30s cte 2,472 2h41m56s ddl 495,245 13d4h41m22s others 179 2m6s select 1,698 34m3s tcl 3 1s733ms update 24 26s49ms postgres Total 129 2m52s copy to 129 2m52s Duration by user
Key values
- 13d8h4m59s (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 499,737 13d8h4m59s copy from 8 18s286ms copy to 96 4m30s cte 2,472 2h41m56s ddl 495,245 13d4h41m22s others 179 2m6s select 1,698 34m3s tcl 3 1s733ms update 24 26s49ms postgres Total 129 2m52s copy to 129 2m52s Queries by host
Key values
- unknown Main host
- 499,710 Requests
- 13d8h1m30s (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 25 3m22s select 1 2m56s update 24 26s49ms [local] Total 187 17m39s copy to 129 2m52s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s unknown Total 499,710 13d8h1m30s copy from 8 18s286ms copy to 96 4m30s cte 2,472 2h41m56s ddl 495,243 13d4h41m16s others 179 2m6s select 1,697 31m6s tcl 3 1s733ms Queries by application
Key values
- unknown Main application
- 24,516 Requests
- 10h17m33s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b Total 4 2s821ms select 4 2s821ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 102 2m1s cte 9 15s980ms select 93 1m45s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s141ms update 1 1s141ms pg_dump Total 5 6s418ms copy to 5 6s418ms unknown Total 24,516 10h17m33s cte 36 2m9s ddl 24,480 10h15m24s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-04-15 11:19:02 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 85 500-1000ms duration
Slowest individual queries
Rank Duration Query 1 11s799ms SELECT a.id, a.name, a."animalID", a.dummy_strain_info, a."birthDate", a.sex, tr.rfid FROM animals a LEFT OUTER JOIN cages c ON c.id = a."homeCage" LEFT OUTER JOIN ( SELECT max(id) AS id, maps_to FROM transponders WHERE extraction_date IS NULL GROUP BY maps_to) tr_sel ON tr_sel.maps_to = a.id LEFT OUTER JOIN transponders tr ON tr.id = tr_sel.id WHERE NOT (a.deleted) AND c.id = 9628 AND CASE WHEN user_is_tgm (a.owner, 10100205) THEN TRUE WHEN user_is_tgm (a.editor, 10100205) THEN TRUE WHEN user_is_tgm (a.tourist, 10100205) THEN TRUE ELSE FALSE END ORDER BY a.id;[ Date: 2026-04-15 11:14:43 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Bind query: yes ]
2 11s799ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
3 11s799ms 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-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
4 11s799ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
5 11s799ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
6 11s799ms 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-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
7 11s799ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
8 11s799ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-04-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
9 11s799ms 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-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
10 11s799ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-04-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
11 11s799ms 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-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
12 11s799ms 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-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
13 11s799ms 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-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
14 11s799ms 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-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
15 11s799ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-04-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
16 11s799ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-04-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
17 11s799ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-04-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
18 11s799ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-04-15 11:15:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
19 3s885ms WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 01:09:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 01:09:22+02' AND '2026-04-15 01:09:22+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 01:09:22+02' AND '2026-04-15 01:09:22+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-15 01:09:26 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
20 3s885ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-15 01:10: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 36m12s 1,440 500ms 11s799ms 1s508ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
2 36m12s 1,440 500ms 11s799ms 1s508ms 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 #2
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
3 36m12s 1,440 500ms 11s799ms 1s508ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
4 36m12s 1,440 500ms 11s799ms 1s508ms create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
5 36m12s 1,440 500ms 11s799ms 1s508ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
6 36m12s 1,440 500ms 11s799ms 1s508ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
7 36m12s 1,440 500ms 11s799ms 1s508ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
8 36m12s 1,440 500ms 11s799ms 1s508ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
9 36m12s 1,440 500ms 11s799ms 1s508ms 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 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
10 36m12s 1,440 500ms 11s799ms 1s508ms 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 #10
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
11 36m12s 1,440 500ms 11s799ms 1s508ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
12 36m12s 1,440 500ms 11s799ms 1s508ms create schema if not exists observability;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
13 36m12s 1,440 500ms 11s799ms 1s508ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
14 36m12s 1,440 500ms 11s799ms 1s508ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
15 36m12s 1,440 500ms 11s799ms 1s508ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
16 36m12s 1,440 500ms 11s799ms 1s508ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
17 36m12s 1,440 500ms 11s799ms 1s508ms 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 #17
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
18 2m9s 36 3s400ms 3s885ms 3s607ms 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 15 01 6 22s834ms 3s805ms 02 1 3s885ms 3s885ms 08 1 3s873ms 3s873ms 10 9 32s647ms 3s627ms 11 12 42s331ms 3s527ms 12 7 24s296ms 3s470ms [ User: labanimal - Total duration: 2m9s - Times executed: 36 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 01:09:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 01:09:22+02' AND '2026-04-15 01:09:22+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 01:09:22+02' AND '2026-04-15 01:09:22+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-15 01:09:26 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 00:09:21+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 00:09:21+02' AND '2026-04-15 00:09:21+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 00:09:21+02' AND '2026-04-15 00:09:21+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-15 00:09:25 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 07:27:31+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 07:27:31+02' AND '2026-04-15 07:27:31+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 07:27:31+02' AND '2026-04-15 07:27:31+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-15 07:27:35 Duration: 3s873ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
19 28s755ms 8 3s557ms 3s644ms 3s594ms select * from litters_search_mview l where not (deleted) and case when user_is_tgm (l.owner, ?) then true when user_is_tgm (l.editor, ?) then true when user_is_tgm (l.tourist, ?) then true else false end and (offspring - case when male_wean is null then ? else male_wean end - case when female_wean is null then ? else female_wean end - case when male_dead is null then ? else male_dead end - case when female_dead is null then ? else female_dead end - case when female_deceased is null then ? else female_deceased end - case when male_deceased is null then ? else male_deceased end) <= ? order by bday desc, dam_name, sire_name;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 15 12 8 28s755ms 3s594ms [ User: labanimal - Total duration: 28s755ms - Times executed: 8 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 28s755ms - Times executed: 8 ]
-
SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND CASE WHEN user_is_tgm (l.owner, 145) THEN TRUE WHEN user_is_tgm (l.editor, 145) THEN TRUE WHEN user_is_tgm (l.tourist, 145) THEN TRUE ELSE FALSE END 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 ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-04-15 11:15:50 Duration: 3s644ms 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-15_000000.csv
-
SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND CASE WHEN user_is_tgm (l.owner, 145) THEN TRUE WHEN user_is_tgm (l.editor, 145) THEN TRUE WHEN user_is_tgm (l.tourist, 145) THEN TRUE ELSE FALSE END 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 ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-04-15 11:15:57 Duration: 3s614ms 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-15_000000.csv
-
SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND CASE WHEN user_is_tgm (l.owner, 145) THEN TRUE WHEN user_is_tgm (l.editor, 145) THEN TRUE WHEN user_is_tgm (l.tourist, 145) THEN TRUE ELSE FALSE END 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 ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-04-15 11:16:04 Duration: 3s608ms 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-15_000000.csv
20 22s881ms 31 727ms 788ms 738ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 15 11 2 1s478ms 739ms 12 5 3s673ms 734ms 15 19 13s978ms 735ms 16 1 735ms 735ms 17 3 2s227ms 742ms 19 1 788ms 788ms [ User: labanimal - Total duration: 22s881ms - Times executed: 31 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 21s409ms - Times executed: 29 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 1s472ms - Times executed: 2 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-15 18:59:12 Duration: 788ms 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-15_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-15 16:52:32 Duration: 752ms 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-15_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-15 10:21:47 Duration: 746ms 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-15_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 36m12s 500ms 11s799ms 1s508ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
2 1,440 36m12s 500ms 11s799ms 1s508ms 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 #2
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
3 1,440 36m12s 500ms 11s799ms 1s508ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
4 1,440 36m12s 500ms 11s799ms 1s508ms create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
5 1,440 36m12s 500ms 11s799ms 1s508ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
6 1,440 36m12s 500ms 11s799ms 1s508ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
7 1,440 36m12s 500ms 11s799ms 1s508ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
8 1,440 36m12s 500ms 11s799ms 1s508ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
9 1,440 36m12s 500ms 11s799ms 1s508ms 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 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
10 1,440 36m12s 500ms 11s799ms 1s508ms 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 #10
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
11 1,440 36m12s 500ms 11s799ms 1s508ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
12 1,440 36m12s 500ms 11s799ms 1s508ms create schema if not exists observability;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
13 1,440 36m12s 500ms 11s799ms 1s508ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
14 1,440 36m12s 500ms 11s799ms 1s508ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
15 1,440 36m12s 500ms 11s799ms 1s508ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
16 1,440 36m12s 500ms 11s799ms 1s508ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
17 1,440 36m12s 500ms 11s799ms 1s508ms 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 #17
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
18 36 2m9s 3s400ms 3s885ms 3s607ms 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 15 01 6 22s834ms 3s805ms 02 1 3s885ms 3s885ms 08 1 3s873ms 3s873ms 10 9 32s647ms 3s627ms 11 12 42s331ms 3s527ms 12 7 24s296ms 3s470ms [ User: labanimal - Total duration: 2m9s - Times executed: 36 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 01:09:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 01:09:22+02' AND '2026-04-15 01:09:22+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 01:09:22+02' AND '2026-04-15 01:09:22+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-15 01:09:26 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 00:09:21+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 00:09:21+02' AND '2026-04-15 00:09:21+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 00:09:21+02' AND '2026-04-15 00:09:21+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-15 00:09:25 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 07:27:31+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 07:27:31+02' AND '2026-04-15 07:27:31+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 07:27:31+02' AND '2026-04-15 07:27:31+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-15 07:27:35 Duration: 3s873ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
19 31 22s881ms 727ms 788ms 738ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 15 11 2 1s478ms 739ms 12 5 3s673ms 734ms 15 19 13s978ms 735ms 16 1 735ms 735ms 17 3 2s227ms 742ms 19 1 788ms 788ms [ User: labanimal - Total duration: 22s881ms - Times executed: 31 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 21s409ms - Times executed: 29 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 1s472ms - Times executed: 2 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-15 18:59:12 Duration: 788ms 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-15_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-15 16:52:32 Duration: 752ms 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-15_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-15 10:21:47 Duration: 746ms 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-15_000000.csv
20 31 20s880ms 661ms 752ms 673ms select distinct * from ( select animals_search_mview.*, b.unbreeding_date, fates.loc as fate_name, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, string_agg(l."application_id" || ? || l."title" || ? || date(lh."timestamp")::varchar, ?) as licensehistory, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview inner join fates on fates.id = animals_search_mview.fate left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join licenses l on l.id = lh.licid left join breedings b on b.id = animals_search_mview.last_mating group by animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data where data.fate = ? and data.alive = ? and data.deleted = ? and (is_owner or is_editor or is_tourist) and (data.straindeleted = ? or data.straindeleted is null) order by data.cage_name, data.animal_id, data.name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 15 11 2 1s347ms 673ms 12 5 3s349ms 669ms 15 19 12s729ms 669ms 16 1 668ms 668ms 17 3 2s33ms 677ms 19 1 752ms 752ms [ User: labanimal - Total duration: 20s880ms - Times executed: 31 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 19s531ms - Times executed: 29 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 1s349ms - Times executed: 2 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-15 18:59:13 Duration: 752ms 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-15_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100002) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100002) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100002) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-15 14:04:58 Duration: 684ms 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-15_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 210) AS is_owner, user_is_tgm (animals_search_mview.editor, 210) AS is_editor, user_is_tgm (animals_search_mview.tourist, 210) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-15 14:58:09 Duration: 680ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 3s400ms 3s885ms 3s607ms 36 2m9s 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 15 01 6 22s834ms 3s805ms 02 1 3s885ms 3s885ms 08 1 3s873ms 3s873ms 10 9 32s647ms 3s627ms 11 12 42s331ms 3s527ms 12 7 24s296ms 3s470ms [ User: labanimal - Total duration: 2m9s - Times executed: 36 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 01:09:22+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 01:09:22+02' AND '2026-04-15 01:09:22+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 01:09:22+02' AND '2026-04-15 01:09:22+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-15 01:09:26 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 00:09:21+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 00:09:21+02' AND '2026-04-15 00:09:21+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 00:09:21+02' AND '2026-04-15 00:09:21+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-15 00:09:25 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 07:27:31+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 07:27:31+02' AND '2026-04-15 07:27:31+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 07:27:31+02' AND '2026-04-15 07:27:31+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-15 07:27:35 Duration: 3s873ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
2 3s557ms 3s644ms 3s594ms 8 28s755ms select * from litters_search_mview l where not (deleted) and case when user_is_tgm (l.owner, ?) then true when user_is_tgm (l.editor, ?) then true when user_is_tgm (l.tourist, ?) then true else false end and (offspring - case when male_wean is null then ? else male_wean end - case when female_wean is null then ? else female_wean end - case when male_dead is null then ? else male_dead end - case when female_dead is null then ? else female_dead end - case when female_deceased is null then ? else female_deceased end - case when male_deceased is null then ? else male_deceased end) <= ? order by bday desc, dam_name, sire_name;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 15 12 8 28s755ms 3s594ms [ User: labanimal - Total duration: 28s755ms - Times executed: 8 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 28s755ms - Times executed: 8 ]
-
SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND CASE WHEN user_is_tgm (l.owner, 145) THEN TRUE WHEN user_is_tgm (l.editor, 145) THEN TRUE WHEN user_is_tgm (l.tourist, 145) THEN TRUE ELSE FALSE END 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 ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-04-15 11:15:50 Duration: 3s644ms 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-15_000000.csv
-
SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND CASE WHEN user_is_tgm (l.owner, 145) THEN TRUE WHEN user_is_tgm (l.editor, 145) THEN TRUE WHEN user_is_tgm (l.tourist, 145) THEN TRUE ELSE FALSE END 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 ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-04-15 11:15:57 Duration: 3s614ms 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-15_000000.csv
-
SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND CASE WHEN user_is_tgm (l.owner, 145) THEN TRUE WHEN user_is_tgm (l.editor, 145) THEN TRUE WHEN user_is_tgm (l.tourist, 145) THEN TRUE ELSE FALSE END 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 ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-04-15 11:16:04 Duration: 3s608ms 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-15_000000.csv
3 500ms 11s799ms 1s508ms 1,440 36m12s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
4 500ms 11s799ms 1s508ms 1,440 36m12s 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 #4
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
5 500ms 11s799ms 1s508ms 1,440 36m12s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
6 500ms 11s799ms 1s508ms 1,440 36m12s create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
7 500ms 11s799ms 1s508ms 1,440 36m12s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
8 500ms 11s799ms 1s508ms 1,440 36m12s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
9 500ms 11s799ms 1s508ms 1,440 36m12s 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 #9
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
10 500ms 11s799ms 1s508ms 1,440 36m12s create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
11 500ms 11s799ms 1s508ms 1,440 36m12s 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 #11
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
12 500ms 11s799ms 1s508ms 1,440 36m12s 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 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
13 500ms 11s799ms 1s508ms 1,440 36m12s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
14 500ms 11s799ms 1s508ms 1,440 36m12s create schema if not exists observability;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
15 500ms 11s799ms 1s508ms 1,440 36m12s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
16 500ms 11s799ms 1s508ms 1,440 36m12s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
17 500ms 11s799ms 1s508ms 1,440 36m12s 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 #17
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
18 500ms 11s799ms 1s508ms 1,440 36m12s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
19 500ms 11s799ms 1s508ms 1,440 36m12s 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 #19
Day Hour Count Duration Avg duration Apr 15 01 60 3m10s 3s176ms 02 60 2m32s 2s540ms 03 60 1m8s 1s141ms 04 60 1m8s 1s141ms 05 60 1m8s 1s141ms 06 60 1m8s 1s141ms 07 60 56s888ms 948ms 08 60 2m20s 2s344ms 09 60 2m57s 2s958ms 10 60 2m38s 2s645ms 11 60 3m10s 3s178ms 12 60 3m3s 3s60ms 13 60 2m23s 2s389ms 14 60 1m12s 1s213ms 15 60 40s813ms 680ms 16 60 40s112ms 668ms 17 60 40s183ms 669ms 18 60 40s743ms 679ms 19 60 40s743ms 679ms 20 60 45s149ms 752ms 21 60 45s149ms 752ms 22 60 45s149ms 752ms 23 60 45s149ms 752ms 00 60 47s450ms 790ms [ User: labanimal - Total duration: 36m12s - Times executed: 1430 ]
-
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-15 11:15:01 Duration: 11s799ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 01:30:01 Duration: 3s885ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_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-15 00:19:01 Duration: 3s881ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
20 727ms 788ms 738ms 31 22s881ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 15 11 2 1s478ms 739ms 12 5 3s673ms 734ms 15 19 13s978ms 735ms 16 1 735ms 735ms 17 3 2s227ms 742ms 19 1 788ms 788ms [ User: labanimal - Total duration: 22s881ms - Times executed: 31 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 21s409ms - Times executed: 29 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 1s472ms - Times executed: 2 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100205) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100205) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100205) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-15 18:59:12 Duration: 788ms 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-15_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-15 16:52:32 Duration: 752ms 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-15_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-15 10:21:47 Duration: 746ms 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-15_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
- 131,403 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 0 FATAL entries
- 2 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 1 Max number of times the same event was reported
- 2 Total events found
Rank Times reported Error 1 1 ERROR: invalid input syntax for type boolean: ...
Times Reported Most Frequent Error / Event #1
Day Hour Count Apr 15 11 1 - ERROR: invalid input syntax for type boolean: ""
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id INNER JOIN "groupMembers" gm ON gm."group" = g.id AND gm."user" = 10100194 WHERE NOT(a.deleted) AND ( (a."deathDate" IS NOT NULL AND a."deathDate" >= '2026-01-01'::DATE AND a."deathDate" <= '2026-12-31'::DATE) OR (a."outgoingDate" IS NOT NULL AND a."outgoingDate" >= '2026-01-01'::DATE AND a."outgoingDate" <= '2026-12-31'::DATE) OR (a.fate IN (1, 10, 11, 13, 14, 15, 9, 4) AND a."deathDate" IS NULL AND a."outgoingDate" IS NULL) ) ORDER BY g.name, l.application_id, a.id
Date: 2026-04-15 10:46:31 Database: zemm_produktiv_8 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv
2 1 ERROR: null value in column "..." of relation "..." violates not-null constraint
Times Reported Most Frequent Error / Event #2
Day Hour Count Apr 15 13 1 - ERROR: null value in column "name" of relation "users" violates not-null constraint
Detail: Failing row contains (10100225, null, null, Heinrichs, null, null, null, null, null, 6, null, null, null, null, f, null, null, null, null, null, null, f, t, null, null, null, null, null, null, null, f, null, null, null, -1, null, null, f, null, light).
Context: SQL statement "INSERT INTO users ("id", "name", "pass", "active", "group", "role", "title", "fullName", "eMail", "disablemail", "language", "affiliation", "ILVnum", "FEMnum", "costCentre", "internInstructionNR", "mailHost", "mailMethod", "mailSSL", "mailPort", "mailUser", "mailPass", "available") VALUES (myID, theUserName, thePassword, theActive, theGroup, theRole, theTitle, theFullName, theEmail, ifDisableMail, theLanguage, theAffiliation, theILVNumber, theFEMNumber, theCostCenter, theInternInstructionNr, theMailHost, theMailMethod, ifMailSSL, theMailPort, theMailUser, theMailPassword, theAvailable)" PL/pgSQL function p_create_user(integer,text,text,boolean,integer,bigint,text,text,text,boolean,integer,integer,text,text,text,text,text,text,boolean,text,text,text,text,text,boolean) line 35 at SQL statement
Statement: SELECT p_create_user(NULL::integer, NULL::text, NULL::text, false::boolean, NULL::integer, -1::bigint, NULL::text, 'Heinrichs'::text, NULL::text, true::boolean, NULL::integer, 6::integer, NULL::text, NULL::text, NULL::text, NULL::text, NULL::text, NULL::text, false::boolean, NULL::text, NULL::text, NULL::text, NULL::text, NULL::text, false::boolean)Date: 2026-04-15 12:58:00 Database: zemm_produktiv_8 Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-15_000000.csv