-
Global information
- Generated on Mon Jun 15 06:05:11 2026
- Log file: /var/log/postgresql/postgresql-2026-05-13_000000.csv, ..., /var/log/postgresql/postgresql-2026-06-15_000000.csv
- Parsed 389,578 log entries in 5m10s
- Log start from 2026-05-26 00:00:01 to 2026-05-26 23:59:55
-
Overview
Global Stats
- 65 Number of unique normalized queries
- 24,933 Number of queries
- 2d20h41m35s Total query duration
- 2026-05-26 00:00:01 First query
- 2026-05-26 23:59:01 Last query
- 18 queries/s at 2026-05-26 11:42:01 Query peak
- 2d20h41m35s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 2d20h41m35s Execute total duration
- 3 Number of events
- 2 Number of unique normalized events
- 2 Max number of times the same event was reported
- 0 Number of cancellation
- 94 Total number of automatic vacuums
- 227 Total number of automatic analyzes
- 0 Number temporary file
- 0 Max size of temporary file
- 0.00 B Average size of temporary file
- 39,122 Total number of sessions
- 22 sessions at 2026-05-26 13:33:06 Session peak
- 2h31m5s Total duration of sessions
- 231ms Average duration of sessions
- 0 Average queries per session
- 6s321ms Average queries duration per session
- 0ms Average idle time per session
- 39,122 Total number of connections
- 37 connections/s at 2026-05-26 13:18:01 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-05-26 11:42:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-05-26 14:41:22 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 18 queries/s Query Peak
- 2026-05-26 23:24:01 Date
Queries duration
Key values
- 2d20h41m35s 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) May 26 00 1,026 0ms 12s238ms 10s555ms 3m28s 3m39s 3m40s 01 1,027 1s76ms 12s254ms 10s507ms 3m28s 3m38s 3m40s 02 1,025 12s107ms 12s306ms 12s176ms 3m29s 3m38s 3m39s 03 1,026 12s152ms 12s306ms 12s224ms 3m38s 3m40s 3m41s 04 1,026 12s114ms 12s304ms 12s217ms 3m38s 3m40s 3m41s 05 1,026 12s114ms 12s270ms 12s208ms 3m38s 3m39s 3m40s 06 1,026 12s174ms 12s377ms 12s279ms 3m39s 3m41s 3m42s 07 1,031 729ms 12s341ms 8s771ms 3m29s 3m39s 3m41s 08 1,041 514ms 12s284ms 5s499ms 3m28s 3m29s 3m30s 09 1,048 528ms 12s397ms 5s902ms 3m30s 3m31s 3m41s 10 1,035 646ms 12s298ms 7s772ms 3m28s 3m38s 3m41s 11 1,203 584ms 12s438ms 3s126ms 3m29s 3m31s 3m42s 12 1,038 651ms 12s407ms 7s783ms 3m30s 3m38s 3m42s 13 1,055 501ms 12s413ms 6s44ms 3m29s 3m35s 3m39s 14 1,040 583ms 12s338ms 7s511ms 3m29s 3m32s 3m41s 15 1,028 730ms 12s360ms 12s265ms 3m38s 3m41s 3m42s 16 1,043 716ms 12s328ms 9s654ms 3m29s 3m41s 3m41s 17 1,029 780ms 13s212ms 10s339ms 3m29s 3m41s 3m42s 18 1,026 12s221ms 12s417ms 12s311ms 3m40s 3m41s 3m42s 19 1,026 12s148ms 12s417ms 12s237ms 3m38s 3m40s 3m43s 20 1,025 12s113ms 12s283ms 12s195ms 3m28s 3m39s 3m41s 21 1,026 12s81ms 12s292ms 12s202ms 3m37s 3m40s 3m41s 22 1,026 12s81ms 12s334ms 12s288ms 3m37s 3m41s 3m41s 23 1,031 548ms 12s311ms 11s476ms 3m39s 3m40s 3m41s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 26 00 0 0 0ms 0ms 0ms 0ms 01 0 0 0ms 0ms 0ms 0ms 02 0 0 0ms 0ms 0ms 0ms 03 0 0 0ms 0ms 0ms 0ms 04 0 0 0ms 0ms 0ms 0ms 05 0 0 0ms 0ms 0ms 0ms 06 0 0 0ms 0ms 0ms 0ms 07 6 0 772ms 0ms 0ms 1s545ms 08 13 0 957ms 0ms 580ms 2s647ms 09 19 0 874ms 528ms 1s361ms 2s389ms 10 3 0 751ms 0ms 0ms 734ms 11 178 0 771ms 4s662ms 7s636ms 13s704ms 12 8 0 764ms 0ms 0ms 1s529ms 13 24 0 660ms 0ms 1s31ms 3s230ms 14 14 0 1s21ms 0ms 1s97ms 2s898ms 15 2 0 770ms 0ms 0ms 0ms 16 16 0 767ms 0ms 0ms 3s75ms 17 2 0 788ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 0 5 1s308ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 26 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s76ms 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 May 26 00 0 6 6.00 0.00% 01 0 6 6.00 0.00% 02 0 5 5.00 0.00% 03 0 6 6.00 0.00% 04 0 6 6.00 0.00% 05 0 6 6.00 0.00% 06 0 6 6.00 0.00% 07 0 5 5.00 0.00% 08 0 6 6.00 0.00% 09 0 6 6.00 0.00% 10 0 6 6.00 0.00% 11 0 5 5.00 0.00% 12 0 7 7.00 0.00% 13 0 6 6.00 0.00% 14 0 5 5.00 0.00% 15 0 6 6.00 0.00% 16 0 6 6.00 0.00% 17 0 6 6.00 0.00% 18 0 6 6.00 0.00% 19 0 6 6.00 0.00% 20 0 5 5.00 0.00% 21 0 6 6.00 0.00% 22 0 6 6.00 0.00% 23 0 6 6.00 0.00% Day Hour Count Average / Second May 26 00 897 0.25/s 01 900 0.25/s 02 867 0.24/s 03 897 0.25/s 04 915 0.25/s 05 882 0.24/s 06 1,394 0.39/s 07 1,797 0.50/s 08 1,907 0.53/s 09 3,195 0.89/s 10 2,815 0.78/s 11 3,137 0.87/s 12 2,260 0.63/s 13 3,518 0.98/s 14 2,942 0.82/s 15 1,527 0.42/s 16 1,450 0.40/s 17 1,839 0.51/s 18 1,384 0.38/s 19 1,008 0.28/s 20 885 0.25/s 21 904 0.25/s 22 899 0.25/s 23 903 0.25/s Day Hour Count Average Duration Average idle time May 26 00 897 264ms 0ms 01 900 263ms 0ms 02 867 256ms 0ms 03 897 264ms 0ms 04 915 259ms 0ms 05 882 268ms 0ms 06 1,394 194ms 0ms 07 1,797 198ms 0ms 08 1,907 194ms 0ms 09 3,193 173ms 0ms 10 2,817 170ms 0ms 11 3,137 249ms 0ms 12 2,260 192ms 0ms 13 3,518 313ms 0ms 14 2,942 204ms 0ms 15 1,527 210ms 0ms 16 1,448 229ms 0ms 17 1,841 213ms 0ms 18 1,384 287ms 0ms 19 1,008 267ms 0ms 20 885 265ms 0ms 21 904 274ms 0ms 22 899 276ms 0ms 23 903 282ms 0ms -
Connections
Established Connections
Key values
- 37 connections Connection Peak
- 2026-05-26 13:18:01 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 39,122 connections Total
Connections per user
Key values
- labanimal Main User
- 39,122 connections Total
-
Sessions
Simultaneous sessions
Key values
- 22 sessions Session Peak
- 2026-05-26 13:33:06 Date
Histogram of session times
Key values
- 35,502 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 39,122 sessions Total
Sessions per user
Key values
- labanimal Main User
- 39,122 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 39,122 sessions Total
Sessions per application
Key values
- Main Application
- 39,122 sessions Total
Application Count Total Duration Average Duration 31,913 2h9m54s 244ms _backend_cage_autocomplete_api.php_q_2025_limit_12_zemm_dev_loc 1 31ms 31ms _backend_cage_autocomplete_api.php_q_Kadavertruhe_limit_12_zemm 1 45ms 45ms _backend_wean_api.php_litter_id_10130227_zemm_dev_localhost_543 5 631ms 126ms _backend_wean_api.php_litter_id_10130236_zemm_dev_localhost_543 5 672ms 134ms _backend_wean_api.php_litter_id_10130257_zemm_dev_localhost_543 6 765ms 127ms _desktop__command_tasks_command_tasks_subcommand_open_screen__q 1 208ms 208ms _desktop__zemm_dev_localhost_5432 1 68ms 68ms _desktop__zemm_produktiv_8_localhost_5432 30 1s664ms 55ms _desktop_index.php_animal_id_2026_2F000_2F1217_species_1_breedi 1 52ms 52ms _desktop_index.php_animal_name_69_animal_id_2026_2F000_2F6101_s 1 112ms 112ms _desktop_index.php_animal_name__23737_animal_id_2026_2F000_2F77 3 202ms 67ms _desktop_index.php_cages_name_51_2A_cages_empty_false_val4_cage 1 100ms 100ms _desktop_index.php_cages_name_A15.415-_2A_cages_empty__25_val4_ 1 72ms 72ms _desktop_index.php_cages_name_Abgabe_2A_cages_empty__25_val4_ca 1 177ms 177ms _desktop_index.php_command_animals_breedings_subcommand_select_ 1 56ms 56ms _desktop_index.php_command_animals_create_subcommand_init_zemm_ 1 52ms 52ms _desktop_index.php_command_animals_edit_subcommand_found_val1_1 1 79ms 79ms _desktop_index.php_command_animals_edit_subcommand_init_id_1027 9 841ms 93ms _desktop_index.php_command_animals_edit_subcommand_init_id_1028 8 726ms 90ms _desktop_index.php_command_animals_edit_subcommand_init_id_1029 5 488ms 97ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 10 927ms 92ms _desktop_index.php_command_animals_edit_subcommand_link_init_va 1 122ms 122ms _desktop_index.php_command_animals_edit_subcommand_m_init_scree 1 137ms 137ms _desktop_index.php_command_animals_litters_create_subcommand_se 1 185ms 185ms _desktop_index.php_command_animals_litters_edit_subcommand_init 2 189ms 94ms _desktop_index.php_command_animals_litters_edit_subcommand_m_in 1 286ms 286ms _desktop_index.php_command_animals_litters_subcommand_init_zemm 1 34ms 34ms _desktop_index.php_command_animals_litters_subcommand_select_ze 1 52ms 52ms _desktop_index.php_command_animals_subcommand_found_val1_101014 1 529ms 529ms _desktop_index.php_command_animals_subcommand_found_val1_12632_ 1 404ms 404ms _desktop_index.php_command_animals_subcommand_found_val1_1632_v 1 43ms 43ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 33 1s368ms 41ms _desktop_index.php_command_animals_subcommand_select_zemm_dev_l 1 56ms 56ms _desktop_index.php_command_cages_subcommand_init_zemm_produktiv 3 126ms 42ms _desktop_index.php_command_login_subcommand_init_zemm_dev_local 6 156ms 26ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,773 51s513ms 29ms _desktop_index.php_command_login_subcommand_init_zemm_test_loca 4 120ms 30ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 1 104ms 104ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 8 874ms 109ms _desktop_index.php_command_reports_subcommand_fates_zemm_dev_lo 1 154ms 154ms _desktop_index.php_command_reports_subcommand_init_zemm_dev_loc 2 1s729ms 864ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 5 542ms 108ms _desktop_index.php_command_tasks_subcommand_create_task_id_50_z 3 165ms 55ms _desktop_index.php_command_tasks_subcommand_edit_id_10134267_ze 1 89ms 89ms _desktop_index.php_command_tasks_subcommand_edit_id_10142543_ze 2 169ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10143130_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10143142_ze 1 82ms 82ms _desktop_index.php_command_tasks_subcommand_edit_id_10143144_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10143161_ze 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10143163_ze 1 82ms 82ms _desktop_index.php_command_tasks_subcommand_edit_id_10143176_ze 1 69ms 69ms _desktop_index.php_command_tasks_subcommand_init_search_zemm_de 1 54ms 54ms _desktop_index.php_command_tasks_subcommand_init_zemm_produktiv 80 5s810ms 72ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_id_10 19 1s24ms 53ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 1 236ms 236ms _desktop_index.php_m_action_animals_3Am_delete_row_animals_1030 2 927ms 463ms _desktop_index.php_m_action_animals_3Am_delete_val4_animals_lis 1 44ms 44ms _desktop_index.php_name_Genotypisierungsproben_20genommen_instr 20 1s203ms 60ms _desktop_index.php_name_Verpaarungen_20mit_20Zuchtgenehmigung_2 1 41ms 41ms _desktop_index.php_name_Verpaarungen_20zur_20Zucht_instructions 3 126ms 42ms _desktop_index.php_sire_name_5_dam_name_10_sire_id_2025_2F002_2 1 67ms 67ms _desktop_index.php_val4_documents_command_home_subcommand_init_ 2 190ms 95ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 2 509ms 254ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 166 2m3s 745ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_s 1 79ms 79ms _desktop_index.php_zemm_dev_localhost_5432 16 4s506ms 281ms _desktop_index.php_zemm_produktiv_8_localhost_5432 4,799 17m12s 215ms backend:zemm_produktiv_8@localhost 111 6s170ms 55ms bounces:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 64ms 64ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s117ms 1s117ms pg_dump 1 10s794ms 10s794ms psql 3 37ms 12ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 14s315ms 596ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 19,629 buffers Checkpoint Peak
- 2026-05-26 01:37:46 Date
- 269.564 seconds Highest write time
- 0.035 seconds Sync time
Checkpoints Wal files
Key values
- 6 files Wal files usage Peak
- 2026-05-26 01:37:46 Date
Checkpoints distance
Key values
- 199.61 Mo Distance Peak
- 2026-05-26 01:37:46 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time May 26 00 8,763 876.64s 0.1s 876.793s 01 27,342 1,041.28s 0.099s 1,041.433s 02 10,112 1,011.69s 0.111s 1,011.867s 03 8,928 893.575s 0.101s 893.743s 04 8,976 898.388s 0.1s 898.544s 05 9,421 942.863s 0.098s 943.015s 06 9,956 996.421s 0.169s 996.643s 07 11,945 1,194.83s 0.241s 1,195.123s 08 12,274 1,227.751s 0.272s 1,228.078s 09 11,910 1,191.894s 0.274s 1,192.233s 10 10,440 1,044.426s 0.226s 1,044.711s 11 12,753 1,275.711s 0.262s 1,276.028s 12 11,493 1,149.768s 0.237s 1,150.054s 13 13,682 1,370.41s 0.293s 1,370.762s 14 12,082 1,209.484s 0.23s 1,209.765s 15 11,293 1,129.626s 0.183s 1,129.865s 16 10,009 1,001.339s 0.154s 1,001.546s 17 12,315 1,232.209s 0.22s 1,232.491s 18 10,148 1,015.331s 0.166s 1,015.552s 19 8,536 854.204s 0.12s 854.377s 20 9,509 950.778s 0.111s 950.948s 21 9,640 964.988s 0.105s 965.155s 22 9,172 917.897s 0.098s 918.043s 23 8,352 835.567s 0.108s 835.737s Day Hour Added Removed Recycled Synced files Longest sync Average sync May 26 00 0 0 2 533 0.001s 0.012s 01 0 0 7 517 0.001s 0.011s 02 0 0 2 579 0.002s 0.013s 03 0 0 2 526 0.002s 0.012s 04 0 0 2 527 0.001s 0.012s 05 0 0 2 537 0.001s 0.012s 06 0 0 2 950 0.002s 0.012s 07 0 0 3 1,381 0.002s 0.012s 08 0 0 2 1,637 0.003s 0.012s 09 0 0 3 1,588 0.003s 0.012s 10 0 0 2 1,336 0.002s 0.012s 11 0 0 3 1,537 0.002s 0.012s 12 0 0 2 1,366 0.002s 0.012s 13 0 0 5 1,724 0.003s 0.012s 14 0 0 3 1,352 0.002s 0.011s 15 0 0 2 1,023 0.004s 0.013s 16 0 0 2 808 0.004s 0.011s 17 0 0 3 1,279 0.002s 0.013s 18 0 0 2 952 0.002s 0.012s 19 0 0 2 668 0.002s 0.012s 20 0 0 2 567 0.002s 0.012s 21 0 0 2 544 0.002s 0.012s 22 0 0 1 524 0.001s 0.012s 23 0 0 2 540 0.002s 0.012s Day Hour Count Avg time (sec) May 26 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 May 26 00 2,412.42 kB 2,982.00 kB 01 11,533.91 kB 40,057.91 kB 02 2,577.23 kB 36,309.77 kB 03 2,486.92 kB 11,491.83 kB 04 2,451.33 kB 4,997.00 kB 05 2,558.92 kB 3,292.33 kB 06 2,710.33 kB 3,397.75 kB 07 3,740.75 kB 6,212.08 kB 08 3,415.00 kB 4,960.92 kB 09 3,475.00 kB 4,154.33 kB 10 3,046.50 kB 4,003.08 kB 11 3,700.58 kB 4,706.92 kB 12 3,232.58 kB 4,096.00 kB 13 6,529.92 kB 12,228.33 kB 14 4,933.00 kB 11,523.00 kB 15 2,866.62 kB 5,701.62 kB 16 2,908.55 kB 3,925.64 kB 17 3,264.85 kB 4,050.15 kB 18 2,871.67 kB 3,718.58 kB 19 2,386.83 kB 3,159.17 kB 20 2,588.50 kB 3,157.25 kB 21 2,556.17 kB 3,170.67 kB 22 2,515.50 kB 3,003.75 kB 23 2,396.67 kB 2,923.42 kB -
Temporary Files
Size of temporary files
Key values
- 0 Temp Files size Peak
- Date
Size of temporary files (5 minutes period)
NO DATASET
Number of temporary files
Key values
- 0 per second Temp Files Peak
- Date
Number of temporary files (5 minutes period)
NO DATASET
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size May 26 00 0 0 0 01 0 0 0 02 0 0 0 03 0 0 0 04 0 0 0 05 0 0 0 06 0 0 0 07 0 0 0 08 0 0 0 09 0 0 0 10 0 0 0 11 0 0 0 12 0 0 0 13 0 0 0 14 0 0 0 15 0 0 0 16 0 0 0 17 0 0 0 18 0 0 0 19 0 0 0 20 0 0 0 21 0 0 0 22 0 0 0 23 0 0 0 -
Vacuums
Vacuums / Analyzes Distribution
Key values
- 0.62 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-05-26 01:30:21 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_produktiv_8 - Date
Average Autovacuum Duration
Key values
- 0.62 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-05-26 01:30:21 Date
Analyzes per table
Key values
- pg_catalog.pg_type (66) Main table analyzed (database zemm_produktiv_8)
- 227 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 66 zemm_produktiv_8.pg_catalog.pg_attribute 51 zemm_produktiv_8.pg_catalog.pg_class 35 zemm_produktiv_8.pg_catalog.pg_depend 33 zemm_produktiv_8.pg_catalog.pg_shdepend 4 postgres.pg_catalog.pg_shdepend 3 zemm_produktiv_8.public.tmptasks 3 zemm_produktiv_8.public.users 3 invdb.pg_catalog.pg_shdepend 3 zemm_produktiv_8.public.cages_search_mview 3 zemm_dev.pg_catalog.pg_shdepend 3 zemm_monitoring.observability.metrics_timeseries 2 template1.pg_catalog.pg_shdepend 2 zemm_monitoring.pg_catalog.pg_shdepend 2 labanimal.pg_catalog.pg_shdepend 2 zemm_test.pg_catalog.pg_shdepend 2 fbi_unibi.pg_catalog.pg_shdepend 2 zemm_produktiv_8.public.cost_history 2 fbi_ci_db.pg_catalog.pg_shdepend 1 zemm_monitoring.observability.nginx_counters 1 fbi_unire.pg_catalog.pg_shdepend 1 zemm_monitoring.observability.uptime_checks 1 template0.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.tasks 1 Total 227 Vacuums per table
Key values
- pg_catalog.pg_type (25) Main table vacuumed on database zemm_produktiv_8
- 94 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 25 25 0 0 0 0 0 1,433 282 408,963 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 20 20 0 0 0 0 0 3,897 1,082 1,445,031 3 94 zemm_produktiv_8.pg_catalog.pg_class 13 13 0 0 0 0 0 1,177 346 444,845 0 0 zemm_produktiv_8.pg_catalog.pg_depend 11 11 0 0 0 0 0 1,752 477 765,281 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 5 5 0 0 0 0 0 927 244 1,276,166 49 134 zemm_monitoring.pg_toast.pg_toast_181881 4 0 0 0 0 0 0 1,138 389 1,943,210 374 2,029 template0.pg_catalog.pg_shdepend 3 3 0 0 0 0 0 209 27 70,747 0 0 zemm_monitoring.pg_toast.pg_toast_67431 3 0 0 0 0 0 0 4,932 1,803 4,095,685 1,338 8,028 invdb.pg_catalog.pg_shdepend 3 3 0 0 0 0 0 209 71 147,607 0 0 postgres.pg_catalog.pg_shdepend 2 2 0 0 0 0 0 149 19 58,853 0 0 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 48,795 4 3,498,215 0 0 zemm_dev.pg_catalog.pg_shdepend 1 1 0 0 0 0 0 74 27 61,868 0 0 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 0 0 0 0 0 214 61 196,529 30 97 fbi_unire.pg_catalog.pg_shdepend 1 1 0 0 0 0 0 73 2 14,826 0 0 zemm_produktiv_8.public.tmptasks 1 1 0 0 0 0 0 83 32 33,539 0 0 Total 94 87 0 0 0 0 0 65,062 4,866 14,461,365 1,794 10,382 Vacuum throughput per table
Key values
- public.tasks (0.62) Max CPU elapsed for vacuum on database zemm_produktiv_8
- pg_catalog.pg_shdepend (0.44 ms) Max I/O read time for vacuum on database zemm_produktiv_8
- unknown (0 ms) Max I/O write time for vacuum on database zemm_produktiv_8
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 0 0 0.02 zemm_produktiv_8.pg_catalog.pg_attribute 0 0 0.22 zemm_produktiv_8.pg_catalog.pg_class 0 0 0.01 zemm_produktiv_8.pg_catalog.pg_depend 0 0 0.08 zemm_produktiv_8.pg_toast.pg_toast_2619 0 0 0.04 zemm_monitoring.pg_toast.pg_toast_181881 0 0 0.08 template0.pg_catalog.pg_shdepend 0.25 0 0 zemm_monitoring.pg_toast.pg_toast_67431 0 0 0.45 invdb.pg_catalog.pg_shdepend 0 0 0 postgres.pg_catalog.pg_shdepend 0 0 0 zemm_produktiv_8.public.tasks 0 0 0.62 zemm_dev.pg_catalog.pg_shdepend 0 0 0 zemm_produktiv_8.pg_catalog.pg_statistic 0.439 0 0.01 fbi_unire.pg_catalog.pg_shdepend 0.44 0 0 zemm_produktiv_8.public.tmptasks 0.386 0 0 Total 1.515 0 1.53 Tuples removed per table
Key values
- public.tasks (54707) Main table with removed tuples on database zemm_produktiv_8
- 95845 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 54,707 57,749 0 0 17,060 zemm_produktiv_8.pg_catalog.pg_attribute 20 20 20,904 109,813 42 144 3,824 zemm_produktiv_8.pg_catalog.pg_depend 11 11 7,781 46,203 36 18 623 zemm_produktiv_8.pg_catalog.pg_type 25 25 4,987 20,775 0 26 801 zemm_monitoring.pg_toast.pg_toast_67431 3 0 2,690 2,167,800 0 0 370,886 zemm_produktiv_8.pg_catalog.pg_class 13 13 2,066 11,748 9 0 546 invdb.pg_catalog.pg_shdepend 3 3 653 14,115 0 0 114 zemm_produktiv_8.pg_toast.pg_toast_2619 5 5 553 1,470 0 0 530 template0.pg_catalog.pg_shdepend 3 3 514 14,124 9 0 114 postgres.pg_catalog.pg_shdepend 2 2 311 9,410 0 0 76 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 266 1,269 0 0 143 zemm_dev.pg_catalog.pg_shdepend 1 1 182 4,705 0 0 38 fbi_unire.pg_catalog.pg_shdepend 1 1 161 4,705 0 0 38 zemm_produktiv_8.public.tmptasks 1 1 70 805 0 0 120 zemm_monitoring.pg_toast.pg_toast_181881 4 0 0 33,356 0 0 6,268 Total 94 87 95,845 2,498,047 96 188 401,181 Pages removed per table
Key values
- pg_catalog.pg_attribute (144) Main table with removed pages on database zemm_produktiv_8
- 188 pages Total removed
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_8.pg_catalog.pg_attribute 20 20 20904 144 zemm_produktiv_8.pg_catalog.pg_type 25 25 4987 26 zemm_produktiv_8.pg_catalog.pg_depend 11 11 7781 18 zemm_produktiv_8.pg_catalog.pg_class 13 13 2066 0 template0.pg_catalog.pg_shdepend 3 3 514 0 zemm_produktiv_8.public.tasks 1 1 54707 0 zemm_dev.pg_catalog.pg_shdepend 1 1 182 0 zemm_monitoring.pg_toast.pg_toast_67431 3 0 2690 0 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 266 0 fbi_unire.pg_catalog.pg_shdepend 1 1 161 0 zemm_monitoring.pg_toast.pg_toast_181881 4 0 0 0 invdb.pg_catalog.pg_shdepend 3 3 653 0 zemm_produktiv_8.public.tmptasks 1 1 70 0 postgres.pg_catalog.pg_shdepend 2 2 311 0 zemm_produktiv_8.pg_toast.pg_toast_2619 5 5 553 0 Total 94 87 95,845 188 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs May 26 00 0 0 01 3 1 02 1 0 03 0 0 04 0 0 05 0 1 06 3 15 07 8 23 08 6 11 09 3 12 10 7 18 11 9 23 12 12 24 13 22 48 14 5 20 15 6 12 16 4 5 17 4 13 18 0 1 19 0 0 20 1 0 21 0 0 22 0 0 23 0 0 - 0.62 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
- 285 Total read queries
- 24,648 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,620 Requests
- 2d20h37m13s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- monitoring_admin Main user
- 344,603 Requests
User Request type Count Duration labanimal Total 1,345 30m52s copy to 8 22s808ms cte 194 4m35s select 1,129 25m39s update 14 15s340ms monitoring_admin Total 344,603 22d9h34m45s cte 1,069 3h9m53s ddl 342,682 22d6h12m36s select 847 12m10s postgres Total 73 1m42s copy to 73 1m42s Duration by user
Key values
- 22d9h34m45s (monitoring_admin) Main time consuming user
User Request type Count Duration labanimal Total 1,345 30m52s copy to 8 22s808ms cte 194 4m35s select 1,129 25m39s update 14 15s340ms monitoring_admin Total 344,603 22d9h34m45s cte 1,069 3h9m53s ddl 342,682 22d6h12m36s select 847 12m10s postgres Total 73 1m42s copy to 73 1m42s Queries by host
Key values
- unknown Main host
- 345,934 Requests
- 22d10h5m22s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 24,620 Requests
- 2d20h37m13s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_command_reports_subcommand_init_zemm_dev_loc Total 2 1s576ms select 2 1s576ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b Total 46 35s285ms select 46 35s285ms _desktop_index.php_zemm_dev_localhost_5432 Total 1 799ms cte 1 799ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 258 3m36s cte 21 28s484ms select 237 3m8s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s76ms update 1 1s76ms pg_dump Total 5 6s544ms copy to 5 6s544ms unknown Total 24,620 2d20h37m13s cte 140 28m35s ddl 24,480 2d20h8m38s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-05-26 06:30:39 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 277 500-1000ms duration
Slowest individual queries
Rank Duration Query 1 13s212ms 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', 'live') AND collected_at >= '2026-05-24 11:34:24+02' AND collected_at <= '2026-05-26 11:34:24+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', 'live') AND collected_at BETWEEN '2026-05-26 11:34:24+02' AND '2026-05-26 17:34:24+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', 'live') AND collected_at BETWEEN '2026-05-26 11:34:24+02' AND '2026-05-26 17:34:24+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-05-26 17:34:37 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
2 12s438ms 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', 'live') AND collected_at >= '2026-05-24 05:50:56+02' AND collected_at <= '2026-05-26 05:50:56+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', 'live') AND collected_at BETWEEN '2026-05-26 05:50:56+02' AND '2026-05-26 11:50:56+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', 'live') AND collected_at BETWEEN '2026-05-26 05:50:56+02' AND '2026-05-26 11:50:56+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-05-26 11:51:09 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
3 12s417ms 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', 'live') AND collected_at >= '2026-05-24 12:56:54+02' AND collected_at <= '2026-05-26 12:56:54+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', 'live') AND collected_at BETWEEN '2026-05-26 12:56:54+02' AND '2026-05-26 18:56:54+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', 'live') AND collected_at BETWEEN '2026-05-26 12:56:54+02' AND '2026-05-26 18:56:54+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-05-26 18:57:06 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
4 12s417ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
5 12s417ms 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-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
6 12s417ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
7 12s417ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
8 12s417ms 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-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
9 12s417ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
10 12s417ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
11 12s417ms 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-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
12 12s417ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
13 12s417ms 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-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
14 12s417ms 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-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
15 12s417ms 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-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
16 12s417ms 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-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
17 12s417ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
18 12s417ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
19 12s417ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
20 12s417ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-05-26 18:58:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 4h30s 1,440 511ms 12s417ms 10s21ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
2 4h30s 1,440 511ms 12s417ms 10s21ms create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
3 4h30s 1,440 511ms 12s417ms 10s21ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
4 4h30s 1,440 511ms 12s417ms 10s21ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
5 4h30s 1,440 511ms 12s417ms 10s21ms 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 #5
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
6 4h30s 1,440 511ms 12s417ms 10s21ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
7 4h30s 1,440 511ms 12s417ms 10s21ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
8 4h30s 1,440 511ms 12s417ms 10s21ms create schema if not exists observability;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
9 4h30s 1,440 511ms 12s417ms 10s21ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
10 4h30s 1,440 511ms 12s417ms 10s21ms create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
11 4h30s 1,440 511ms 12s417ms 10s21ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
12 4h30s 1,440 511ms 12s417ms 10s21ms 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 #12
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
13 4h30s 1,440 511ms 12s417ms 10s21ms create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
14 4h30s 1,440 511ms 12s417ms 10s21ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
15 4h30s 1,440 511ms 12s417ms 10s21ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
16 4h30s 1,440 511ms 12s417ms 10s21ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
17 4h30s 1,440 511ms 12s417ms 10s21ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
18 28m35s 140 12s81ms 13s212ms 12s250ms 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 >= ? 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 May 26 01 6 1m12s 12s165ms 02 6 1m13s 12s182ms 03 5 1m 12s179ms 04 6 1m13s 12s219ms 05 6 1m13s 12s211ms 06 6 1m13s 12s219ms 07 6 1m13s 12s289ms 08 5 1m1s 12s274ms 09 6 1m13s 12s223ms 10 6 1m13s 12s308ms 11 6 1m13s 12s245ms 12 5 1m1s 12s294ms 13 7 1m25s 12s263ms 14 6 1m13s 12s240ms 15 5 1m1s 12s262ms 16 6 1m13s 12s289ms 17 6 1m13s 12s247ms 18 6 1m14s 12s424ms 19 6 1m13s 12s326ms 20 6 1m13s 12s219ms 21 5 1m 12s181ms 22 6 1m13s 12s195ms 23 6 1m13s 12s296ms 00 6 1m13s 12s238ms [ User: monitoring_admin - Total duration: 28m35s - Times executed: 140 ]
-
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', 'live') AND collected_at >= '2026-05-24 11:34:24+02' AND collected_at <= '2026-05-26 11:34:24+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', 'live') AND collected_at BETWEEN '2026-05-26 11:34:24+02' AND '2026-05-26 17:34:24+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', 'live') AND collected_at BETWEEN '2026-05-26 11:34:24+02' AND '2026-05-26 17:34:24+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-05-26 17:34:37 Duration: 13s212ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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', 'live') AND collected_at >= '2026-05-24 05:50:56+02' AND collected_at <= '2026-05-26 05:50:56+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', 'live') AND collected_at BETWEEN '2026-05-26 05:50:56+02' AND '2026-05-26 11:50:56+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', 'live') AND collected_at BETWEEN '2026-05-26 05:50:56+02' AND '2026-05-26 11:50:56+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-05-26 11:51:09 Duration: 12s438ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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', 'live') AND collected_at >= '2026-05-24 12:56:54+02' AND collected_at <= '2026-05-26 12:56:54+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', 'live') AND collected_at BETWEEN '2026-05-26 12:56:54+02' AND '2026-05-26 18:56:54+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', 'live') AND collected_at BETWEEN '2026-05-26 12:56:54+02' AND '2026-05-26 18:56:54+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-05-26 18:57:06 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
19 1m26s 107 785ms 900ms 804ms 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 May 26 09 1 786ms 786ms 10 1 814ms 814ms 11 1 799ms 799ms 12 85 1m8s 805ms 13 4 3s214ms 803ms 14 4 3s196ms 799ms 15 2 1s612ms 806ms 16 1 810ms 810ms 17 8 6s442ms 805ms [ User: labanimal - Total duration: 1m26s - Times executed: 107 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m7s - Times executed: 84 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 18s572ms - Times executed: 23 ]
-
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, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:35:29 Duration: 900ms 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-05-26_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, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:50:50 Duration: 844ms 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-05-26_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, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:39:50 Duration: 842ms 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-05-26_000000.csv
20 1m18s 107 713ms 881ms 729ms 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 May 26 09 1 716ms 716ms 11 2 1s453ms 726ms 12 85 1m1s 728ms 13 4 2s901ms 725ms 14 4 2s932ms 733ms 15 2 1s481ms 740ms 16 1 730ms 730ms 17 8 5s836ms 729ms [ User: labanimal - Total duration: 1m18s - Times executed: 107 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m1s - Times executed: 84 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 16s712ms - Times executed: 23 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:50:57 Duration: 881ms 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-05-26_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:39:51 Duration: 773ms 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-05-26_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100187) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100187) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100187) 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-05-26 11:39:51 Duration: 770ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 4h30s 511ms 12s417ms 10s21ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
2 1,440 4h30s 511ms 12s417ms 10s21ms create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
3 1,440 4h30s 511ms 12s417ms 10s21ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
4 1,440 4h30s 511ms 12s417ms 10s21ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
5 1,440 4h30s 511ms 12s417ms 10s21ms 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 #5
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
6 1,440 4h30s 511ms 12s417ms 10s21ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
7 1,440 4h30s 511ms 12s417ms 10s21ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
8 1,440 4h30s 511ms 12s417ms 10s21ms create schema if not exists observability;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
9 1,440 4h30s 511ms 12s417ms 10s21ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
10 1,440 4h30s 511ms 12s417ms 10s21ms create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
11 1,440 4h30s 511ms 12s417ms 10s21ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
12 1,440 4h30s 511ms 12s417ms 10s21ms 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 #12
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
13 1,440 4h30s 511ms 12s417ms 10s21ms create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
14 1,440 4h30s 511ms 12s417ms 10s21ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
15 1,440 4h30s 511ms 12s417ms 10s21ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
16 1,440 4h30s 511ms 12s417ms 10s21ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
17 1,440 4h30s 511ms 12s417ms 10s21ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
18 140 28m35s 12s81ms 13s212ms 12s250ms 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 >= ? 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 May 26 01 6 1m12s 12s165ms 02 6 1m13s 12s182ms 03 5 1m 12s179ms 04 6 1m13s 12s219ms 05 6 1m13s 12s211ms 06 6 1m13s 12s219ms 07 6 1m13s 12s289ms 08 5 1m1s 12s274ms 09 6 1m13s 12s223ms 10 6 1m13s 12s308ms 11 6 1m13s 12s245ms 12 5 1m1s 12s294ms 13 7 1m25s 12s263ms 14 6 1m13s 12s240ms 15 5 1m1s 12s262ms 16 6 1m13s 12s289ms 17 6 1m13s 12s247ms 18 6 1m14s 12s424ms 19 6 1m13s 12s326ms 20 6 1m13s 12s219ms 21 5 1m 12s181ms 22 6 1m13s 12s195ms 23 6 1m13s 12s296ms 00 6 1m13s 12s238ms [ User: monitoring_admin - Total duration: 28m35s - Times executed: 140 ]
-
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', 'live') AND collected_at >= '2026-05-24 11:34:24+02' AND collected_at <= '2026-05-26 11:34:24+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', 'live') AND collected_at BETWEEN '2026-05-26 11:34:24+02' AND '2026-05-26 17:34:24+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', 'live') AND collected_at BETWEEN '2026-05-26 11:34:24+02' AND '2026-05-26 17:34:24+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-05-26 17:34:37 Duration: 13s212ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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', 'live') AND collected_at >= '2026-05-24 05:50:56+02' AND collected_at <= '2026-05-26 05:50:56+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', 'live') AND collected_at BETWEEN '2026-05-26 05:50:56+02' AND '2026-05-26 11:50:56+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', 'live') AND collected_at BETWEEN '2026-05-26 05:50:56+02' AND '2026-05-26 11:50:56+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-05-26 11:51:09 Duration: 12s438ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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', 'live') AND collected_at >= '2026-05-24 12:56:54+02' AND collected_at <= '2026-05-26 12:56:54+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', 'live') AND collected_at BETWEEN '2026-05-26 12:56:54+02' AND '2026-05-26 18:56:54+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', 'live') AND collected_at BETWEEN '2026-05-26 12:56:54+02' AND '2026-05-26 18:56:54+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-05-26 18:57:06 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
19 107 1m26s 785ms 900ms 804ms 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 May 26 09 1 786ms 786ms 10 1 814ms 814ms 11 1 799ms 799ms 12 85 1m8s 805ms 13 4 3s214ms 803ms 14 4 3s196ms 799ms 15 2 1s612ms 806ms 16 1 810ms 810ms 17 8 6s442ms 805ms [ User: labanimal - Total duration: 1m26s - Times executed: 107 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m7s - Times executed: 84 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 18s572ms - Times executed: 23 ]
-
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, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:35:29 Duration: 900ms 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-05-26_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, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:50:50 Duration: 844ms 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-05-26_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, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:39:50 Duration: 842ms 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-05-26_000000.csv
20 107 1m18s 713ms 881ms 729ms 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 May 26 09 1 716ms 716ms 11 2 1s453ms 726ms 12 85 1m1s 728ms 13 4 2s901ms 725ms 14 4 2s932ms 733ms 15 2 1s481ms 740ms 16 1 730ms 730ms 17 8 5s836ms 729ms [ User: labanimal - Total duration: 1m18s - Times executed: 107 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m1s - Times executed: 84 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 16s712ms - Times executed: 23 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:50:57 Duration: 881ms 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-05-26_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:39:51 Duration: 773ms 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-05-26_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100187) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100187) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100187) 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-05-26 11:39:51 Duration: 770ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 12s81ms 13s212ms 12s250ms 140 28m35s 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 >= ? 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 May 26 01 6 1m12s 12s165ms 02 6 1m13s 12s182ms 03 5 1m 12s179ms 04 6 1m13s 12s219ms 05 6 1m13s 12s211ms 06 6 1m13s 12s219ms 07 6 1m13s 12s289ms 08 5 1m1s 12s274ms 09 6 1m13s 12s223ms 10 6 1m13s 12s308ms 11 6 1m13s 12s245ms 12 5 1m1s 12s294ms 13 7 1m25s 12s263ms 14 6 1m13s 12s240ms 15 5 1m1s 12s262ms 16 6 1m13s 12s289ms 17 6 1m13s 12s247ms 18 6 1m14s 12s424ms 19 6 1m13s 12s326ms 20 6 1m13s 12s219ms 21 5 1m 12s181ms 22 6 1m13s 12s195ms 23 6 1m13s 12s296ms 00 6 1m13s 12s238ms [ User: monitoring_admin - Total duration: 28m35s - Times executed: 140 ]
-
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', 'live') AND collected_at >= '2026-05-24 11:34:24+02' AND collected_at <= '2026-05-26 11:34:24+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', 'live') AND collected_at BETWEEN '2026-05-26 11:34:24+02' AND '2026-05-26 17:34:24+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', 'live') AND collected_at BETWEEN '2026-05-26 11:34:24+02' AND '2026-05-26 17:34:24+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-05-26 17:34:37 Duration: 13s212ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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', 'live') AND collected_at >= '2026-05-24 05:50:56+02' AND collected_at <= '2026-05-26 05:50:56+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', 'live') AND collected_at BETWEEN '2026-05-26 05:50:56+02' AND '2026-05-26 11:50:56+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', 'live') AND collected_at BETWEEN '2026-05-26 05:50:56+02' AND '2026-05-26 11:50:56+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-05-26 11:51:09 Duration: 12s438ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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', 'live') AND collected_at >= '2026-05-24 12:56:54+02' AND collected_at <= '2026-05-26 12:56:54+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', 'live') AND collected_at BETWEEN '2026-05-26 12:56:54+02' AND '2026-05-26 18:56:54+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', 'live') AND collected_at BETWEEN '2026-05-26 12:56:54+02' AND '2026-05-26 18:56:54+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-05-26 18:57:06 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
2 511ms 12s417ms 10s21ms 1,440 4h30s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
3 511ms 12s417ms 10s21ms 1,440 4h30s 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 #3
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
4 511ms 12s417ms 10s21ms 1,440 4h30s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
5 511ms 12s417ms 10s21ms 1,440 4h30s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
6 511ms 12s417ms 10s21ms 1,440 4h30s create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
7 511ms 12s417ms 10s21ms 1,440 4h30s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
8 511ms 12s417ms 10s21ms 1,440 4h30s 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 #8
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
9 511ms 12s417ms 10s21ms 1,440 4h30s create schema if not exists observability;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
10 511ms 12s417ms 10s21ms 1,440 4h30s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
11 511ms 12s417ms 10s21ms 1,440 4h30s create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
12 511ms 12s417ms 10s21ms 1,440 4h30s 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 #12
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
13 511ms 12s417ms 10s21ms 1,440 4h30s 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 #13
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
14 511ms 12s417ms 10s21ms 1,440 4h30s 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 #14
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
15 511ms 12s417ms 10s21ms 1,440 4h30s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
16 511ms 12s417ms 10s21ms 1,440 4h30s 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 #16
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
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-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
17 511ms 12s417ms 10s21ms 1,440 4h30s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
18 511ms 12s417ms 10s21ms 1,440 4h30s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration May 26 01 60 10m32s 10s545ms 02 60 10m30s 10s507ms 03 60 12m10s 12s176ms 04 60 12m13s 12s224ms 05 60 12m13s 12s217ms 06 60 12m12s 12s208ms 07 60 12m16s 12s279ms 08 60 8m48s 8s801ms 09 60 5m31s 5s525ms 10 60 5m58s 5s972ms 11 60 7m48s 7s808ms 12 60 3m29s 3s493ms 13 60 7m49s 7s827ms 14 60 6m9s 6s155ms 15 60 7m34s 7s582ms 16 60 12m17s 12s287ms 17 60 9m47s 9s785ms 18 60 10m21s 10s354ms 19 60 12m18s 12s310ms 20 60 12m14s 12s237ms 21 60 12m11s 12s195ms 22 60 12m12s 12s202ms 23 60 12m17s 12s288ms 00 60 11m31s 11s522ms [ User: monitoring_admin - Total duration: 4h30s - Times executed: 1432 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-26 19:07:01 Duration: 12s417ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-26 13:08:01 Duration: 12s413ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-26 12:58:01 Duration: 12s398ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
19 785ms 900ms 804ms 107 1m26s 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 May 26 09 1 786ms 786ms 10 1 814ms 814ms 11 1 799ms 799ms 12 85 1m8s 805ms 13 4 3s214ms 803ms 14 4 3s196ms 799ms 15 2 1s612ms 806ms 16 1 810ms 810ms 17 8 6s442ms 805ms [ User: labanimal - Total duration: 1m26s - Times executed: 107 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m7s - Times executed: 84 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 18s572ms - Times executed: 23 ]
-
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, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:35:29 Duration: 900ms 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-05-26_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, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:50:50 Duration: 844ms 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-05-26_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, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:39:50 Duration: 842ms 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-05-26_000000.csv
20 713ms 881ms 729ms 107 1m18s 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 May 26 09 1 716ms 716ms 11 2 1s453ms 726ms 12 85 1m1s 728ms 13 4 2s901ms 725ms 14 4 2s932ms 733ms 15 2 1s481ms 740ms 16 1 730ms 730ms 17 8 5s836ms 729ms [ User: labanimal - Total duration: 1m18s - Times executed: 107 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m1s - Times executed: 84 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 16s712ms - Times executed: 23 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:50:57 Duration: 881ms 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-05-26_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 486) AS is_owner, user_is_tgm (animals_search_mview.editor, 486) AS is_editor, user_is_tgm (animals_search_mview.tourist, 486) 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-05-26 11:39:51 Duration: 773ms 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-05-26_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100187) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100187) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100187) 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-05-26 11:39:51 Duration: 770ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-26_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
- 182,321 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
- 3 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 2 Max number of times the same event was reported
- 3 Total events found
Rank Times reported Error 1 2 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #1
Day Hour Count May 26 05 1 19 1 - ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
- ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(live, http_requests_total, 2026-05-26 04:49:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-05-26 04:49:00 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(test, http_requests_total, 2026-05-26 18:03:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-05-26 18:03:14 Database: zemm_monitoring Application: User: monitoring_admin Remote: Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv
2 1 ERROR: invalid input syntax for type date: ...
Times Reported Most Frequent Error / Event #2
Day Hour Count May 26 09 1 - ERROR: invalid input syntax for type date: ""
Statement: Select p_create_litter(183,'2026-05-05'::DATE,'5','2025/002/6851',10289684,'10','2025/002/6856',10289689,5,0,0,'2026-03-23'::DATE,''::DATE,'')
Date: 2026-05-26 08:25:51 Database: zemm_produktiv_8 Application: _desktop_index.php_sire_name_5_dam_name_10_sire_id_2025_2F002_2 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-05-26_000000.csv