-
Global information
- Generated on Thu Apr 30 06:06:14 2026
- Log file: /var/log/postgresql/postgresql-2026-03-25_000000.csv, ..., /var/log/postgresql/postgresql-2026-04-30_000000.csv
- Parsed 333,023 log entries in 6m13s
- Log start from 2026-04-14 00:00:01 to 2026-04-14 23:59:25
-
Overview
Global Stats
- 82 Number of unique normalized queries
- 24,792 Number of queries
- 22h15m55s Total query duration
- 2026-04-14 00:00:01 First query
- 2026-04-14 23:59:25 Last query
- 18 queries/s at 2026-04-14 15:48:01 Query peak
- 22h15m55s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 22h15m55s Execute total duration
- 23 Number of events
- 9 Number of unique normalized events
- 9 Max number of times the same event was reported
- 0 Number of cancellation
- 78 Total number of automatic vacuums
- 157 Total number of automatic analyzes
- 973 Number temporary file
- 177.95 MiB Max size of temporary file
- 50.01 MiB Average size of temporary file
- 31,871 Total number of sessions
- 8 sessions at 2026-04-14 12:16:08 Session peak
- 1h53m7s Total duration of sessions
- 212ms Average duration of sessions
- 0 Average queries per session
- 2s515ms Average queries duration per session
- 0ms Average idle time per session
- 31,871 Total number of connections
- 47 connections/s at 2026-04-14 12:41:09 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-04-14 15:48:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-04-14 14:11:32 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 17 queries/s Query Peak
- 2026-04-14 07:59:01 Date
Queries duration
Key values
- 22h15m55s Total query duration
Prepared queries ratio
Key values
- 0.00 Ratio of bind vs prepare
- 0.00 % Ratio between prepared and "usual" statements
General Activity
↑ Back to the top of the General Activity tableDay Hour Count Min duration Max duration Avg duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 14 00 1,029 0ms 3s596ms 3s8ms 1m1s 1m2s 1m4s 01 1,022 1s26ms 3s492ms 3s161ms 59s367ms 59s367ms 1m 02 1,020 3s490ms 3s490ms 3s490ms 59s335ms 59s335ms 59s335ms 03 1,020 3s490ms 3s490ms 3s490ms 59s335ms 59s335ms 59s335ms 04 1,020 3s490ms 3s490ms 3s490ms 59s335ms 59s335ms 59s335ms 05 1,020 3s490ms 3s490ms 3s490ms 59s335ms 59s335ms 59s335ms 06 1,032 976ms 6s101ms 3s437ms 1m4s 1m21s 1m46s 07 1,035 693ms 3s544ms 2s756ms 1m1s 1m2s 1m3s 08 1,059 604ms 3s594ms 2s224ms 1m2s 1m3s 1m43s 09 1,036 691ms 3s549ms 3s324ms 1m2s 1m3s 1m3s 10 1,042 629ms 3s582ms 3s172ms 1m3s 1m3s 1m4s 11 1,045 682ms 3s579ms 2s632ms 1m2s 1m3s 1m5s 12 1,045 613ms 3s688ms 3s14ms 1m4s 1m5s 1m7s 13 1,058 569ms 26s906ms 4s807ms 1m52s 7m37s 7m56s 14 1,050 680ms 26s906ms 3s409ms 1m4s 1m5s 7m38s 15 1,033 686ms 3s636ms 2s784ms 1m3s 1m4s 1m5s 16 1,021 705ms 3s545ms 850ms 12s 1m 1m 17 1,032 3s544ms 3s622ms 3s579ms 1m4s 1m4s 1m5s 18 1,032 3s507ms 3s744ms 3s580ms 1m4s 1m5s 1m7s 19 1,032 3s454ms 3s615ms 3s527ms 1m3s 1m4s 1m4s 20 1,032 3s446ms 3s685ms 3s591ms 1m4s 1m5s 1m6s 21 1,032 3s474ms 3s610ms 3s533ms 1m3s 1m3s 1m4s 22 1,032 3s467ms 3s606ms 3s540ms 1m3s 1m4s 1m4s 23 1,013 0ms 13s501ms 3s687ms 1m7s 1m15s 3m59s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 14 00 1 0 608ms 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 4 0 3s265ms 0ms 0ms 4s796ms 07 6 0 824ms 0ms 0ms 1s994ms 08 17 0 949ms 0ms 986ms 2s791ms 09 3 0 796ms 0ms 0ms 922ms 10 10 0 1s28ms 0ms 0ms 2s815ms 11 13 0 886ms 0ms 1s447ms 2s264ms 12 13 0 765ms 0ms 0ms 2s898ms 13 22 0 7s918ms 0ms 5s364ms 51s565ms 14 18 0 732ms 0ms 1s446ms 2s970ms 15 8 0 735ms 0ms 0ms 1s474ms 16 0 0 0ms 0ms 0ms 0ms 17 0 0 0ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 5 7 1s365ms 0ms 0ms 3s308ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 14 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s26ms 0ms 0ms 0ms 02 0 0 0 0 0ms 0ms 0ms 0ms 03 0 0 0 0 0ms 0ms 0ms 0ms 04 0 0 0 0 0ms 0ms 0ms 0ms 05 0 0 0 0 0ms 0ms 0ms 0ms 06 0 0 0 0 0ms 0ms 0ms 0ms 07 0 0 0 0 0ms 0ms 0ms 0ms 08 0 0 0 0 0ms 0ms 0ms 0ms 09 0 0 0 0 0ms 0ms 0ms 0ms 10 0 0 0 0 0ms 0ms 0ms 0ms 11 0 0 0 0 0ms 0ms 0ms 0ms 12 0 0 0 0 0ms 0ms 0ms 0ms 13 0 0 0 0 0ms 0ms 0ms 0ms 14 0 0 0 0 0ms 0ms 0ms 0ms 15 0 0 0 0 0ms 0ms 0ms 0ms 16 0 0 0 0 0ms 0ms 0ms 0ms 17 0 0 0 0 0ms 0ms 0ms 0ms 18 0 0 0 0 0ms 0ms 0ms 0ms 19 0 0 0 0 0ms 0ms 0ms 0ms 20 0 0 0 0 0ms 0ms 0ms 0ms 21 0 0 0 0 0ms 0ms 0ms 0ms 22 0 0 0 0 0ms 0ms 0ms 0ms 23 0 0 0 0 0ms 0ms 0ms 0ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare Apr 14 00 0 9 9.00 0.00% 01 0 1 1.00 0.00% 02 0 0 0.00 0.00% 03 0 0 0.00 0.00% 04 0 0 0.00 0.00% 05 0 0 0.00 0.00% 06 0 7 7.00 0.00% 07 0 6 6.00 0.00% 08 0 7 7.00 0.00% 09 0 10 10.00 0.00% 10 0 12 12.00 0.00% 11 0 12 12.00 0.00% 12 0 12 12.00 0.00% 13 0 14 14.00 0.00% 14 0 12 12.00 0.00% 15 0 5 5.00 0.00% 16 0 1 1.00 0.00% 17 0 12 12.00 0.00% 18 0 12 12.00 0.00% 19 0 12 12.00 0.00% 20 0 12 12.00 0.00% 21 0 12 12.00 0.00% 22 0 12 12.00 0.00% 23 0 20 20.00 0.00% Day Hour Count Average / Second Apr 14 00 834 0.23/s 01 586 0.16/s 02 544 0.15/s 03 544 0.15/s 04 544 0.15/s 05 554 0.15/s 06 1,540 0.43/s 07 1,422 0.40/s 08 1,593 0.44/s 09 2,379 0.66/s 10 1,838 0.51/s 11 2,680 0.74/s 12 2,151 0.60/s 13 2,826 0.79/s 14 1,742 0.48/s 15 1,072 0.30/s 16 859 0.24/s 17 1,307 0.36/s 18 1,242 0.34/s 19 1,127 0.31/s 20 1,181 0.33/s 21 1,197 0.33/s 22 1,069 0.30/s 23 1,040 0.29/s Day Hour Count Average Duration Average idle time Apr 14 00 834 504ms 0ms 01 586 227ms 0ms 02 544 227ms 0ms 03 544 227ms 0ms 04 544 227ms 0ms 05 554 226ms 0ms 06 1,540 180ms 0ms 07 1,422 192ms 0ms 08 1,593 189ms 0ms 09 2,379 161ms 0ms 10 1,838 174ms 0ms 11 2,680 186ms 0ms 12 2,151 195ms 0ms 13 2,826 326ms 0ms 14 1,742 192ms 0ms 15 1,072 186ms 0ms 16 859 187ms 0ms 17 1,307 180ms 0ms 18 1,242 187ms 0ms 19 1,127 235ms 0ms 20 1,181 186ms 0ms 21 1,197 185ms 0ms 22 1,069 197ms 0ms 23 1,040 241ms 0ms -
Connections
Established Connections
Key values
- 47 connections Connection Peak
- 2026-04-14 12:41:09 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 31,871 connections Total
Connections per user
Key values
- labanimal Main User
- 31,871 connections Total
-
Sessions
Simultaneous sessions
Key values
- 8 sessions Session Peak
- 2026-04-14 12:16:08 Date
Histogram of session times
Key values
- 29,412 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 31,871 sessions Total
Sessions per user
Key values
- labanimal Main User
- 31,871 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 31,871 sessions Total
Sessions per application
Key values
- Main Application
- 31,871 sessions Total
Application Count Total Duration Average Duration 26,944 1h38m32s 219ms _backend_wean_api.php_litter_id_10131503_zemm_produktiv_8_local 6 856ms 142ms _backend_wean_api.php_litter_id_10131744_zemm_produktiv_8_local 4 572ms 143ms _backend_wean_api.php_litter_id_10131746_zemm_produktiv_8_local 2 289ms 144ms _backend_wean_api.php_litter_id_10131810_zemm_produktiv_8_local 3 436ms 145ms _backend_wean_api.php_litter_id_10131822_zemm_produktiv_8_local 2 289ms 144ms _backend_wean_api.php_litter_id_10131823_zemm_produktiv_8_local 2 289ms 144ms _backend_wean_api.php_litter_id_10131824_zemm_produktiv_8_local 2 281ms 140ms _backend_wean_api.php_litter_id_10131825_zemm_produktiv_8_local 2 280ms 140ms _backend_wean_api.php_litter_id_10131831_zemm_produktiv_8_local 2 292ms 146ms _backend_wean_api.php_litter_id_10131843_zemm_produktiv_8_local 2 285ms 142ms _backend_wean_api.php_litter_id_10131844_zemm_produktiv_8_local 2 283ms 141ms _backend_wean_api.php_litter_id_10131889_zemm_produktiv_8_local 2 287ms 143ms _backend_wean_api.php_litter_id_10131891_zemm_produktiv_8_local 2 282ms 141ms _backend_wean_api.php_litter_id_10131892_zemm_produktiv_8_local 3 428ms 142ms _backend_wean_api.php_litter_id_10131893_zemm_produktiv_8_local 2 285ms 142ms _backend_wean_api.php_litter_id_10131894_zemm_produktiv_8_local 2 294ms 147ms _backend_wean_api.php_litter_id_10131895_zemm_produktiv_8_local 2 289ms 144ms _backend_wean_api.php_litter_id_10131896_zemm_produktiv_8_local 2 291ms 145ms _backend_wean_api.php_litter_id_10131928_zemm_produktiv_8_local 2 289ms 144ms _backend_wean_api.php_litter_id_10131929_zemm_produktiv_8_local 2 289ms 144ms _backend_wean_api.php_litter_id_10131930_zemm_produktiv_8_local 2 289ms 144ms _backend_wean_api.php_litter_id_10131931_zemm_produktiv_8_local 2 292ms 146ms _backend_wean_api.php_litter_id_10131995_zemm_produktiv_8_local 1 144ms 144ms _backend_wean_api.php_litter_id_10131996_zemm_produktiv_8_local 2 287ms 143ms _backend_wean_api.php_litter_id_10132147_zemm_produktiv_8_local 2 288ms 144ms _backend_wean_api.php_litter_id_10132167_zemm_produktiv_8_local 2 291ms 145ms _backend_wean_api.php_litter_id_10132168_zemm_produktiv_8_local 2 291ms 145ms _backend_wean_api.php_litter_id_10132169_zemm_produktiv_8_local 2 293ms 146ms _backend_wean_api.php_zemm_produktiv_8_localhost_5432 2 161ms 80ms _desktop__command_tasks_command_tasks_subcommand_open_screen__q 1 58ms 58ms _desktop__zemm_produktiv_8_localhost_5432 7 483ms 69ms _desktop_index.php_breeding__25_sex__25_in_breeding__25_fate_5_ 6 2s474ms 412ms _desktop_index.php_cage_name_52_2A_unweaned_only_true_val4_anim 1 103ms 103ms _desktop_index.php_cages_name_TF_2A_cages_empty__25_val4_cages_ 1 451ms 451ms _desktop_index.php_command_animals_edit_subcommand_init_id_1028 6 611ms 101ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 1 96ms 96ms _desktop_index.php_command_animals_litters_create_subcommand_se 2 376ms 188ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 14 622ms 44ms _desktop_index.php_command_documents_subcommand_edit_id_94_zemm 1 46ms 46ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,675 50s376ms 30ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 7 850ms 121ms _desktop_index.php_command_reports_subcommand_annual_fate_2024_ 1 133ms 133ms _desktop_index.php_command_reports_subcommand_annual_fate_2025_ 1 133ms 133ms _desktop_index.php_command_reports_subcommand_annual_project_20 1 134ms 134ms _desktop_index.php_command_reports_subcommand_annual_reports_ze 3 135ms 45ms _desktop_index.php_command_reports_subcommand_annual_year_2024_ 1 44ms 44ms _desktop_index.php_command_reports_subcommand_annual_year_2025_ 1 43ms 43ms _desktop_index.php_command_reports_subcommand_authority_meldung 3 139ms 46ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 4 450ms 112ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 1 159ms 159ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 2 233ms 116ms _desktop_index.php_command_tasks_subcommand_edit_id_10141793_ze 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10141844_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142081_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142208_ze 1 89ms 89ms _desktop_index.php_command_tasks_subcommand_edit_id_10142243_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142266_ze 1 83ms 83ms _desktop_index.php_command_tasks_subcommand_edit_id_10142274_ze 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 90 7s302ms 81ms _desktop_index.php_m_action_animals_edit_3Alink_init_row_animal 1 46ms 46ms _desktop_index.php_m_action_animals_edit_3Alink_init_val4_add_a 1 40ms 40ms _desktop_index.php_m_action_animals_litters_edit_3Am_init_val4_ 2 95ms 47ms _desktop_index.php_name_Tiertransport_20durch_20das_20ZEMM_20-_ 1 45ms 45ms _desktop_index.php_name_Tiertransport_20durch_20das_20ZEMM_inst 1 68ms 68ms _desktop_index.php_name_Verpaarungen_20zur_20Zucht_instructions 1 45ms 45ms _desktop_index.php_reference_Formulare_20ZEMM_title_Anmeldung_2 1 45ms 45ms _desktop_index.php_species_18_breeding__25_sex__25_in_breeding_ 2 762ms 381ms _desktop_index.php_unweaned_only_true_val4_animals_litters_sear 1 153ms 153ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 1 286ms 286ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 26 19s142ms 736ms _desktop_index.php_zemm_produktiv_7_localhost_5432 6 497ms 82ms _desktop_index.php_zemm_produktiv_8_localhost_5432 2,844 12m29s 263ms backend:zemm_produktiv_8@localhost 35 1s930ms 55ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s42ms 1s42ms pg_dump 1 14s626ms 14s626ms psql 52 1s614ms 31ms taskscron:zemm_produktiv_7@zemm.fbiscience.eu 24 679ms 28ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 9s250ms 385ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 67,468 buffers Checkpoint Peak
- 2026-04-14 06:31:18 Date
- 270.033 seconds Highest write time
- 0.046 seconds Sync time
Checkpoints Wal files
Key values
- 25 files Wal files usage Peak
- 2026-04-14 06:31:18 Date
Checkpoints distance
Key values
- 798.22 Mo Distance Peak
- 2026-04-14 06:31:18 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Apr 14 00 5,942 594.845s 0.123s 595.022s 01 22,966 687.356s 0.1s 687.508s 02 2,759 276.705s 0.096s 276.858s 03 2,658 266.577s 0.098s 266.725s 04 2,734 274.198s 0.101s 274.35s 05 2,914 292.211s 0.097s 292.358s 06 128,423 1,111.014s 0.195s 1,111.281s 07 6,228 624.777s 0.203s 625.029s 08 20,310 981.603s 0.236s 981.896s 09 19,187 820.441s 0.249s 820.743s 10 4,498 451.835s 0.172s 452.064s 11 7,802 791.475s 0.254s 791.781s 12 7,882 792.653s 0.208s 792.913s 13 44,661 1,233.191s 0.274s 1,233.526s 14 5,830 585.993s 0.184s 586.237s 15 3,431 344.991s 0.132s 345.174s 16 2,828 283.531s 0.11s 283.694s 17 5,755 576.334s 0.124s 576.523s 18 3,547 355.673s 0.101s 355.837s 19 4,532 453.967s 0.102s 454.134s 20 3,603 361.258s 0.095s 361.414s 21 2,947 295.539s 0.102s 295.694s 22 2,757 276.473s 0.078s 276.608s 23 3,232 295.294s 0.109s 295.461s Day Hour Added Removed Recycled Synced files Longest sync Average sync Apr 14 00 0 0 1 572 0.001s 0.012s 01 0 0 8 429 0.002s 0.011s 02 0 0 1 448 0.002s 0.012s 03 0 0 0 441 0.002s 0.012s 04 0 0 1 445 0.002s 0.012s 05 0 0 1 443 0.002s 0.012s 06 0 0 50 978 0.011s 0.01s 07 0 0 1 1,076 0.002s 0.012s 08 0 0 6 1,337 0.003s 0.012s 09 0 0 5 1,246 0.005s 0.012s 10 0 0 1 898 0.002s 0.012s 11 0 0 2 1,434 0.004s 0.012s 12 0 0 3 1,170 0.002s 0.012s 13 0 0 12 1,291 0.007s 0.011s 14 0 0 5 968 0.002s 0.013s 15 0 0 1 672 0.001s 0.012s 16 0 0 0 568 0.001s 0.011s 17 0 0 2 668 0.001s 0.013s 18 0 0 1 557 0.002s 0.012s 19 0 0 1 542 0.002s 0.012s 20 0 0 1 477 0.002s 0.012s 21 0 0 1 525 0.001s 0.012s 22 0 0 1 412 0.001s 0.012s 23 0 0 1 495 0.003s 0.013s Day Hour Count Avg time (sec) Apr 14 00 0 0s 01 0 0s 02 0 0s 03 0 0s 04 0 0s 05 0 0s 06 0 0s 07 0 0s 08 0 0s 09 0 0s 10 0 0s 11 0 0s 12 0 0s 13 0 0s 14 0 0s 15 0 0s 16 0 0s 17 0 0s 18 0 0s 19 0 0s 20 0 0s 21 0 0s 22 0 0s 23 0 0s Day Hour Mean distance Mean estimate Apr 14 00 2,494.75 kB 6,433.00 kB 01 10,794.64 kB 40,454.45 kB 02 1,232.83 kB 36,414.42 kB 03 1,203.58 kB 11,151.08 kB 04 1,235.08 kB 4,024.50 kB 05 1,278.75 kB 2,057.58 kB 06 81,093.40 kB 179,398.10 kB 07 2,055.33 kB 162,300.42 kB 08 7,163.33 kB 52,099.00 kB 09 7,018.67 kB 36,377.33 kB 10 1,708.42 kB 18,569.33 kB 11 3,133.75 kB 8,221.00 kB 12 3,210.92 kB 6,263.42 kB 13 18,279.18 kB 44,888.82 kB 14 5,878.00 kB 36,860.08 kB 15 1,351.83 kB 10,788.08 kB 16 1,300.45 kB 4,132.64 kB 17 1,838.46 kB 4,913.08 kB 18 1,399.50 kB 2,313.08 kB 19 1,798.42 kB 3,660.17 kB 20 1,384.00 kB 3,546.25 kB 21 1,240.08 kB 1,939.33 kB 22 1,192.83 kB 1,409.17 kB 23 1,245.17 kB 1,346.42 kB -
Temporary Files
Size of temporary files
Key values
- 251.11 MiB Temp Files size Peak
- 2026-04-14 23:29:27 Date
Number of temporary files
Key values
- 5 per second Temp Files Peak
- 2026-04-14 10:41:09 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Apr 14 00 40 1.92 GiB 49.16 MiB 01 5 245.29 MiB 49.06 MiB 02 0 0 0 03 0 0 0 04 0 0 0 05 0 0 0 06 35 1.68 GiB 49.27 MiB 07 30 1.44 GiB 49.29 MiB 08 35 1.69 GiB 49.35 MiB 09 50 2.41 GiB 49.39 MiB 10 60 2.90 GiB 49.43 MiB 11 60 2.90 GiB 49.47 MiB 12 60 2.90 GiB 49.51 MiB 13 73 3.91 GiB 54.83 MiB 14 60 2.91 GiB 49.59 MiB 15 25 1.21 GiB 49.62 MiB 16 5 248.48 MiB 49.70 MiB 17 60 2.91 GiB 49.72 MiB 18 60 2.92 GiB 49.76 MiB 19 60 2.92 GiB 49.80 MiB 20 60 2.92 GiB 49.84 MiB 21 60 2.92 GiB 49.89 MiB 22 60 2.93 GiB 49.93 MiB 23 75 3.66 GiB 49.92 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 776 36.23 GiB 45.48 MiB 54.22 MiB 47.81 MiB with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 17:23: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') AND collected_at BETWEEN '2026-04-14 17:23:54+02' AND '2026-04-14 23:23: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') AND collected_at BETWEEN '2026-04-14 17:23:54+02' AND '2026-04-14 23:23: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-04-14 23:24:07 Duration: 13s501ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-14_232228.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 17:20:15+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 17:20:15+02' AND '2026-04-14 23:20:15+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 17:20:15+02' AND '2026-04-14 23:20:15+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-14 23:20:20 Duration: 5s387ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-14_231945.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-13 23:29:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-13 23:29:33+02' AND '2026-04-14 23:29:33+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-13 23:29:33+02' AND '2026-04-14 23:29:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-14 23:29:37 Duration: 3s905ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-14_232228.csv
2 3 533.86 MiB 177.95 MiB 177.95 MiB 177.95 MiB 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.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;-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-14 13:57:39 Duration: 26s906ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-14 13:55:11 Duration: 26s840ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-14 13:54:19 Duration: 26s824ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
Queries generating the largest temporary files
Rank Size Query 1 177.95 MiB SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;[Â Date: 2026-04-14 13:54:19 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 ]
2 177.95 MiB SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;[Â Date: 2026-04-14 13:55:11 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 ]
3 177.95 MiB SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;[Â Date: 2026-04-14 13:57:39 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 ]
4 54.22 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 23:26:58 - Queryid: 5320 ]
5 53.57 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 12:06:10 - Queryid: 3977139 ]
6 53.54 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 11:16:09 - Queryid: 3966666 ]
7 53.41 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 23:29:27 - Queryid: 6024 ]
8 53.09 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 19:31:21 - Queryid: 4040326 ]
9 52.91 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 22:31:29 - Queryid: 4064030 ]
10 52.59 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 11:21:10 - Queryid: 3967376 ]
11 52.47 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 14:36:21 - Queryid: 4001850 ]
12 52.45 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 23:29:27 - Queryid: 6024 ]
13 52.38 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 09:41:08 - Queryid: 3951402 ]
14 52.33 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 23:49:25 - Queryid: 12366 ]
15 52.32 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 19:46:22 - Queryid: 4043126 ]
16 52.27 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 18:56:21 - Queryid: 4035134 ]
17 52.22 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 21:51:29 - Queryid: 4058991 ]
18 52.16 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 23:16:32 - Queryid: 4069754 ]
19 52.15 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 12:46:13 - Queryid: 3983781 ]
20 52.07 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[Â Date: 2026-04-14 19:56:23 - Queryid: 4044163 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 1.75 sec Highest CPU-cost vacuum
Table public.animals_search_mview
Database zemm_produktiv_8 - 2026-04-14 06:22:19 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_produktiv_8 - Date
Average Autovacuum Duration
Key values
- 1.75 sec Highest CPU-cost vacuum
Table public.animals_search_mview
Database zemm_produktiv_8 - 2026-04-14 06:22:19 Date
Analyzes per table
Key values
- pg_catalog.pg_type (43) Main table analyzed (database zemm_produktiv_8)
- 157 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 43 zemm_produktiv_8.pg_catalog.pg_attribute 32 zemm_produktiv_8.pg_catalog.pg_class 22 zemm_produktiv_8.pg_catalog.pg_depend 20 zemm_produktiv_8.public.breedingssires 8 zemm_produktiv_8.public.breedingsdams 8 zemm_produktiv_8.public.users 2 zemm_produktiv_8.public.tmptasks 2 fbi_unibi.pg_catalog.pg_shdepend 2 zemm_monitoring.observability.metrics_timeseries 2 zemm_produktiv_8.public.animals_search_mview 2 zemm_produktiv_8.public.cages_search_mview 2 zemm_monitoring.observability.uptime_checks 2 fbi_unire.pg_catalog.pg_shdepend 2 zemm_test_2.pg_catalog.pg_shdepend 1 labanimal.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.tasks 1 invdb.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.login_tracker 1 zemm_produktiv_7.public.import_execution_runs 1 zemm_produktiv_8.public.cages 1 zemm_produktiv_8.public.monitoring_session_activity 1 Total 157 Vacuums per table
Key values
- pg_catalog.pg_type (14) Main table vacuumed on database zemm_produktiv_8
- 78 vacuums Total
Index Buffer usage Skipped WAL usage Frozen Table Vacuums scans hits misses dirtied pins frozen records full page bytes pages tuples zemm_produktiv_8.pg_catalog.pg_type 14 14 0 0 0 0 0 706 170 152,958 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 11 11 0 0 0 0 0 1,441 501 330,578 0 0 zemm_produktiv_8.public.breedingsdams 8 0 0 0 0 0 0 1,584 32 98,736 0 0 zemm_produktiv_8.public.breedingssires 8 0 0 0 0 0 0 1,184 32 75,136 0 0 zemm_produktiv_8.pg_catalog.pg_class 8 8 0 0 0 0 0 789 252 300,902 1 1 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 0 0 0 4,301 1,441 3,278,788 1,421 8,526 zemm_produktiv_8.pg_catalog.pg_depend 5 5 0 0 0 0 0 633 184 231,325 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 0 0 0 0 0 720 161 911,489 52 154 zemm_produktiv_7.public.import_execution_row_results 2 2 0 0 0 0 0 75 10 14,008 0 0 labanimal.pg_catalog.pg_shdepend 2 2 0 0 0 0 0 178 51 98,921 0 0 zemm_produktiv_8.public.animals_search_mview 2 2 0 0 0 0 0 158,638 1,033 17,460,087 80 974 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 0 0 0 0 0 232 65 218,406 38 113 zemm_monitoring.pg_catalog.pg_shdepend 1 1 0 0 0 0 0 101 34 72,177 0 0 zemm_monitoring.observability.nginx_counters 1 0 0 0 0 0 0 496 496 731,943 0 0 zemm_produktiv_7.public.import_execution_runs 1 1 0 0 0 0 0 32 11 11,629 1 5 zemm_produktiv_7.public.import_staging_rows 1 1 0 0 0 0 0 61 13 22,718 0 0 zemm_monitoring.observability.uptime_checks 1 0 0 0 0 0 0 392 392 607,437 0 0 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 47,590 36 3,520,965 0 0 zemm_produktiv_7.public.import_runs 1 1 0 0 0 0 0 11 6 5,593 0 0 zemm_produktiv_7.public.cages_search_mview 1 1 0 0 0 0 0 212 78 178,127 1 67 Total 78 55 0 0 0 0 0 219,376 4,998 28,321,923 1,594 9,840 Vacuum throughput per table
Key values
- public.animals_search_mview (3.03) Max CPU elapsed for vacuum on database zemm_produktiv_8
- public.cages_search_mview (4.256 ms) Max I/O read time for vacuum on database zemm_produktiv_8
- public.breedingssires (0.171 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 1.713 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 2.986 0 0.11 zemm_produktiv_8.public.breedingsdams 0 0.111 0 zemm_produktiv_8.public.breedingssires 0 0.171 0 zemm_produktiv_8.pg_catalog.pg_class 3.496 0 0.06 zemm_monitoring.pg_toast.pg_toast_67431 1.953 0.065 0.37 zemm_produktiv_8.pg_catalog.pg_depend 1.349 0 0.04 zemm_produktiv_8.pg_toast.pg_toast_2619 2.213 0 0.04 zemm_produktiv_7.public.import_execution_row_results 0 0.021 0.01 labanimal.pg_catalog.pg_shdepend 2.914 0 0.02 zemm_produktiv_8.public.animals_search_mview 1.53 0 3.03 zemm_produktiv_8.pg_catalog.pg_statistic 1.151 0 0.02 zemm_monitoring.pg_catalog.pg_shdepend 0.654 0 0.01 zemm_monitoring.observability.nginx_counters 0.555 0 0.11 zemm_produktiv_7.public.import_execution_runs 0.122 0 0.01 zemm_produktiv_7.public.import_staging_rows 0.465 0.014 0 zemm_monitoring.observability.uptime_checks 0.272 0 0.09 zemm_produktiv_8.public.tasks 0.809 0 0.61 zemm_produktiv_7.public.import_runs 0.323 0 0 zemm_produktiv_7.public.cages_search_mview 4.256 0 0.04 Total 26.761 0.382 4.57 Tuples removed per table
Key values
- public.animals_search_mview (395275) Main table with removed tuples on database zemm_produktiv_8
- 472129 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.animals_search_mview 2 2 395,275 1,215,359 0 0 76,540 zemm_produktiv_8.public.tasks 1 1 53,828 56,840 0 0 16,736 zemm_produktiv_8.pg_catalog.pg_attribute 11 11 10,852 62,815 0 0 2,024 zemm_produktiv_8.pg_catalog.pg_depend 5 5 4,309 20,855 0 0 275 zemm_produktiv_8.pg_catalog.pg_type 14 14 2,800 11,634 0 0 434 zemm_produktiv_8.pg_catalog.pg_class 8 8 1,273 7,152 0 0 336 labanimal.pg_catalog.pg_shdepend 2 2 863 7,768 0 0 76 zemm_monitoring.pg_catalog.pg_shdepend 1 1 622 3,884 0 0 38 zemm_produktiv_7.public.cages_search_mview 1 1 567 13,636 0 30 219 zemm_produktiv_7.public.import_execution_row_results 2 2 531 34 0 15 2 zemm_produktiv_7.public.import_staging_rows 1 1 482 168 0 11 9 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 407 1,172 0 0 424 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 275 1,272 0 0 144 zemm_produktiv_7.public.import_execution_runs 1 1 30 64 0 3 4 zemm_produktiv_7.public.import_runs 1 1 15 28 0 0 1 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 1,885,234 0 0 316,829 zemm_produktiv_8.public.breedingsdams 8 0 0 243,474 0 0 1,552 zemm_monitoring.observability.nginx_counters 1 0 0 71,217 0 0 2,154 zemm_monitoring.observability.uptime_checks 1 0 0 46,574 0 0 2,347 zemm_produktiv_8.public.breedingssires 8 0 0 180,207 0 0 1,152 Total 78 55 472,129 3,829,387 0 59 421,296 Pages removed per table
Key values
- public.cages_search_mview (30) Main table with removed pages on database zemm_produktiv_7
- 59 pages Total removed
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_7.public.cages_search_mview 1 1 567 30 zemm_produktiv_7.public.import_execution_row_results 2 2 531 15 zemm_produktiv_7.public.import_staging_rows 1 1 482 11 zemm_produktiv_7.public.import_execution_runs 1 1 30 3 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 275 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 zemm_produktiv_8.public.breedingsdams 8 0 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 407 0 zemm_produktiv_8.pg_catalog.pg_depend 5 5 4309 0 zemm_monitoring.pg_catalog.pg_shdepend 1 1 622 0 zemm_monitoring.observability.nginx_counters 1 0 0 0 zemm_monitoring.observability.uptime_checks 1 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 11 11 10852 0 labanimal.pg_catalog.pg_shdepend 2 2 863 0 zemm_produktiv_8.public.animals_search_mview 2 2 395275 0 zemm_produktiv_8.public.tasks 1 1 53828 0 zemm_produktiv_8.public.breedingssires 8 0 0 0 zemm_produktiv_7.public.import_runs 1 1 15 0 zemm_produktiv_8.pg_catalog.pg_type 14 14 2800 0 zemm_produktiv_8.pg_catalog.pg_class 8 8 1273 0 Total 78 55 472,129 59 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Apr 14 00 0 0 01 3 1 02 0 0 03 0 0 04 0 0 05 1 0 06 10 20 07 6 9 08 4 13 09 8 20 10 3 6 11 8 21 12 3 13 13 21 37 14 2 5 15 1 5 16 2 2 17 0 1 18 0 0 19 4 0 20 2 0 21 0 2 22 0 1 23 0 1 - 1.75 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
- 120 Total read queries
- 24,666 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,644 Requests
- 22h10m16s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- labanimal Main user
- 475,114 Requests
User Request type Count Duration deploy Total 58 14m47s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s labanimal Total 475,114 12d21h45m20s copy from 8 18s286ms copy to 96 4m30s cte 2,427 2h39m30s ddl 470,765 12d18h25m58s others 179 2m6s select 1,601 32m15s tcl 3 1s733ms update 23 24s907ms postgres Total 124 2m46s copy to 124 2m46s Duration by user
Key values
- 12d21h45m20s (labanimal) Main time consuming user
User Request type Count Duration deploy Total 58 14m47s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s labanimal Total 475,114 12d21h45m20s copy from 8 18s286ms copy to 96 4m30s cte 2,427 2h39m30s ddl 470,765 12d18h25m58s others 179 2m6s select 1,601 32m15s tcl 3 1s733ms update 23 24s907ms postgres Total 124 2m46s copy to 124 2m46s Queries by host
Key values
- unknown Main host
- 475,088 Requests
- 12d21h41m52s (unknown)
- Main time consuming host
Host Request type Count Duration 127.0.0.1 Total 2 6s311ms ddl 2 6s311ms 81.169.238.237 Total 24 3m21s select 1 2m56s update 23 24s907ms [local] Total 182 17m33s copy to 124 2m46s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s unknown Total 475,088 12d21h41m52s copy from 8 18s286ms copy to 96 4m30s cte 2,427 2h39m30s ddl 470,763 12d18h25m52s others 179 2m6s select 1,600 29m18s tcl 3 1s733ms Queries by application
Key values
- unknown Main application
- 24,646 Requests
- 22h10m17s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b Total 12 8s747ms select 12 8s747ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 112 4m28s cte 10 16s175ms select 102 4m12s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s26ms update 1 1s26ms pg_dump Total 7 10s739ms copy to 7 10s739ms psql Total 14 48s229ms ddl 8 27s545ms others 6 20s684ms unknown Total 24,646 22h10m17s cte 194 11m39s ddl 24,446 21h58m32s select 6 6s254ms Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-04-14 10:01:06 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 229 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 26s906ms SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;[ Date: 2026-04-14 13:57:39 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Bind query: yes ]
2 26s906ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
3 26s906ms CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
4 26s906ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
5 26s906ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
6 26s906ms CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
7 26s906ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
8 26s906ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
9 26s906ms CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
10 26s906ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
11 26s906ms CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
12 26s906ms CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
13 26s906ms CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
14 26s906ms CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
15 26s906ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
16 26s906ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
17 26s906ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
18 26s906ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-04-14 13:58:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
19 26s906ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-14 13:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
20 26s906ms CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );[ Date: 2026-04-14 13:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 1h17m33s 1,438 0ms 26s906ms 3s236ms 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 #1
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
2 1h17m33s 1,438 0ms 26s906ms 3s236ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
3 1h17m33s 1,438 0ms 26s906ms 3s236ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
4 1h17m33s 1,438 0ms 26s906ms 3s236ms 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 #4
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
5 1h17m33s 1,438 0ms 26s906ms 3s236ms create schema if not exists observability;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
6 1h17m33s 1,438 0ms 26s906ms 3s236ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
7 1h17m33s 1,438 0ms 26s906ms 3s236ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
8 1h17m33s 1,438 0ms 26s906ms 3s236ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
9 1h17m33s 1,438 0ms 26s906ms 3s236ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
10 1h17m33s 1,438 0ms 26s906ms 3s236ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
11 1h17m33s 1,438 0ms 26s906ms 3s236ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
12 1h17m33s 1,438 0ms 26s906ms 3s236ms 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 #12
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
13 1h17m33s 1,438 0ms 26s906ms 3s236ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
14 1h17m33s 1,438 0ms 26s906ms 3s236ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
15 1h17m33s 1,438 0ms 26s906ms 3s236ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
16 1h17m33s 1,438 0ms 26s906ms 3s236ms 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 #16
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
17 1h17m33s 1,438 0ms 26s906ms 3s236ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
18 11m39s 194 3s407ms 13s501ms 3s605ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 14 01 8 27s972ms 3s496ms 02 1 3s490ms 3s490ms 07 7 24s588ms 3s512ms 08 6 20s879ms 3s479ms 09 7 24s425ms 3s489ms 10 10 34s737ms 3s473ms 11 12 42s5ms 3s500ms 12 12 42s15ms 3s501ms 13 12 42s769ms 3s564ms 14 14 49s383ms 3s527ms 15 12 43s286ms 3s607ms 16 5 17s829ms 3s565ms 17 1 3s545ms 3s545ms 18 12 42s948ms 3s579ms 19 12 42s997ms 3s583ms 20 12 42s267ms 3s522ms 21 12 43s160ms 3s596ms 22 12 42s385ms 3s532ms 23 12 42s487ms 3s540ms 00 15 1m6s 4s425ms [ User: labanimal - Total duration: 11m39s - Times executed: 194 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 17:23: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') AND collected_at BETWEEN '2026-04-14 17:23:54+02' AND '2026-04-14 23:23: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') AND collected_at BETWEEN '2026-04-14 17:23:54+02' AND '2026-04-14 23:23: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-04-14 23:24:07 Duration: 13s501ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_232228.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 17:20:15+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 17:20:15+02' AND '2026-04-14 23:20:15+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 17:20:15+02' AND '2026-04-14 23:20:15+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-14 23:20:20 Duration: 5s387ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_231945.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-13 23:29:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-13 23:29:33+02' AND '2026-04-14 23:29:33+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-13 23:29:33+02' AND '2026-04-14 23:29:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-14 23:29:37 Duration: 3s905ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_232228.csv
19 1m20s 3 26s824ms 26s906ms 26s857ms 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.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 #19
Day Hour Count Duration Avg duration Apr 14 14 3 1m20s 26s857ms [ User: labanimal - Total duration: 1m20s - Times executed: 3 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m20s - Times executed: 3 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-14 13:57:39 Duration: 26s906ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-14 13:55:11 Duration: 26s840ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-14 13:54:19 Duration: 26s824ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
20 1m14s 3 24s658ms 25s1ms 24s868ms 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 deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 14 14 3 1m14s 24s868ms [ User: labanimal - Total duration: 1m14s - Times executed: 3 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m14s - Times executed: 3 ]
-
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, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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 deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-14 13:53:52 Duration: 25s1ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_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, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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 deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-14 13:54:44 Duration: 24s946ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_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, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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 deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-14 13:57:12 Duration: 24s658ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,438 1h17m33s 0ms 26s906ms 3s236ms 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 #1
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
2 1,438 1h17m33s 0ms 26s906ms 3s236ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
3 1,438 1h17m33s 0ms 26s906ms 3s236ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
4 1,438 1h17m33s 0ms 26s906ms 3s236ms 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 #4
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
5 1,438 1h17m33s 0ms 26s906ms 3s236ms create schema if not exists observability;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
6 1,438 1h17m33s 0ms 26s906ms 3s236ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
7 1,438 1h17m33s 0ms 26s906ms 3s236ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
8 1,438 1h17m33s 0ms 26s906ms 3s236ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
9 1,438 1h17m33s 0ms 26s906ms 3s236ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
10 1,438 1h17m33s 0ms 26s906ms 3s236ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
11 1,438 1h17m33s 0ms 26s906ms 3s236ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
12 1,438 1h17m33s 0ms 26s906ms 3s236ms 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 #12
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
13 1,438 1h17m33s 0ms 26s906ms 3s236ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
14 1,438 1h17m33s 0ms 26s906ms 3s236ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
15 1,438 1h17m33s 0ms 26s906ms 3s236ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
16 1,438 1h17m33s 0ms 26s906ms 3s236ms 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 #16
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
17 1,438 1h17m33s 0ms 26s906ms 3s236ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
18 194 11m39s 3s407ms 13s501ms 3s605ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 14 01 8 27s972ms 3s496ms 02 1 3s490ms 3s490ms 07 7 24s588ms 3s512ms 08 6 20s879ms 3s479ms 09 7 24s425ms 3s489ms 10 10 34s737ms 3s473ms 11 12 42s5ms 3s500ms 12 12 42s15ms 3s501ms 13 12 42s769ms 3s564ms 14 14 49s383ms 3s527ms 15 12 43s286ms 3s607ms 16 5 17s829ms 3s565ms 17 1 3s545ms 3s545ms 18 12 42s948ms 3s579ms 19 12 42s997ms 3s583ms 20 12 42s267ms 3s522ms 21 12 43s160ms 3s596ms 22 12 42s385ms 3s532ms 23 12 42s487ms 3s540ms 00 15 1m6s 4s425ms [ User: labanimal - Total duration: 11m39s - Times executed: 194 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 17:23: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') AND collected_at BETWEEN '2026-04-14 17:23:54+02' AND '2026-04-14 23:23: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') AND collected_at BETWEEN '2026-04-14 17:23:54+02' AND '2026-04-14 23:23: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-04-14 23:24:07 Duration: 13s501ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_232228.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 17:20:15+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 17:20:15+02' AND '2026-04-14 23:20:15+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 17:20:15+02' AND '2026-04-14 23:20:15+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-14 23:20:20 Duration: 5s387ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_231945.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-13 23:29:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-13 23:29:33+02' AND '2026-04-14 23:29:33+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-13 23:29:33+02' AND '2026-04-14 23:29:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-14 23:29:37 Duration: 3s905ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_232228.csv
19 26 20s124ms 755ms 802ms 774ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 14 10 1 776ms 776ms 11 2 1s571ms 785ms 12 4 3s83ms 770ms 13 5 3s863ms 772ms 14 1 788ms 788ms 15 9 6s939ms 771ms 16 4 3s101ms 775ms [ User: labanimal - Total duration: 20s124ms - Times executed: 26 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 15s498ms - Times executed: 20 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 4s625ms - Times executed: 6 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-14 12:24:36 Duration: 802ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_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, 10100138) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100138) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100138) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-14 15:43:26 Duration: 800ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_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, 10100193) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100193) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100193) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-14 10:23:12 Duration: 791ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
20 26 18s31ms 680ms 722ms 693ms select distinct * from ( select animals_search_mview.*, b.unbreeding_date, fates.loc as fate_name, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, string_agg(l."application_id" || ? || l."title" || ? || date(lh."timestamp")::varchar, ?) as licensehistory, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview inner join fates on fates.id = animals_search_mview.fate left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join licenses l on l.id = lh.licid left join breedings b on b.id = animals_search_mview.last_mating group by animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data where data.fate = ? and data.alive = ? and data.deleted = ? and (is_owner or is_editor or is_tourist) and (data.straindeleted = ? or data.straindeleted is null) order by data.cage_name, data.animal_id, data.name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 14 10 1 691ms 691ms 11 2 1s371ms 685ms 12 4 2s777ms 694ms 13 5 3s475ms 695ms 14 1 692ms 692ms 15 9 6s244ms 693ms 16 4 2s778ms 694ms [ User: labanimal - Total duration: 18s31ms - Times executed: 26 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 13s909ms - Times executed: 20 ]
[ Application: _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b - Total duration: 4s121ms - Times executed: 6 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-14 14:05:15 Duration: 722ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-14 12:24:37 Duration: 720ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100113) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100113) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100113) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-14 11:29:06 Duration: 709ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 26s824ms 26s906ms 26s857ms 3 1m20s 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.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 #1
Day Hour Count Duration Avg duration Apr 14 14 3 1m20s 26s857ms [ User: labanimal - Total duration: 1m20s - Times executed: 3 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m20s - Times executed: 3 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-14 13:57:39 Duration: 26s906ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-14 13:55:11 Duration: 26s840ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-14 13:54:19 Duration: 26s824ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
2 24s658ms 25s1ms 24s868ms 3 1m14s 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 deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 14 14 3 1m14s 24s868ms [ User: labanimal - Total duration: 1m14s - Times executed: 3 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1m14s - Times executed: 3 ]
-
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, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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 deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-14 13:53:52 Duration: 25s1ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_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, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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 deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-14 13:54:44 Duration: 24s946ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_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, 10100105) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100105) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100105) 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 deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-14 13:57:12 Duration: 24s658ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
3 3s407ms 13s501ms 3s605ms 194 11m39s with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 14 01 8 27s972ms 3s496ms 02 1 3s490ms 3s490ms 07 7 24s588ms 3s512ms 08 6 20s879ms 3s479ms 09 7 24s425ms 3s489ms 10 10 34s737ms 3s473ms 11 12 42s5ms 3s500ms 12 12 42s15ms 3s501ms 13 12 42s769ms 3s564ms 14 14 49s383ms 3s527ms 15 12 43s286ms 3s607ms 16 5 17s829ms 3s565ms 17 1 3s545ms 3s545ms 18 12 42s948ms 3s579ms 19 12 42s997ms 3s583ms 20 12 42s267ms 3s522ms 21 12 43s160ms 3s596ms 22 12 42s385ms 3s532ms 23 12 42s487ms 3s540ms 00 15 1m6s 4s425ms [ User: labanimal - Total duration: 11m39s - Times executed: 194 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 17:23: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') AND collected_at BETWEEN '2026-04-14 17:23:54+02' AND '2026-04-14 23:23: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') AND collected_at BETWEEN '2026-04-14 17:23:54+02' AND '2026-04-14 23:23: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-04-14 23:24:07 Duration: 13s501ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_232228.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-14 17:20:15+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 17:20:15+02' AND '2026-04-14 23:20:15+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-14 17:20:15+02' AND '2026-04-14 23:20:15+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-14 23:20:20 Duration: 5s387ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_231945.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-13 23:29:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-13 23:29:33+02' AND '2026-04-14 23:29:33+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-13 23:29:33+02' AND '2026-04-14 23:29:33+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-14 23:29:37 Duration: 3s905ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_232228.csv
4 0ms 26s906ms 3s236ms 1,438 1h17m33s create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
5 0ms 26s906ms 3s236ms 1,438 1h17m33s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
6 0ms 26s906ms 3s236ms 1,438 1h17m33s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
7 0ms 26s906ms 3s236ms 1,438 1h17m33s 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 #7
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
8 0ms 26s906ms 3s236ms 1,438 1h17m33s create schema if not exists observability;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
9 0ms 26s906ms 3s236ms 1,438 1h17m33s 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 Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
10 0ms 26s906ms 3s236ms 1,438 1h17m33s 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 #10
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
11 0ms 26s906ms 3s236ms 1,438 1h17m33s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
12 0ms 26s906ms 3s236ms 1,438 1h17m33s 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 #12
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
13 0ms 26s906ms 3s236ms 1,438 1h17m33s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
14 0ms 26s906ms 3s236ms 1,438 1h17m33s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
15 0ms 26s906ms 3s236ms 1,438 1h17m33s 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 #15
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
16 0ms 26s906ms 3s236ms 1,438 1h17m33s 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 Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
17 0ms 26s906ms 3s236ms 1,438 1h17m33s 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 #17
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
18 0ms 26s906ms 3s236ms 1,438 1h17m33s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
19 0ms 26s906ms 3s236ms 1,438 1h17m33s 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 #19
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
20 0ms 26s906ms 3s236ms 1,438 1h17m33s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 14 01 60 3m 3s7ms 02 60 3m9s 3s162ms 03 60 3m29s 3s490ms 04 60 3m29s 3s490ms 05 60 3m29s 3s490ms 06 60 3m29s 3s490ms 07 60 3m26s 3s437ms 08 60 2m46s 2s766ms 09 60 2m13s 2s220ms 10 60 3m20s 3s337ms 11 60 3m11s 3s189ms 12 60 2m38s 2s644ms 13 60 3m2s 3s36ms 14 60 4m45s 4s763ms 15 60 3m27s 3s454ms 16 60 2m47s 2s796ms 17 60 50s872ms 847ms 18 60 3m34s 3s579ms 19 60 3m34s 3s580ms 20 60 3m31s 3s527ms 21 60 3m35s 3s591ms 22 60 3m32s 3s533ms 23 60 3m32s 3s540ms 00 58 3m34s 3s704ms [ User: labanimal - Total duration: 1h17m33s - Times executed: 1430 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-14 14:00:01 Duration: 26s906ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-14 13:56:02 Duration: 26s840ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-14 13:54:01 Duration: 25s1ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-14_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
- 154,104 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 1 FATAL entries
- 18 ERROR entries
- 0 WARNING entries
- 4 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 9 Max number of times the same event was reported
- 23 Total events found
Rank Times reported Error 1 9 ERROR: column "..." does not exist
Times Reported Most Frequent Error / Event #1
Day Hour Count Apr 14 09 3 10 3 12 1 18 2 - ERROR: column "run_mode" does not exist
- ERROR: column "import_run_id" does not exist
- ERROR: column "name" does not exist
Statement: SELECT id, import_type, status, run_mode FROM import_runs ORDER BY id DESC LIMIT 10;
Date: 2026-04-14 08:35:23 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
Statement: SELECT id, import_run_id, execution_type, status, rows_total, rows_ok, rows_error FROM import_execution_runs ORDER BY id DESC LIMIT 10;
Date: 2026-04-14 08:35:39 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
Statement: SELECT id, name FROM species WHERE active IS NOT FALSE ORDER BY id LIMIT 5;
Date: 2026-04-14 08:38:32 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
2 4 ERROR: relation "..." does not exist
Times Reported Most Frequent Error / Event #2
Day Hour Count Apr 14 10 1 18 1 00 2 - ERROR: relation "import_executions" does not exist
- ERROR: relation "licenses_allowances" does not exist
- ERROR: relation "bucardo.bucardo_config" does not exist
Statement: SELECT id, source_system, execution_mode, status, total_rows, created_at, summary::text FROM import_executions ORDER BY created_at DESC LIMIT 10;
Date: 2026-04-14 09:46:35 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
Statement: SELECT 1 FROM licenses_allowances la WHERE la.license = $1 AND la.species = $2
Date: 2026-04-14 17:55:31 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
Statement: SELECT setting FROM bucardo.bucardo_config WHERE LOWER(name) = $1
Date: 2026-04-14 23:22:32 Database: bucardo Application: User: bucardo Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_232228.csv
3 3 ERROR: invalid input syntax for type boolean: ...
Times Reported Most Frequent Error / Event #3
Day Hour Count Apr 14 12 3 - ERROR: invalid input syntax for type boolean: ""
- ERROR: invalid input syntax for type boolean: ""
- ERROR: invalid input syntax for type boolean: ""
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id INNER JOIN "groupMembers" gm ON gm."group" = g.id AND gm."user" = 412 WHERE NOT(a.deleted) AND ( (a."deathDate" IS NOT NULL AND a."deathDate" >= '2026-01-01'::DATE AND a."deathDate" <= '2026-12-31'::DATE) OR (a."outgoingDate" IS NOT NULL AND a."outgoingDate" >= '2026-01-01'::DATE AND a."outgoingDate" <= '2026-12-31'::DATE) OR (a.fate IN (1, 10, 11, 13, 14, 15, 9, 4) AND a."deathDate" IS NULL AND a."outgoingDate" IS NULL) ) ORDER BY g.name, l.application_id, a.id
Date: 2026-04-14 11:17:37 Database: zemm_produktiv_8 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id INNER JOIN "groupMembers" gm ON gm."group" = g.id AND gm."user" = 412 WHERE NOT(a.deleted) AND ( (a."deathDate" IS NOT NULL AND a."deathDate" >= '2026-01-01'::DATE AND a."deathDate" <= '2026-12-31'::DATE) OR (a."outgoingDate" IS NOT NULL AND a."outgoingDate" >= '2026-01-01'::DATE AND a."outgoingDate" <= '2026-12-31'::DATE) OR (a.fate IN (1, 10, 11, 13, 14, 15, 9, 4) AND a."deathDate" IS NULL AND a."outgoingDate" IS NULL) ) ORDER BY g.name, l.application_id, a.id
Date: 2026-04-14 11:17:40 Database: zemm_produktiv_8 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id INNER JOIN "groupMembers" gm ON gm."group" = g.id AND gm."user" = 412 WHERE NOT(a.deleted) AND ( (a."deathDate" IS NOT NULL AND a."deathDate" >= '2026-01-01'::DATE AND a."deathDate" <= '2026-12-31'::DATE) OR (a."outgoingDate" IS NOT NULL AND a."outgoingDate" >= '2026-01-01'::DATE AND a."outgoingDate" <= '2026-12-31'::DATE) OR (a.fate IN (1, 10, 11, 13, 14, 15, 9, 4) AND a."deathDate" IS NULL AND a."outgoingDate" IS NULL) ) ORDER BY g.name, l.application_id, a.id
Date: 2026-04-14 11:17:41 Database: zemm_produktiv_8 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
4 2 LOG: database system was shut down at ...
Times Reported Most Frequent Error / Event #4
Day Hour Count Apr 14 00 2 - LOG: database system was shut down at 2026-04-14 23:20:54 CEST
- LOG: database system was shut down at 2026-04-14 23:19:42 CEST
Date: 2026-04-14 23:22:28 Log file: /var/log/postgresql/postgresql-2026-04-14_232228.csv
Date: 2026-04-14 23:19:45 Log file: /var/log/postgresql/postgresql-2026-04-14_231945.csv
5 1 ERROR: operator does not exist: bigint = character varying
Times Reported Most Frequent Error / Event #5
Day Hour Count Apr 14 18 1 - ERROR: operator does not exist: bigint = character varying
Hint: No operator matches the given name and argument types. You might need to add explicit type casts.
Statement: SELECT a.id, a."animalID" AS ext_id, a.name, a.project AS current_project_id, l.title AS current_license, l.application_id AS current_app_id FROM animals a JOIN licenses l ON l.id = a.project WHERE a.project IS NOT NULL AND NOT a.deleted ORDER BY a.id LIMIT 1Date: 2026-04-14 17:53:55 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
6 1 FATAL: Peer authentication failed for user "..."
Times Reported Most Frequent Error / Event #6
Day Hour Count Apr 14 20 1 - FATAL: Peer authentication failed for user "labanimal"
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-14 19:24:37 Database: zemm_produktiv_7 Application: User: labanimal Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
7 1 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #7
Day Hour Count Apr 14 10 1 - 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-04-14 09:37:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-04-14 09:37:02 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
8 1 ERROR: value too long for type character(...)
Times Reported Most Frequent Error / Event #8
Day Hour Count Apr 14 07 1 - ERROR: value too long for type character(1)
Statement: INSERT INTO tmptasks VALUES( 10308511,0,true,true,true,'10100160','155','','','452','9','','','','','','',10142239,'Tiertransport innerhalb Würzburgs',0,0,NULL,'','',10844684,false,'2026-04-16','','Tiere in Transportbox (Futter+Wasser f.24Std) im Scantainer bereitstellen','Auftraggeber:__Lisa Marschhäuser AG Grün_____ Telefon#:_01728274233 Bereitstellen am/um: Donnerstag 16.04.26, 12.00 Formular Tierexport ZEMM angehäng!',10844682,10844683,true,$1,true,2,0,2,'2026-04-13 15:51:00'::TIMESTAMP, 10100160, NULL::TIMESTAMP, NULL)
Date: 2026-04-14 06:54:21 Database: zemm_produktiv_8 Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv
9 1 ERROR: new row for relation "..." violates check constraint "..."
Times Reported Most Frequent Error / Event #9
Day Hour Count Apr 14 09 1 - ERROR: new row for relation "import_execution_runs" violates check constraint "import_execution_runs_run_mode_check"
Detail: Failing row contains (66, 31, test, running, 2026-04-14 08:45:44.38783+02, null, null, null, null, null, null, 1, 2026-04-14 08:45:44.38783+02, deferred_rerun, 41).
Statement: INSERT INTO import_execution_runs (run_id, execution_type, status, started_at, executed_by, created_at, run_mode, parameter_set_id) VALUES ($1, 'test', 'running', NOW(), $2, NOW(), 'deferred_rerun', $3) RETURNING idDate: 2026-04-14 08:45:44 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-14_000000.csv