-
Global information
- Generated on Mon Jun 15 06:05:28 2026
- Log file: /var/log/postgresql/postgresql-2026-05-13_000000.csv, ..., /var/log/postgresql/postgresql-2026-06-15_000000.csv
- Parsed 311,294 log entries in 5m27s
- Log start from 2026-06-01 00:00:01 to 2026-06-01 23:59:06
-
Overview
Global Stats
- 50 Number of unique normalized queries
- 24,596 Number of queries
- 9h52m6s Total query duration
- 2026-06-01 00:00:01 First query
- 2026-06-01 23:59:01 Last query
- 18 queries/s at 2026-06-01 08:46:01 Query peak
- 9h52m6s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 9h52m6s Execute total duration
- 2 Number of events
- 2 Number of unique normalized events
- 1 Max number of times the same event was reported
- 0 Number of cancellation
- 65 Total number of automatic vacuums
- 152 Total number of automatic analyzes
- 2 Number temporary file
- 179.55 MiB Max size of temporary file
- 179.55 MiB Average size of temporary file
- 29,490 Total number of sessions
- 7 sessions at 2026-06-01 12:18:22 Session peak
- 1h40m11s Total duration of sessions
- 203ms Average duration of sessions
- 0 Average queries per session
- 1s204ms Average queries duration per session
- 0ms Average idle time per session
- 29,490 Total number of connections
- 37 connections/s at 2026-06-01 09:58:02 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-06-01 08:46:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-06-01 17:14:09 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 18 queries/s Query Peak
- 2026-06-01 08:46:01 Date
Queries duration
Key values
- 9h52m6s 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) Jun 01 00 1,020 0ms 0ms 0ms 0ms 0ms 0ms 01 1,021 0ms 1s76ms 520ms 18s302ms 18s302ms 18s302ms 02 1,020 1s76ms 1s76ms 1s76ms 18s302ms 18s302ms 18s302ms 03 1,020 1s76ms 1s76ms 1s76ms 18s302ms 18s302ms 18s302ms 04 1,020 1s76ms 1s76ms 1s76ms 18s302ms 18s302ms 18s302ms 05 1,020 1s76ms 1s76ms 1s76ms 18s302ms 18s302ms 18s302ms 06 1,021 713ms 1s76ms 1s76ms 18s302ms 18s302ms 19s16ms 07 1,025 522ms 2s722ms 891ms 46s290ms 46s290ms 47s339ms 08 1,032 607ms 1s827ms 817ms 31s59ms 31s59ms 31s59ms 09 1,035 561ms 15s860ms 4s440ms 4m29s 4m29s 4m45s 10 1,034 521ms 843ms 716ms 12s662ms 15s199ms 15s634ms 11 1,036 508ms 2s382ms 800ms 40s494ms 40s494ms 41s3ms 12 1,024 518ms 1s343ms 771ms 12s860ms 15s225ms 21s611ms 13 1,039 511ms 1s768ms 1s205ms 29s168ms 29s168ms 35s31ms 14 1,024 511ms 674ms 571ms 9s814ms 10s 11s161ms 15 1,026 517ms 29s122ms 6s700ms 8m13s 8m13s 8m41s 16 1,020 517ms 517ms 517ms 8s803ms 8s803ms 8s803ms 17 1,024 517ms 564ms 531ms 9s110ms 9s110ms 10s990ms 18 1,020 535ms 535ms 535ms 9s110ms 9s110ms 9s110ms 19 1,022 535ms 1s463ms 783ms 24s880ms 24s880ms 26s335ms 20 1,021 1s455ms 1s525ms 1s523ms 25s927ms 25s927ms 26s262ms 21 1,026 1s525ms 2s933ms 2s328ms 49s875ms 51s998ms 52s789ms 22 1,021 2s844ms 2s913ms 2s845ms 48s350ms 48s350ms 52s370ms 23 1,025 577ms 2s844ms 2s740ms 48s350ms 48s350ms 54s946ms Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jun 01 00 0 0 0ms 0ms 0ms 0ms 01 0 0 0ms 0ms 0ms 0ms 02 0 0 0ms 0ms 0ms 0ms 03 0 0 0ms 0ms 0ms 0ms 04 0 0 0ms 0ms 0ms 0ms 05 0 0 0ms 0ms 0ms 0ms 06 1 0 713ms 0ms 0ms 0ms 07 4 0 550ms 0ms 0ms 612ms 08 5 0 697ms 0ms 0ms 1s438ms 09 12 0 655ms 0ms 0ms 2s391ms 10 14 0 732ms 0ms 0ms 2s972ms 11 14 0 735ms 0ms 562ms 2s917ms 12 4 0 1s116ms 0ms 0ms 1s343ms 13 15 0 693ms 0ms 0ms 3s507ms 14 2 0 575ms 0ms 0ms 574ms 15 5 0 22s244ms 0ms 0ms 29s49ms 16 0 0 0ms 0ms 0ms 0ms 17 4 0 546ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 0 5 1s319ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Jun 01 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s76ms 0ms 0ms 0ms 02 0 0 0 0 0ms 0ms 0ms 0ms 03 0 0 0 0 0ms 0ms 0ms 0ms 04 0 0 0 0 0ms 0ms 0ms 0ms 05 0 0 0 0 0ms 0ms 0ms 0ms 06 0 0 0 0 0ms 0ms 0ms 0ms 07 0 0 0 0 0ms 0ms 0ms 0ms 08 0 0 0 0 0ms 0ms 0ms 0ms 09 0 0 0 0 0ms 0ms 0ms 0ms 10 0 0 0 0 0ms 0ms 0ms 0ms 11 0 0 0 0 0ms 0ms 0ms 0ms 12 0 0 0 0 0ms 0ms 0ms 0ms 13 0 0 0 0 0ms 0ms 0ms 0ms 14 0 0 0 0 0ms 0ms 0ms 0ms 15 0 0 0 0 0ms 0ms 0ms 0ms 16 0 0 0 0 0ms 0ms 0ms 0ms 17 0 0 0 0 0ms 0ms 0ms 0ms 18 0 0 0 0 0ms 0ms 0ms 0ms 19 0 0 0 0 0ms 0ms 0ms 0ms 20 0 0 0 0 0ms 0ms 0ms 0ms 21 0 0 0 0 0ms 0ms 0ms 0ms 22 0 0 0 0 0ms 0ms 0ms 0ms 23 0 0 0 0 0ms 0ms 0ms 0ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare Jun 01 00 0 0 0.00 0.00% 01 0 0 0.00 0.00% 02 0 0 0.00 0.00% 03 0 0 0.00 0.00% 04 0 0 0.00 0.00% 05 0 0 0.00 0.00% 06 0 0 0.00 0.00% 07 0 0 0.00 0.00% 08 0 0 0.00 0.00% 09 0 3 3.00 0.00% 10 0 0 0.00 0.00% 11 0 0 0.00 0.00% 12 0 0 0.00 0.00% 13 0 0 0.00 0.00% 14 0 0 0.00 0.00% 15 0 0 0.00 0.00% 16 0 0 0.00 0.00% 17 0 0 0.00 0.00% 18 0 0 0.00 0.00% 19 0 2 2.00 0.00% 20 0 1 1.00 0.00% 21 0 6 6.00 0.00% 22 0 1 1.00 0.00% 23 0 0 0.00 0.00% Day Hour Count Average / Second Jun 01 00 543 0.15/s 01 546 0.15/s 02 543 0.15/s 03 543 0.15/s 04 543 0.15/s 05 553 0.15/s 06 979 0.27/s 07 1,090 0.30/s 08 1,440 0.40/s 09 1,648 0.46/s 10 3,218 0.89/s 11 2,059 0.57/s 12 2,271 0.63/s 13 2,039 0.57/s 14 2,035 0.57/s 15 1,672 0.46/s 16 1,501 0.42/s 17 1,081 0.30/s 18 1,080 0.30/s 19 1,139 0.32/s 20 971 0.27/s 21 874 0.24/s 22 576 0.16/s 23 546 0.15/s Day Hour Count Average Duration Average idle time Jun 01 00 543 250ms 250ms 01 546 248ms 0ms 02 543 248ms 0ms 03 543 249ms 0ms 04 543 251ms 0ms 05 553 247ms 0ms 06 979 169ms 0ms 07 1,090 189ms 0ms 08 1,440 173ms 0ms 09 1,648 214ms 0ms 10 3,218 138ms 0ms 11 2,059 169ms 0ms 12 2,271 157ms 0ms 13 2,039 161ms 0ms 14 2,035 177ms 0ms 15 1,672 325ms 0ms 16 1,501 194ms 0ms 17 1,080 231ms 0ms 18 1,081 235ms 0ms 19 1,139 230ms 0ms 20 971 250ms 0ms 21 874 276ms 0ms 22 576 248ms 0ms 23 546 262ms 0ms -
Connections
Established Connections
Key values
- 37 connections Connection Peak
- 2026-06-01 09:58:02 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 29,490 connections Total
Connections per user
Key values
- labanimal Main User
- 29,490 connections Total
-
Sessions
Simultaneous sessions
Key values
- 7 sessions Session Peak
- 2026-06-01 12:18:22 Date
Histogram of session times
Key values
- 26,761 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 29,490 sessions Total
Sessions per user
Key values
- labanimal Main User
- 29,490 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 29,490 sessions Total
Sessions per application
Key values
- Main Application
- 29,490 sessions Total
Application Count Total Duration Average Duration 24,199 1h26m40s 214ms _backend_cage_autocomplete_api.php_q_49-186_limit_12_zemm_test_ 2 59ms 29ms _backend_cage_autocomplete_api.php_q_49_limit_12_zemm_test_loca 2 69ms 34ms _backend_cage_autocomplete_api.php_q_4_limit_12_zemm_test_local 2 63ms 31ms _backend_cage_autocomplete_api.php_q_50-001_limit_12_zemm_test_ 1 28ms 28ms _backend_cage_autocomplete_api.php_q_50-002_limit_12_zemm_test_ 2 57ms 28ms _backend_cage_autocomplete_api.php_q_50-00_limit_12_zemm_test_l 1 30ms 30ms _backend_cage_autocomplete_api.php_q_50-225_limit_12_zemm_test_ 2 58ms 29ms _backend_cage_autocomplete_api.php_q_50-22_limit_12_zemm_test_l 1 23ms 23ms _backend_cage_autocomplete_api.php_q_50-250_limit_12_zemm_test_ 3 91ms 30ms _backend_cage_autocomplete_api.php_q_50-251_limit_12_zemm_test_ 2 57ms 28ms _backend_cage_autocomplete_api.php_q_50-25_limit_12_zemm_test_l 3 88ms 29ms _backend_cage_autocomplete_api.php_q_50-2_limit_12_zemm_test_lo 3 74ms 24ms _backend_cage_autocomplete_api.php_q_50-351_limit_12_zemm_test_ 3 86ms 28ms _backend_cage_autocomplete_api.php_q_50-35_limit_12_zemm_test_l 1 29ms 29ms _backend_cage_autocomplete_api.php_q_50-3_limit_12_zemm_test_lo 2 72ms 36ms _backend_cage_autocomplete_api.php_q_50-445_limit_12_zemm_test_ 2 59ms 29ms _backend_cage_autocomplete_api.php_q_50-462_limit_12_zemm_test_ 3 85ms 28ms _backend_cage_autocomplete_api.php_q_50-46_limit_12_zemm_test_l 1 28ms 28ms _backend_cage_autocomplete_api.php_q_50-4_limit_12_zemm_test_lo 1 28ms 28ms _backend_cage_autocomplete_api.php_q_50-501_limit_12_zemm_test_ 1 29ms 29ms _backend_cage_autocomplete_api.php_q_50-50_limit_12_zemm_test_l 2 60ms 30ms _backend_cage_autocomplete_api.php_q_50-5_limit_12_zemm_test_lo 2 58ms 29ms _backend_cage_autocomplete_api.php_q_50-_limit_12_zemm_test_loc 6 221ms 36ms _backend_cage_autocomplete_api.php_q_50_limit_12_zemm_test_loca 1 35ms 35ms _backend_cage_autocomplete_api.php_q_5_limit_12_zemm_test_local 1 23ms 23ms _backend_cage_autocomplete_api.php_q__limit_12_zemm_test_localh 1 30ms 30ms _backend_wean_api.php_litter_id_10131400_zemm_test_localhost_54 1 114ms 114ms _backend_wean_api.php_litter_id_10131603_zemm_test_localhost_54 1 129ms 129ms _backend_wean_api.php_litter_id_10131604_zemm_test_localhost_54 1 127ms 127ms _backend_wean_api.php_litter_id_10131671_zemm_test_localhost_54 1 126ms 126ms _backend_wean_api.php_litter_id_10131907_zemm_test_localhost_54 1 121ms 121ms _backend_wean_api.php_litter_id_10131908_zemm_test_localhost_54 1 125ms 125ms _backend_wean_api.php_litter_id_10131979_zemm_test_localhost_54 1 130ms 130ms _backend_wean_api.php_litter_id_10131980_zemm_test_localhost_54 1 117ms 117ms _backend_wean_api.php_litter_id_10131997_zemm_test_localhost_54 1 123ms 123ms _backend_wean_api.php_litter_id_10132131_zemm_test_localhost_54 1 124ms 124ms _backend_wean_api.php_litter_id_10132153_zemm_test_localhost_54 1 125ms 125ms _backend_wean_api.php_litter_id_10132223_zemm_test_localhost_54 1 125ms 125ms _backend_wean_api.php_litter_id_10132224_zemm_test_localhost_54 1 123ms 123ms _backend_wean_api.php_litter_id_10132319_zemm_test_localhost_54 1 129ms 129ms _backend_wean_api.php_zemm_test_localhost_5432 4 8s876ms 2s219ms _desktop__zemm_produktiv_8_localhost_5432 19 1s46ms 55ms _desktop_index.php_cage_name_51_2A_unweaned_only_true_val4_anim 1 1s327ms 1s327ms _desktop_index.php_cages_name_49-2_2A_cages_empty__25_val4_cage 7 462ms 66ms _desktop_index.php_command_animals_litters_subcommand_init_zemm 1 44ms 44ms _desktop_index.php_command_animals_subcommand_found_val1_100000 1 54ms 54ms _desktop_index.php_command_animals_subcommand_found_val1_1535_v 1 45ms 45ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 15 650ms 43ms _desktop_index.php_command_import_dashboard_subcommand_create_r 1 45ms 45ms _desktop_index.php_command_login_subcommand_init__zemm_produkti 1 33ms 33ms _desktop_index.php_command_login_subcommand_init_zemm_dev_local 2 67ms 33ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,689 49s753ms 29ms _desktop_index.php_command_login_subcommand_init_zemm_test_loca 7 221ms 31ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 6 662ms 110ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 1 102ms 102ms _desktop_index.php_command_tasks_subcommand_edit_id_10142776_ze 1 82ms 82ms _desktop_index.php_command_tasks_subcommand_edit_id_10142777_ze 2 157ms 78ms _desktop_index.php_command_tasks_subcommand_edit_id_10142860_ze 1 80ms 80ms _desktop_index.php_command_tasks_subcommand_edit_id_10143169_ze 1 79ms 79ms _desktop_index.php_command_tasks_subcommand_edit_id_10143264_ze 1 83ms 83ms _desktop_index.php_command_tasks_subcommand_edit_id_10143265_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10143308_ze 2 161ms 80ms _desktop_index.php_command_tasks_subcommand_edit_id_10143321_ze 2 164ms 82ms _desktop_index.php_command_tasks_subcommand_found_val1_53_val2_ 4 181ms 45ms _desktop_index.php_command_tasks_subcommand_init_template_zemm_ 2 80ms 40ms _desktop_index.php_command_tasks_subcommand_init_zemm_produktiv 45 2s983ms 66ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_id_10 12 716ms 59ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 3 4s299ms 1s433ms _desktop_index.php_command_tasks_subcommand_search_zemm_produkt 5 216ms 43ms _desktop_index.php_m_action_animals_3Am_delete_val4_animals_lis 7 285ms 40ms _desktop_index.php_mode_0_start_date_2026-01-01_end_date_2026-0 1 50ms 50ms _desktop_index.php_name_Abt_C3_B6ten_20alter_20Zuchtpaare_instr 1 67ms 67ms _desktop_index.php_name_Abt_C3_B6ten_20v._20Tieren_20ohne_20Ver 1 71ms 71ms _desktop_index.php_name_Genotypisierungsproben_20genommen_instr 3 196ms 65ms _desktop_index.php_name_Neue_20Aufgabe_add_link_animals_task_st 1 82ms 82ms _desktop_index.php_name_Tiertransfer_20von_20der_20AG_20Bender_ 2 133ms 66ms _desktop_index.php_name_Tiertransport_20durch_20das_20ZEMM_20-_ 1 62ms 62ms _desktop_index.php_name_Verpaarungen_20zur_20Zucht_instructions 2 127ms 63ms _desktop_index.php_search_id_10142776_search_status__25_no_subt 2 187ms 93ms _desktop_index.php_search_id_10142777_search_status__25_no_subt 1 94ms 94ms _desktop_index.php_search_id_10143138_search_status_2_no_subtas 1 27ms 27ms _desktop_index.php_search_id_10143185_search_status__25_no_subt 1 92ms 92ms _desktop_index.php_search_status_2_no_subtasks_true_command_ani 1 49ms 49ms _desktop_index.php_search_status_2_no_subtasks_true_command_tas 3 148ms 49ms _desktop_index.php_search_status__25_no_subtasks_true_command_t 1 45ms 45ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 5 1s374ms 274ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 24 13s710ms 571ms _desktop_index.php_zemm_produktiv_8_localhost_5432 3,194 11m24s 214ms _desktop_index.php_zemm_test_localhost_5432 26 3s552ms 136ms backend:zemm_produktiv_8@localhost 83 5s762ms 69ms bounces:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 67ms 67ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s103ms 1s103ms pg_dump 1 11s194ms 11s194ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 11s933ms 497ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 19,520 buffers Checkpoint Peak
- 2026-06-01 01:38:15 Date
- 269.960 seconds Highest write time
- 0.031 seconds Sync time
Checkpoints Wal files
Key values
- 6 files Wal files usage Peak
- 2026-06-01 01:38:15 Date
Checkpoints distance
Key values
- 208.11 Mo Distance Peak
- 2026-06-01 01:38:15 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Jun 01 00 8,307 831.044s 0.101s 831.205s 01 26,582 976.551s 0.1s 976.708s 02 8,175 818.015s 0.108s 818.181s 03 8,137 814.431s 0.104s 814.592s 04 7,492 749.486s 0.092s 749.63s 05 9,271 927.888s 0.11s 928.061s 06 8,378 838.4s 0.147s 838.601s 07 10,484 1,048.782s 0.197s 1,049.03s 08 10,417 1,041.785s 0.206s 1,042.04s 09 21,721 1,245.67s 0.161s 1,245.886s 10 12,023 1,203.103s 0.256s 1,203.416s 11 10,859 1,087.055s 0.205s 1,087.312s 12 11,286 1,130.156s 0.229s 1,130.442s 13 10,307 1,032.068s 0.215s 1,032.34s 14 10,628 1,063.542s 0.223s 1,063.815s 15 10,425 1,042.684s 0.162s 1,042.899s 16 9,808 981.199s 0.171s 981.428s 17 8,441 844.374s 0.126s 844.558s 18 8,870 887.787s 0.168s 888.007s 19 9,159 916.321s 0.145s 916.528s 20 8,465 847.081s 0.116s 847.249s 21 8,992 900.484s 0.108s 900.645s 22 7,731 773.941s 0.111s 774.104s 23 8,086 809.502s 0.107s 809.665s Day Hour Added Removed Recycled Synced files Longest sync Average sync Jun 01 00 0 0 2 533 0.002s 0.012s 01 0 0 8 524 0.002s 0.011s 02 0 0 2 537 0.003s 0.012s 03 0 0 1 548 0.002s 0.012s 04 0 0 2 494 0.001s 0.011s 05 0 0 2 581 0.001s 0.013s 06 0 0 1 838 0.003s 0.011s 07 0 0 3 1,162 0.003s 0.012s 08 0 0 2 1,187 0.003s 0.012s 09 0 0 5 922 0.001s 0.011s 10 0 0 3 1,526 0.001s 0.012s 11 0 0 2 1,198 0.002s 0.012s 12 0 0 2 1,326 0.004s 0.012s 13 0 0 3 1,267 0.002s 0.012s 14 0 0 2 1,321 0.002s 0.012s 15 0 0 2 912 0.003s 0.012s 16 0 0 2 915 0.004s 0.012s 17 0 0 2 586 0.003s 0.012s 18 0 0 2 839 0.003s 0.012s 19 0 0 1 787 0.002s 0.012s 20 0 0 2 608 0.002s 0.012s 21 0 0 2 568 0.002s 0.012s 22 0 0 2 553 0.003s 0.012s 23 0 0 1 537 0.002s 0.012s Day Hour Count Avg time (sec) Jun 01 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 Jun 01 00 2,356.42 kB 3,149.42 kB 01 11,877.82 kB 41,807.36 kB 02 2,301.42 kB 39,149.50 kB 03 2,322.83 kB 12,691.25 kB 04 2,327.27 kB 5,344.55 kB 05 2,370.92 kB 3,604.08 kB 06 2,536.82 kB 3,212.91 kB 07 2,935.25 kB 3,367.50 kB 08 2,996.83 kB 4,312.42 kB 09 7,826.91 kB 22,658.00 kB 10 3,734.58 kB 12,871.25 kB 11 3,210.83 kB 6,177.08 kB 12 3,182.42 kB 4,697.08 kB 13 2,985.83 kB 3,589.08 kB 14 3,103.33 kB 4,219.08 kB 15 2,873.83 kB 4,516.00 kB 16 2,827.92 kB 3,716.50 kB 17 2,389.83 kB 3,096.08 kB 18 2,461.25 kB 3,175.25 kB 19 2,548.08 kB 3,223.50 kB 20 2,352.58 kB 2,972.50 kB 21 2,483.75 kB 2,968.42 kB 22 2,224.50 kB 3,013.75 kB 23 2,254.58 kB 2,915.83 kB -
Temporary Files
Size of temporary files
Key values
- 179.55 MiB Temp Files size Peak
- 2026-06-01 15:21:25 Date
Number of temporary files
Key values
- 1 per second Temp Files Peak
- 2026-06-01 15:21:25 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Jun 01 00 0 0 0 01 0 0 0 02 0 0 0 03 0 0 0 04 0 0 0 05 0 0 0 06 0 0 0 07 0 0 0 08 0 0 0 09 0 0 0 10 0 0 0 11 0 0 0 12 0 0 0 13 0 0 0 14 0 0 0 15 2 359.11 MiB 179.55 MiB 16 0 0 0 17 0 0 0 18 0 0 0 19 0 0 0 20 0 0 0 21 0 0 0 22 0 0 0 23 0 0 0 Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 2 359.11 MiB 179.55 MiB 179.55 MiB 179.55 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, 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.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-06-01 15:21:25 Duration: 29s122ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-06-01_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.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-06-01 15:23:04 Duration: 29s49ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-06-01_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.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-06-01 15:21:25 Duration: 0ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432
Queries generating the largest temporary files
Rank Size Query 1 179.55 MiB 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.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-06-01 15:21:25 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 ]
2 179.55 MiB 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.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-06-01 15:23:04 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 0.63 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-06-01 01:30:24 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_produktiv_8 - Date
Average Autovacuum Duration
Key values
- 0.63 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-06-01 01:30:24 Date
Analyzes per table
Key values
- pg_catalog.pg_type (47) Main table analyzed (database zemm_produktiv_8)
- 152 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 47 zemm_produktiv_8.pg_catalog.pg_attribute 35 zemm_produktiv_8.pg_catalog.pg_class 26 zemm_produktiv_8.pg_catalog.pg_depend 23 fbi_unibi.pg_catalog.pg_shdepend 2 zemm_produktiv_8.public.users 2 zemm_produktiv_8.public.tmptasks 2 zemm_monitoring.observability.metrics_timeseries 2 zemm_monitoring.pg_catalog.pg_shdepend 2 zemm_test.pg_catalog.pg_shdepend 1 zemm_produktiv_8.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.tasks 1 template0.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.cages_search_mview 1 postgres.pg_catalog.pg_shdepend 1 zemm_test.public.login_tracker 1 zemm_monitoring.observability.db_top_queries 1 zemm_produktiv_8.public.login_tracker 1 zemm_produktiv_8.public.monitoring_session_activity 1 fbi_unire.pg_catalog.pg_shdepend 1 Total 152 Vacuums per table
Key values
- pg_catalog.pg_type (18) Main table vacuumed on database zemm_produktiv_8
- 65 vacuums Total
Index Buffer usage Skipped WAL usage Frozen Table Vacuums scans hits misses dirtied pins frozen records full page bytes pages tuples zemm_produktiv_8.pg_catalog.pg_type 18 18 0 0 0 0 0 912 198 229,633 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 14 14 0 0 0 0 0 1,743 512 390,257 0 0 zemm_produktiv_8.pg_catalog.pg_class 9 9 0 0 0 0 0 798 258 300,610 0 0 zemm_produktiv_8.pg_catalog.pg_depend 8 8 0 0 0 0 0 989 303 393,107 0 0 zemm_monitoring.pg_toast.pg_toast_181881 4 0 0 0 0 0 0 1,195 407 2,009,429 392 2,154 zemm_monitoring.pg_catalog.pg_shdepend 3 3 0 0 0 0 0 213 76 160,391 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 0 0 0 0 0 615 178 967,111 46 148 zemm_monitoring.pg_toast.pg_toast_67431 2 0 0 0 0 0 0 4,982 1,916 5,735,626 1,146 6,876 zemm_produktiv_8.public.cages_search_mview 1 1 0 0 0 0 0 758 412 1,314,605 55 343 zemm_produktiv_8.public.users 1 1 0 0 0 0 0 168 72 181,770 51 126 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 50,070 9 3,635,001 0 0 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 0 0 0 0 0 203 55 184,574 31 83 Total 65 59 0 0 0 0 0 62,646 4,396 15,502,114 1,721 9,730 Vacuum throughput per table
Key values
- public.tasks (0.63) Max CPU elapsed for vacuum on database zemm_produktiv_8
- pg_catalog.pg_class (2.722 ms) Max I/O read time for vacuum on database zemm_produktiv_8
- unknown (0 ms) Max I/O write time for vacuum on database zemm_produktiv_8
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 1.746 0 0.13 zemm_produktiv_8.pg_catalog.pg_class 2.722 0 0.01 zemm_produktiv_8.pg_catalog.pg_depend 0.722 0 0.08 zemm_monitoring.pg_toast.pg_toast_181881 0 0 0.08 zemm_monitoring.pg_catalog.pg_shdepend 0.681 0 0.01 zemm_produktiv_8.pg_toast.pg_toast_2619 0.283 0 0.03 zemm_monitoring.pg_toast.pg_toast_67431 0 0 0.5 zemm_produktiv_8.public.cages_search_mview 1.754 0 0.12 zemm_produktiv_8.public.users 0.798 0 0.02 zemm_produktiv_8.public.tasks 0 0 0.63 zemm_produktiv_8.pg_catalog.pg_statistic 0.327 0 0.01 Total 9.033 0 1.62 Tuples removed per table
Key values
- public.tasks (54832) Main table with removed tuples on database zemm_produktiv_8
- 81647 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 54,832 57,876 0 0 17,119 zemm_produktiv_8.pg_catalog.pg_attribute 14 14 11,662 76,701 0 0 2,576 zemm_produktiv_8.pg_catalog.pg_depend 8 8 4,815 34,345 0 0 440 zemm_monitoring.pg_toast.pg_toast_67431 2 0 4,608 1,347,950 0 0 259,640 zemm_produktiv_8.pg_catalog.pg_type 18 18 3,044 14,958 0 0 558 zemm_produktiv_8.pg_catalog.pg_class 9 9 1,206 8,127 0 0 378 zemm_monitoring.pg_catalog.pg_shdepend 3 3 439 14,115 0 0 114 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 327 876 0 0 318 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 271 1,269 0 0 143 zemm_produktiv_8.public.cages_search_mview 1 1 257 13,885 0 0 234 zemm_produktiv_8.public.users 1 1 186 764 0 0 108 zemm_monitoring.pg_toast.pg_toast_181881 4 0 0 86,461 0 0 15,737 Total 65 59 81,647 1,657,327 0 0 297,365 Pages removed per table
Key values
- unknown (0) Main table with removed pages on database unknown
- 0 pages Total removed
Pages removed per tables
NO DATASET
Table Number of vacuums Index scans Tuples removed Pages removed zemm_monitoring.pg_toast.pg_toast_181881 4 0 0 0 zemm_monitoring.pg_catalog.pg_shdepend 3 3 439 0 zemm_produktiv_8.pg_toast.pg_toast_2619 3 3 327 0 zemm_produktiv_8.public.cages_search_mview 1 1 257 0 zemm_produktiv_8.pg_catalog.pg_class 9 9 1206 0 zemm_produktiv_8.public.users 1 1 186 0 zemm_produktiv_8.pg_catalog.pg_depend 8 8 4815 0 zemm_produktiv_8.public.tasks 1 1 54832 0 zemm_monitoring.pg_toast.pg_toast_67431 2 0 4608 0 zemm_produktiv_8.pg_catalog.pg_attribute 14 14 11662 0 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 271 0 zemm_produktiv_8.pg_catalog.pg_type 18 18 3044 0 Total 65 59 81,647 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Jun 01 00 0 1 01 1 1 02 0 0 03 1 0 04 1 0 05 0 0 06 4 13 07 3 6 08 3 8 09 2 11 10 10 26 11 8 16 12 3 16 13 12 18 14 4 10 15 3 6 16 7 13 17 0 0 18 2 4 19 0 3 20 0 0 21 1 0 22 0 0 23 0 0 - 0.63 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
- 80 Total read queries
- 24,516 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,493 Requests
- 9h48m53s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- monitoring_admin Main user
- 492,067 Requests
User Request type Count Duration labanimal Total 1,684 39m3s copy to 8 22s808ms cte 259 6m1s select 1,397 32m16s update 20 21s976ms monitoring_admin Total 492,067 29d13h45m13s cte 1,683 3h58m51s ddl 489,528 29d9h34m2s delete 1 603ms select 850 12m13s postgres Total 105 2m24s copy to 105 2m24s Duration by user
Key values
- 29d13h45m13s (monitoring_admin) Main time consuming user
User Request type Count Duration labanimal Total 1,684 39m3s copy to 8 22s808ms cte 259 6m1s select 1,397 32m16s update 20 21s976ms monitoring_admin Total 492,067 29d13h45m13s cte 1,683 3h58m51s ddl 489,528 29d9h34m2s delete 1 603ms select 850 12m13s postgres Total 105 2m24s copy to 105 2m24s Queries by host
Key values
- unknown Main host
- 493,731 Requests
- 29d14h23m54s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 24,493 Requests
- 9h48m53s (unknown)
- Main time consuming application
Application Request type Count Duration _backend_wean_api.php_zemm_test_localhost_5432 Total 7 7s200ms select 7 7s200ms _desktop_index.php_cage_name_51_2A_unweaned_only_true_val4_anim Total 2 1s285ms cte 2 1s285ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b Total 4 2s328ms select 4 2s328ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 84 2m55s cte 15 20s372ms select 69 2m34s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s76ms update 1 1s76ms pg_dump Total 5 6s595ms copy to 5 6s595ms unknown Total 24,493 9h48m53s cte 13 57s133ms ddl 24,480 9h47m56s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-06-01 16:09:06 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 82 500-1000ms duration
Slowest individual queries
Rank Duration Query 1 29s122ms 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.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-06-01 15:21:25 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Bind query: yes ]
2 29s122ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
3 29s122ms 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-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
4 29s122ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
5 29s122ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
6 29s122ms 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-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
7 29s122ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
8 29s122ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
9 29s122ms 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-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
10 29s122ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
11 29s122ms 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-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
12 29s122ms 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-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
13 29s122ms 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-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
14 29s122ms 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-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
15 29s122ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
16 29s122ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
17 29s122ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
18 29s122ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-06-01 15:22:02 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
19 29s49ms 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.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-06-01 15:23:04 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Bind query: yes ]
20 29s49ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-06-01 15:24:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 34m35s 1,440 508ms 29s122ms 1s441ms 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 #1
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
2 34m35s 1,440 508ms 29s122ms 1s441ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
3 34m35s 1,440 508ms 29s122ms 1s441ms 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 #3
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
4 34m35s 1,440 508ms 29s122ms 1s441ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
5 34m35s 1,440 508ms 29s122ms 1s441ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
6 34m35s 1,440 508ms 29s122ms 1s441ms 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 #6
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
7 34m35s 1,440 508ms 29s122ms 1s441ms 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 #7
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
8 34m35s 1,440 508ms 29s122ms 1s441ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
9 34m35s 1,440 508ms 29s122ms 1s441ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
10 34m35s 1,440 508ms 29s122ms 1s441ms 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 #10
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
11 34m35s 1,440 508ms 29s122ms 1s441ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
12 34m35s 1,440 508ms 29s122ms 1s441ms 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 Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
13 34m35s 1,440 508ms 29s122ms 1s441ms create schema if not exists observability;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
14 34m35s 1,440 508ms 29s122ms 1s441ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
15 34m35s 1,440 508ms 29s122ms 1s441ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
16 34m35s 1,440 508ms 29s122ms 1s441ms 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 #16
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
17 34m35s 1,440 508ms 29s122ms 1s441ms 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 #17
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
18 58s171ms 2 29s49ms 29s122ms 29s85ms 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 #18
Day Hour Count Duration Avg duration Jun 01 16 2 58s171ms 29s85ms [ User: labanimal - Total duration: 58s171ms - Times executed: 2 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 58s171ms - Times executed: 2 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 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.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-06-01 15:21:25 Duration: 29s122ms 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-06-01_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.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-06-01 15:23:04 Duration: 29s49ms 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-06-01_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.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-06-01 15:21:25 Duration: 0ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432
19 57s133ms 13 758ms 15s860ms 4s394ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at >= ? and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Jun 01 10 3 32s463ms 10s821ms 20 2 2s918ms 1s459ms 21 1 1s525ms 1s525ms 22 6 17s381ms 2s896ms 23 1 2s844ms 2s844ms [ User: monitoring_admin - Total duration: 57s133ms - Times executed: 13 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-29 09:17:14+02' AND collected_at <= '2026-05-31 09:17:14+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 09:17:14+02' AND '2026-06-01 09:17:14+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 09:17:14+02' AND '2026-06-01 09:17:14+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-06-01 09:17:30 Duration: 15s860ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-29 09:11:41+02' AND collected_at <= '2026-05-31 09:11:41+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 09:11:41+02' AND '2026-06-01 09:11:41+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 09:11:41+02' AND '2026-06-01 09:11:41+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-06-01 09:11:57 Duration: 15s844ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-30 09:49:54+02' AND collected_at <= '2026-06-01 09:49:54+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-06-01 09:49:54+02' AND '2026-06-01 21:49:54+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-06-01 09:49:54+02' AND '2026-06-01 21:49: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-06-01 21:49:57 Duration: 2s933ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
20 52s530ms 2 26s84ms 26s446ms 26s265ms 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 Jun 01 16 2 52s530ms 26s265ms [ User: labanimal - Total duration: 52s530ms - Times executed: 2 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 52s530ms - Times executed: 2 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 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 deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-06-01 15:22:35 Duration: 26s446ms 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-06-01_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-06-01 15:20:56 Duration: 26s84ms 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-06-01_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 34m35s 508ms 29s122ms 1s441ms 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 #1
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
2 1,440 34m35s 508ms 29s122ms 1s441ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
3 1,440 34m35s 508ms 29s122ms 1s441ms 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 #3
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
4 1,440 34m35s 508ms 29s122ms 1s441ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
5 1,440 34m35s 508ms 29s122ms 1s441ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
6 1,440 34m35s 508ms 29s122ms 1s441ms 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 #6
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
7 1,440 34m35s 508ms 29s122ms 1s441ms 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 #7
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
8 1,440 34m35s 508ms 29s122ms 1s441ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
9 1,440 34m35s 508ms 29s122ms 1s441ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
10 1,440 34m35s 508ms 29s122ms 1s441ms 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 #10
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
11 1,440 34m35s 508ms 29s122ms 1s441ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
12 1,440 34m35s 508ms 29s122ms 1s441ms 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 Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
13 1,440 34m35s 508ms 29s122ms 1s441ms create schema if not exists observability;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
14 1,440 34m35s 508ms 29s122ms 1s441ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
15 1,440 34m35s 508ms 29s122ms 1s441ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
16 1,440 34m35s 508ms 29s122ms 1s441ms 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 #16
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
17 1,440 34m35s 508ms 29s122ms 1s441ms 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 #17
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
18 14 10s685ms 747ms 786ms 763ms 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 #18
Day Hour Count Duration Avg duration Jun 01 09 2 1s499ms 749ms 11 6 4s576ms 762ms 14 6 4s609ms 768ms [ User: labanimal - Total duration: 10s685ms - Times executed: 14 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 10s685ms - Times executed: 14 ]
-
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, 10100040) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100040) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100040) 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-06-01 10:32:36 Duration: 786ms 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-06-01_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, 145) AS is_owner, user_is_tgm (animals_search_mview.editor, 145) AS is_editor, user_is_tgm (animals_search_mview.tourist, 145) 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-06-01 13:34:12 Duration: 783ms 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-06-01_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, 460) AS is_owner, user_is_tgm (animals_search_mview.editor, 460) AS is_editor, user_is_tgm (animals_search_mview.tourist, 460) 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-06-01 13:48:36 Duration: 782ms 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-06-01_000000.csv
19 14 9s940ms 688ms 731ms 710ms 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 #19
Day Hour Count Duration Avg duration Jun 01 09 2 1s380ms 690ms 11 6 4s309ms 718ms 14 6 4s250ms 708ms [ User: labanimal - Total duration: 9s940ms - Times executed: 14 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 9s940ms - Times executed: 14 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100040) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100040) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100040) 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-06-01 10:32:36 Duration: 731ms 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-06-01_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 465) AS is_owner, user_is_tgm (animals_search_mview.editor, 465) AS is_editor, user_is_tgm (animals_search_mview.tourist, 465) 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-06-01 10:17:16 Duration: 730ms 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-06-01_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 145) AS is_owner, user_is_tgm (animals_search_mview.editor, 145) AS is_editor, user_is_tgm (animals_search_mview.tourist, 145) 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-06-01 13:34:13 Duration: 728ms 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-06-01_000000.csv
20 13 57s133ms 758ms 15s860ms 4s394ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at >= ? and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Jun 01 10 3 32s463ms 10s821ms 20 2 2s918ms 1s459ms 21 1 1s525ms 1s525ms 22 6 17s381ms 2s896ms 23 1 2s844ms 2s844ms [ User: monitoring_admin - Total duration: 57s133ms - Times executed: 13 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-29 09:17:14+02' AND collected_at <= '2026-05-31 09:17:14+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 09:17:14+02' AND '2026-06-01 09:17:14+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 09:17:14+02' AND '2026-06-01 09:17:14+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-06-01 09:17:30 Duration: 15s860ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-29 09:11:41+02' AND collected_at <= '2026-05-31 09:11:41+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 09:11:41+02' AND '2026-06-01 09:11:41+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 09:11:41+02' AND '2026-06-01 09:11:41+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-06-01 09:11:57 Duration: 15s844ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-30 09:49:54+02' AND collected_at <= '2026-06-01 09:49:54+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-06-01 09:49:54+02' AND '2026-06-01 21:49:54+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-06-01 09:49:54+02' AND '2026-06-01 21:49: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-06-01 21:49:57 Duration: 2s933ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 29s49ms 29s122ms 29s85ms 2 58s171ms 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 Jun 01 16 2 58s171ms 29s85ms [ User: labanimal - Total duration: 58s171ms - Times executed: 2 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 58s171ms - Times executed: 2 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 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.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-06-01 15:21:25 Duration: 29s122ms 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-06-01_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.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-06-01 15:23:04 Duration: 29s49ms 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-06-01_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.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-06-01 15:21:25 Duration: 0ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432
2 26s84ms 26s446ms 26s265ms 2 52s530ms 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 Jun 01 16 2 52s530ms 26s265ms [ User: labanimal - Total duration: 52s530ms - Times executed: 2 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 52s530ms - Times executed: 2 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 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 deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-06-01 15:22:35 Duration: 26s446ms 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-06-01_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 332) AS is_owner, user_is_tgm (animals_search_mview.editor, 332) AS is_editor, user_is_tgm (animals_search_mview.tourist, 332) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-06-01 15:20:56 Duration: 26s84ms 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-06-01_000000.csv
3 758ms 15s860ms 4s394ms 13 57s133ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at >= ? and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Jun 01 10 3 32s463ms 10s821ms 20 2 2s918ms 1s459ms 21 1 1s525ms 1s525ms 22 6 17s381ms 2s896ms 23 1 2s844ms 2s844ms [ User: monitoring_admin - Total duration: 57s133ms - Times executed: 13 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-29 09:17:14+02' AND collected_at <= '2026-05-31 09:17:14+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 09:17:14+02' AND '2026-06-01 09:17:14+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 09:17:14+02' AND '2026-06-01 09:17:14+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-06-01 09:17:30 Duration: 15s860ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-29 09:11:41+02' AND collected_at <= '2026-05-31 09:11:41+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 09:11:41+02' AND '2026-06-01 09:11:41+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 09:11:41+02' AND '2026-06-01 09:11:41+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-06-01 09:11:57 Duration: 15s844ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-30 09:49:54+02' AND collected_at <= '2026-06-01 09:49:54+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-06-01 09:49:54+02' AND '2026-06-01 21:49:54+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-06-01 09:49:54+02' AND '2026-06-01 21:49: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-06-01 21:49:57 Duration: 2s933ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
4 508ms 29s122ms 1s441ms 1,440 34m35s create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
5 508ms 29s122ms 1s441ms 1,440 34m35s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
6 508ms 29s122ms 1s441ms 1,440 34m35s create table if not exists observability.nginx_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
7 508ms 29s122ms 1s441ms 1,440 34m35s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
8 508ms 29s122ms 1s441ms 1,440 34m35s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
9 508ms 29s122ms 1s441ms 1,440 34m35s 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 #9
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
10 508ms 29s122ms 1s441ms 1,440 34m35s create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
11 508ms 29s122ms 1s441ms 1,440 34m35s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
12 508ms 29s122ms 1s441ms 1,440 34m35s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
13 508ms 29s122ms 1s441ms 1,440 34m35s 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 Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
14 508ms 29s122ms 1s441ms 1,440 34m35s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
15 508ms 29s122ms 1s441ms 1,440 34m35s create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
16 508ms 29s122ms 1s441ms 1,440 34m35s create schema if not exists observability;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
17 508ms 29s122ms 1s441ms 1,440 34m35s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
18 508ms 29s122ms 1s441ms 1,440 34m35s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
19 508ms 29s122ms 1s441ms 1,440 34m35s create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
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-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
20 508ms 29s122ms 1s441ms 1,440 34m35s 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 #20
Day Hour Count Duration Avg duration Jun 01 01 60 0ms 0ms 02 60 31s222ms 520ms 03 60 1m4s 1s76ms 04 60 1m4s 1s76ms 05 60 1m4s 1s76ms 06 60 1m4s 1s76ms 07 60 1m4s 1s76ms 08 60 53s473ms 891ms 09 60 49s85ms 818ms 10 60 4m27s 4s466ms 11 60 42s947ms 715ms 12 60 47s871ms 797ms 13 60 46s180ms 769ms 14 60 1m12s 1s213ms 15 60 34s287ms 571ms 16 60 6m37s 6s628ms 17 60 31s72ms 517ms 18 60 31s884ms 531ms 19 60 32s155ms 535ms 20 60 46s913ms 781ms 21 60 1m31s 1s523ms 22 60 2m19s 2s325ms 23 60 2m50s 2s845ms 00 60 2m44s 2s747ms [ User: monitoring_admin - Total duration: 34m35s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-01 15:22:02 Duration: 29s122ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-01 15:33:01 Duration: 29s49ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-06-01 15:23:01 Duration: 26s446ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-06-01_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
- 143,348 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 0 FATAL entries
- 2 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 1 Max number of times the same event was reported
- 2 Total events found
Rank Times reported Error 1 1 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #1
Day Hour Count Jun 01 11 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-06-01 10:41: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-06-01 10:41:01 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv
2 1 ERROR: syntax error at or near "..."
Times Reported Most Frequent Error / Event #2
Day Hour Count Jun 01 10 1 - ERROR: syntax error at or near ";"
Statement: SELECT * FROM invoice_records WHERE id = ;
Date: 2026-06-01 09:03:10 Database: zemm_test Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-06-01_000000.csv