-
Global information
- Generated on Mon Jun 15 06:04:54 2026
- Log file: /var/log/postgresql/postgresql-2026-05-13_000000.csv, ..., /var/log/postgresql/postgresql-2026-06-15_000000.csv
- Parsed 321,381 log entries in 4m53s
- Log start from 2026-05-19 00:00:02 to 2026-05-19 23:59:03
-
Overview
Global Stats
- 75 Number of unique normalized queries
- 24,782 Number of queries
- 1d2h4m21s Total query duration
- 2026-05-19 00:00:02 First query
- 2026-05-19 23:59:01 Last query
- 18 queries/s at 2026-05-19 12:53:01 Query peak
- 1d2h4m21s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 1d2h4m21s Execute total duration
- 5 Number of events
- 4 Number of unique normalized events
- 2 Max number of times the same event was reported
- 0 Number of cancellation
- 271 Total number of automatic vacuums
- 470 Total number of automatic analyzes
- 2 Number temporary file
- 179.28 MiB Max size of temporary file
- 179.28 MiB Average size of temporary file
- 30,547 Total number of sessions
- 8 sessions at 2026-05-19 10:09:20 Session peak
- 2h49s Total duration of sessions
- 237ms Average duration of sessions
- 0 Average queries per session
- 3s72ms Average queries duration per session
- 0ms Average idle time per session
- 30,548 Total number of connections
- 32 connections/s at 2026-05-19 09:29:11 Connection peak
- 2 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-05-19 12:53:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-05-19 09:43:36 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 18 queries/s Query Peak
- 2026-05-19 12:53:01 Date
Queries duration
Key values
- 1d2h4m21s Total query duration
Prepared queries ratio
Key values
- 0.00 Ratio of bind vs prepare
- 0.00 % Ratio between prepared and "usual" statements
General Activity
↑ Back to the top of the General Activity tableDay Hour Count Min duration Max duration Avg duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 19 00 1,020 0ms 0ms 0ms 0ms 0ms 0ms 01 1,021 0ms 1s93ms 529ms 18s591ms 18s591ms 18s591ms 02 1,020 1s93ms 1s93ms 1s93ms 18s591ms 18s591ms 18s591ms 03 1,020 1s93ms 1s93ms 1s93ms 18s591ms 18s591ms 18s591ms 04 1,020 1s93ms 1s93ms 1s93ms 18s591ms 18s591ms 18s591ms 05 1,020 1s93ms 1s93ms 1s93ms 18s591ms 18s591ms 18s591ms 06 1,036 546ms 1s701ms 983ms 18s591ms 18s591ms 25s87ms 07 1,025 679ms 1s871ms 936ms 31s813ms 31s813ms 33s374ms 08 1,036 552ms 15s806ms 2s79ms 30s512ms 4m28s 4m29s 09 1,056 553ms 15s746ms 5s500ms 4m27s 4m27s 4m28s 10 1,066 500ms 15s715ms 4s212ms 3m21s 3m24s 4m39s 11 1,042 555ms 11s830ms 5s694ms 3m21s 3m21s 3m22s 12 1,052 705ms 22s501ms 7s471ms 6m22s 6m22s 6m40s 13 1,052 533ms 22s365ms 9s926ms 6m20s 6m20s 6m21s 14 1,080 610ms 22s379ms 6s30ms 6m20s 6m20s 6m21s 15 1,032 740ms 29s78ms 22s106ms 6m43s 8m 8m35s 16 1,022 1s524ms 23s714ms 7s800ms 6m43s 6m43s 6m44s 17 1,037 707ms 23s809ms 8s39ms 6m44s 6m44s 6m45s 18 1,020 736ms 736ms 736ms 12s515ms 12s515ms 12s515ms 19 1,020 736ms 736ms 736ms 12s515ms 12s515ms 12s515ms 20 1,020 736ms 736ms 736ms 12s515ms 12s515ms 12s515ms 21 1,020 736ms 736ms 736ms 12s515ms 12s515ms 12s515ms 22 1,020 736ms 736ms 736ms 12s515ms 12s515ms 12s515ms 23 1,025 573ms 2s66ms 781ms 12s515ms 23s476ms 23s476ms Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 19 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 14 0 887ms 0ms 0ms 3s130ms 07 2 0 780ms 0ms 0ms 0ms 08 15 0 912ms 0ms 928ms 2s409ms 09 26 0 849ms 753ms 1s35ms 2s443ms 10 34 0 812ms 768ms 1s551ms 3s96ms 11 14 0 739ms 712ms 737ms 796ms 12 13 0 739ms 709ms 744ms 796ms 13 15 0 703ms 703ms 739ms 786ms 14 34 0 967ms 770ms 1s976ms 3s829ms 15 10 0 11s580ms 0ms 776ms 28s866ms 16 2 0 1s525ms 0ms 0ms 1s524ms 17 12 0 764ms 0ms 764ms 820ms 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 1s326ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 19 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s93ms 0ms 0ms 0ms 02 0 0 0 0 0ms 0ms 0ms 0ms 03 0 0 0 0 0ms 0ms 0ms 0ms 04 0 0 0 0 0ms 0ms 0ms 0ms 05 0 0 0 0 0ms 0ms 0ms 0ms 06 0 0 0 0 0ms 0ms 0ms 0ms 07 0 0 0 0 0ms 0ms 0ms 0ms 08 0 0 0 0 0ms 0ms 0ms 0ms 09 0 0 0 0 0ms 0ms 0ms 0ms 10 0 0 0 0 0ms 0ms 0ms 0ms 11 0 0 0 0 0ms 0ms 0ms 0ms 12 0 0 0 0 0ms 0ms 0ms 0ms 13 0 0 0 0 0ms 0ms 0ms 0ms 14 0 0 0 0 0ms 0ms 0ms 0ms 15 0 0 0 0 0ms 0ms 0ms 0ms 16 0 0 0 0 0ms 0ms 0ms 0ms 17 0 0 0 0 0ms 0ms 0ms 0ms 18 0 0 0 0 0ms 0ms 0ms 0ms 19 0 0 0 0 0ms 0ms 0ms 0ms 20 0 0 0 0 0ms 0ms 0ms 0ms 21 0 0 0 0 0ms 0ms 0ms 0ms 22 0 0 0 0 0ms 0ms 0ms 0ms 23 0 0 0 0 0ms 0ms 0ms 0ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare May 19 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 3 3.00 0.00% 09 0 24 24.00 0.00% 10 0 16 16.00 0.00% 11 0 18 18.00 0.00% 12 0 19 19.00 0.00% 13 0 18 18.00 0.00% 14 0 17 17.00 0.00% 15 0 6 6.00 0.00% 16 0 0 0.00 0.00% 17 0 15 15.00 0.00% 18 0 0 0.00 0.00% 19 0 0 0.00 0.00% 20 0 0 0.00 0.00% 21 0 0 0.00 0.00% 22 0 0 0.00 0.00% 23 0 0 0.00 0.00% Day Hour Count Average / Second May 19 00 543 0.15/s 01 552 0.15/s 02 660 0.18/s 03 563 0.16/s 04 543 0.15/s 05 550 0.15/s 06 1,481 0.41/s 07 2,081 0.58/s 08 2,244 0.62/s 09 2,664 0.74/s 10 3,250 0.90/s 11 1,932 0.54/s 12 1,676 0.47/s 13 2,353 0.65/s 14 2,312 0.64/s 15 1,460 0.41/s 16 1,020 0.28/s 17 1,146 0.32/s 18 611 0.17/s 19 556 0.15/s 20 576 0.16/s 21 574 0.16/s 22 594 0.17/s 23 607 0.17/s Day Hour Count Average Duration Average idle time May 19 00 543 238ms 238ms 01 552 241ms 0ms 02 660 205ms 0ms 03 563 235ms 0ms 04 543 243ms 0ms 05 550 239ms 0ms 06 1,481 196ms 0ms 07 2,081 160ms 0ms 08 2,242 171ms 0ms 09 2,666 309ms 0ms 10 3,250 207ms 0ms 11 1,932 219ms 0ms 12 1,675 233ms 0ms 13 2,353 212ms 0ms 14 2,312 242ms 0ms 15 1,460 463ms 0ms 16 1,020 170ms 0ms 17 1,146 344ms 0ms 18 611 221ms 0ms 19 556 238ms 0ms 20 576 233ms 0ms 21 574 230ms 0ms 22 594 229ms 0ms 23 607 249ms 0ms -
Connections
Established Connections
Key values
- 32 connections Connection Peak
- 2026-05-19 09:29:11 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 30,548 connections Total
Connections per user
Key values
- labanimal Main User
- 30,548 connections Total
-
Sessions
Simultaneous sessions
Key values
- 8 sessions Session Peak
- 2026-05-19 10:09:20 Date
Histogram of session times
Key values
- 27,977 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 30,547 sessions Total
Sessions per user
Key values
- labanimal Main User
- 30,547 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 30,547 sessions Total
Sessions per application
Key values
- Main Application
- 30,547 sessions Total
Application Count Total Duration Average Duration 24,223 1h42m26s 253ms _desktop__zemm_produktiv_8_localhost_5432 19 1s202ms 63ms _desktop_index.php_animal_name_45_animal_id_2026_2F000_2F1520_s 1 30ms 30ms _desktop_index.php_cage_name_46-141_current_only_true_val4_anim 1 82ms 82ms _desktop_index.php_cage_name_48_2A_bday_to_2026-05-12_unweaned_ 1 1s346ms 1s346ms _desktop_index.php_cages_name_49-2_2A_cages_empty__25_val4_cage 14 934ms 66ms _desktop_index.php_command_animals_breedings_subcommand_add_bre 2 88ms 44ms _desktop_index.php_command_animals_edit_subcommand_init_id_1028 1 96ms 96ms _desktop_index.php_command_animals_edit_subcommand_init_id_1029 2 200ms 100ms _desktop_index.php_command_animals_litters_create_subcommand_se 1 184ms 184ms _desktop_index.php_command_animals_litters_edit_subcommand_init 2 202ms 101ms _desktop_index.php_command_animals_subcommand_found_val1_104_va 1 32ms 32ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 22 928ms 42ms _desktop_index.php_command_facility_subcommand_init_zemm_dev_lo 1 72ms 72ms _desktop_index.php_command_login_subcommand_init_zemm_dev_local 42 1s312ms 31ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,769 51s977ms 29ms _desktop_index.php_command_login_subcommand_init_zemm_test_loca 22 674ms 30ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 5 590ms 118ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 17 1s949ms 114ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 1 110ms 110ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 2 247ms 123ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 2 234ms 117ms _desktop_index.php_command_tasks_subcommand_agent_tasks_zemm_pr 1 56ms 56ms _desktop_index.php_command_tasks_subcommand_edit_id_10142543_ze 3 261ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142581_ze 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10142668_ze 1 83ms 83ms _desktop_index.php_command_tasks_subcommand_edit_id_10142674_ze 2 165ms 82ms _desktop_index.php_command_tasks_subcommand_edit_id_10142894_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142935_ze 1 83ms 83ms _desktop_index.php_command_tasks_subcommand_edit_id_10142944_ze 1 80ms 80ms _desktop_index.php_command_tasks_subcommand_edit_id_10143008_ze 2 170ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10143019_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10143056_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10143066_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_init_template_zemm_ 3 119ms 39ms _desktop_index.php_command_tasks_subcommand_init_zemm_produktiv 22 1s585ms 72ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_id_10 174 13s933ms 80ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_id_79 1 64ms 64ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 7 10s319ms 1s474ms _desktop_index.php_command_tasks_subcommand_search_zemm_produkt 3 135ms 45ms _desktop_index.php_command_tasks_subcommand_view_template_id_47 3 139ms 46ms _desktop_index.php_name_VP_20von_20_E2_80_A6_20bis_20_E2_80_A6_ 1 49ms 49ms _desktop_index.php_name_Verpaarungen_20f_C3_BCr_20OE_20CD103_in 1 45ms 45ms _desktop_index.php_name_Verpaarungen_20zur_20Zucht_instructions 2 164ms 82ms _desktop_index.php_search_id_10142326_search_status__25_no_subt 1 90ms 90ms _desktop_index.php_search_status__25_issuer_user_name_Jansen_2C 3 162ms 54ms _desktop_index.php_search_status__25_no_subtasks_true_command_t 1 1s628ms 1s628ms _desktop_index.php_sire_name_54_dam_name_35_sire_id_2025_2F001_ 1 56ms 56ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 27 9s758ms 361ms _desktop_index.php_zemm_dev_localhost_5432 5 777ms 155ms _desktop_index.php_zemm_produktiv_8_localhost_5432 4,037 16m8s 239ms backend:zemm_produktiv_8@localhost 51 3s251ms 63ms bounces:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 79ms 79ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s119ms 1s119ms pg_dump 1 11s979ms 11s979ms psql 10 116ms 11ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 15s87ms 628ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 19,232 buffers Checkpoint Peak
- 2026-05-19 01:34:37 Date
- 269.612 seconds Highest write time
- 0.343 seconds Sync time
Checkpoints Wal files
Key values
- 6 files Wal files usage Peak
- 2026-05-19 01:34:37 Date
Checkpoints distance
Key values
- 191.15 Mo Distance Peak
- 2026-05-19 01:34:37 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time May 19 00 7,057 706.438s 0.091s 706.584s 01 25,618 908.784s 0.095s 908.946s 02 6,968 697.402s 0.093s 697.548s 03 7,063 706.811s 0.102s 706.966s 04 8,295 829.341s 0.095s 829.494s 05 6,444 644.943s 0.102s 645.097s 06 9,529 953.926s 0.197s 954.178s 07 10,628 1,063.15s 0.242s 1,063.446s 08 18,743 1,250.914s 0.262s 1,251.231s 09 11,415 1,141.914s 0.273s 1,142.241s 10 14,620 1,462.771s 0.294s 1,463.123s 11 10,594 1,060.421s 0.226s 1,060.696s 12 9,444 945.217s 0.514s 945.822s 13 10,749 1,075.1s 0.21s 1,075.37s 14 9,905 990.626s 0.208s 990.891s 15 8,206 820.7s 0.136s 820.884s 16 7,654 765.746s 0.14s 765.942s 17 8,990 899.577s 0.108s 899.741s 18 6,523 652.859s 0.105s 653.022s 19 6,920 692.625s 0.092s 692.769s 20 7,548 754.92s 0.092s 755.082s 21 7,091 709.44s 0.091s 709.587s 22 6,307 631.496s 0.098s 631.648s 23 7,240 724.784s 0.099s 724.938s Day Hour Added Removed Recycled Synced files Longest sync Average sync May 19 00 0 0 1 480 0.001s 0.012s 01 0 0 10 499 0.001s 0.012s 02 0 0 1 470 0.003s 0.012s 03 0 0 2 473 0.010s 0.012s 04 0 0 1 478 0.004s 0.012s 05 0 0 2 466 0.003s 0.012s 06 0 0 3 1,141 0.002s 0.012s 07 0 0 2 1,382 0.004s 0.012s 08 0 0 5 1,521 0.007s 0.012s 09 0 0 3 1,615 0.002s 0.012s 10 0 0 4 1,776 0.002s 0.012s 11 0 0 3 1,337 0.002s 0.012s 12 0 0 2 1,042 0.007s 0.015s 13 0 0 3 1,167 0.004s 0.012s 14 0 0 2 1,214 0.002s 0.012s 15 0 0 2 755 0.001s 0.012s 16 0 0 1 771 0.003s 0.012s 17 0 0 2 560 0.002s 0.012s 18 0 0 2 512 0.002s 0.012s 19 0 0 1 476 0.002s 0.012s 20 0 0 1 484 0.001s 0.012s 21 0 0 2 482 0.001s 0.012s 22 0 0 1 512 0.002s 0.012s 23 0 0 2 526 0.001s 0.012s Day Hour Count Avg time (sec) May 19 00 0 0s 01 0 0s 02 0 0s 03 0 0s 04 0 0s 05 0 0s 06 0 0s 07 0 0s 08 0 0s 09 0 0s 10 0 0s 11 0 0s 12 0 0s 13 0 0s 14 0 0s 15 0 0s 16 0 0s 17 0 0s 18 0 0s 19 0 0s 20 0 0s 21 0 0s 22 0 0s 23 0 0s Day Hour Mean distance Mean estimate May 19 00 1,998.92 kB 2,443.25 kB 01 13,112.08 kB 41,200.75 kB 02 1,947.17 kB 33,809.75 kB 03 1,986.08 kB 10,957.42 kB 04 2,288.83 kB 4,789.17 kB 05 1,859.25 kB 3,269.08 kB 06 3,931.83 kB 4,658.50 kB 07 3,749.50 kB 5,557.08 kB 08 5,897.67 kB 6,622.92 kB 09 4,621.67 kB 18,015.50 kB 10 5,892.75 kB 10,162.17 kB 11 3,625.08 kB 6,180.92 kB 12 2,965.50 kB 5,017.67 kB 13 3,367.50 kB 5,007.75 kB 14 3,016.58 kB 4,205.08 kB 15 2,332.83 kB 3,214.75 kB 16 2,181.42 kB 3,010.42 kB 17 2,510.75 kB 4,413.42 kB 18 1,897.25 kB 2,772.42 kB 19 1,961.33 kB 2,588.17 kB 20 2,094.75 kB 2,864.33 kB 21 2,042.25 kB 2,691.83 kB 22 1,850.08 kB 2,621.33 kB 23 2,007.17 kB 2,810.00 kB -
Temporary Files
Size of temporary files
Key values
- 179.28 MiB Temp Files size Peak
- 2026-05-19 15:12:22 Date
Number of temporary files
Key values
- 1 per second Temp Files Peak
- 2026-05-19 15:12:22 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size May 19 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 358.56 MiB 179.28 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 358.56 MiB 179.28 MiB 179.28 MiB 179.28 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, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:06:11 Duration: 29s78ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:12:22 Duration: 28s866ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:06:11 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.28 MiB SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:06:11 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 ]
2 179.28 MiB SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:12:22 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 0.83 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-05-19 01:30:12 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_produktiv_8 - Date
Average Autovacuum Duration
Key values
- 0.83 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-05-19 01:30:12 Date
Analyzes per table
Key values
- pg_catalog.pg_type (131) Main table analyzed (database zemm_produktiv_8)
- 470 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 131 zemm_produktiv_8.pg_catalog.pg_attribute 106 zemm_produktiv_8.pg_catalog.pg_class 85 zemm_produktiv_8.pg_catalog.pg_depend 82 zemm_dev.pg_catalog.pg_shdepend 7 postgres.pg_catalog.pg_shdepend 7 fbi_ci_db.pg_catalog.pg_shdepend 7 zemm_test.pg_catalog.pg_shdepend 6 labanimal.pg_catalog.pg_shdepend 5 template1.pg_catalog.pg_shdepend 4 invdb.pg_catalog.pg_shdepend 3 fbi_unire.pg_catalog.pg_shdepend 3 zemm_produktiv_8.public.cages_search_mview 3 zemm_produktiv_8.public.tmptasks 3 zemm_produktiv_8.pg_catalog.pg_shdepend 3 fbi_unibi.pg_catalog.pg_shdepend 3 zemm_monitoring.observability.metrics_timeseries 2 zemm_monitoring.pg_catalog.pg_shdepend 2 zemm_produktiv_8.public.users 2 zemm_produktiv_8.public.cost_history 1 zemm_produktiv_8.public.monitoring_session_activity 1 zemm_produktiv_8.public.login_tracker 1 template0.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.tasks 1 zemm_produktiv_8.public.breedings 1 Total 470 Vacuums per table
Key values
- pg_catalog.pg_type (71) Main table vacuumed on database zemm_produktiv_8
- 271 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 71 71 0 0 0 0 0 2,865 486 719,067 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 62 62 0 0 0 0 0 6,560 914 1,653,010 0 0 zemm_produktiv_8.pg_catalog.pg_class 50 50 0 0 0 0 0 2,401 562 668,512 0 0 zemm_produktiv_8.pg_catalog.pg_depend 45 45 0 0 0 0 0 4,031 844 1,328,976 0 0 zemm_monitoring.pg_catalog.pg_shdepend 12 12 0 0 0 0 0 814 188 415,188 0 0 postgres.pg_catalog.pg_shdepend 12 12 0 0 0 0 0 806 172 398,343 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 8 8 0 0 0 0 0 1,216 299 1,547,690 39 115 invdb.pg_catalog.pg_shdepend 4 4 0 0 0 0 0 280 68 152,610 0 0 zemm_monitoring.pg_toast.pg_toast_67431 4 0 0 0 0 0 0 4,568 1,532 3,487,239 1,516 9,096 zemm_produktiv_8.public.tmptasks 1 1 0 0 0 0 0 97 35 20,005 0 0 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 48,993 18,739 39,152,553 16,682 54,779 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 0 0 0 0 0 174 27 97,132 10 22 Total 271 267 0 0 0 0 0 72,805 23,866 49,640,325 18,247 64,012 Vacuum throughput per table
Key values
- public.tasks (0.83) Max CPU elapsed for vacuum on database zemm_produktiv_8
- unknown (0 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 0 0 0.1 zemm_produktiv_8.pg_catalog.pg_class 0 0 0.01 zemm_produktiv_8.pg_catalog.pg_depend 0 0 0.1 zemm_monitoring.pg_catalog.pg_shdepend 0 0 0 postgres.pg_catalog.pg_shdepend 0 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 0 0 0.04 invdb.pg_catalog.pg_shdepend 0 0 0 zemm_monitoring.pg_toast.pg_toast_67431 0 0 0.36 zemm_produktiv_8.public.tmptasks 0 0 0.01 zemm_produktiv_8.public.tasks 0 0 0.83 zemm_produktiv_8.pg_catalog.pg_statistic 0 0 0.01 Total 0 0 1.46 Tuples removed per table
Key values
- public.tasks (54517) Main table with removed tuples on database zemm_produktiv_8
- 112121 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 54,517 57,645 0 0 16,999 zemm_produktiv_8.pg_catalog.pg_attribute 62 62 27,361 364,450 0 0 11,408 zemm_produktiv_8.pg_catalog.pg_depend 45 45 13,902 194,717 0 0 2,475 zemm_produktiv_8.pg_catalog.pg_type 71 71 7,266 59,001 0 0 2,201 zemm_produktiv_8.pg_catalog.pg_class 50 50 3,760 45,685 0 0 2,100 zemm_monitoring.pg_catalog.pg_shdepend 12 12 1,687 56,697 237 0 456 postgres.pg_catalog.pg_shdepend 12 12 1,647 56,460 0 0 456 zemm_produktiv_8.pg_toast.pg_toast_2619 8 8 843 2,330 0 0 848 invdb.pg_catalog.pg_shdepend 4 4 751 18,820 0 0 152 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 297 1,269 0 0 143 zemm_produktiv_8.public.tmptasks 1 1 90 789 0 12 115 zemm_monitoring.pg_toast.pg_toast_67431 4 0 0 2,680,078 0 0 454,704 Total 271 267 112,121 3,537,941 237 12 492,057 Pages removed per table
Key values
- public.tmptasks (12) Main table with removed pages on database zemm_produktiv_8
- 12 pages Total removed
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_8.public.tmptasks 1 1 90 12 zemm_monitoring.pg_catalog.pg_shdepend 12 12 1687 0 postgres.pg_catalog.pg_shdepend 12 12 1647 0 zemm_produktiv_8.pg_toast.pg_toast_2619 8 8 843 0 invdb.pg_catalog.pg_shdepend 4 4 751 0 zemm_produktiv_8.public.tasks 1 1 54517 0 zemm_produktiv_8.pg_catalog.pg_depend 45 45 13902 0 zemm_produktiv_8.pg_catalog.pg_class 50 50 3760 0 zemm_produktiv_8.pg_catalog.pg_type 71 71 7266 0 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 297 0 zemm_monitoring.pg_toast.pg_toast_67431 4 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 62 62 27361 0 Total 271 267 112,121 12 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs May 19 00 0 0 01 3 1 02 0 0 03 0 0 04 0 1 05 0 0 06 43 61 07 32 50 08 25 52 09 45 82 10 52 88 11 25 42 12 23 36 13 11 24 14 7 20 15 1 7 16 3 6 17 0 0 18 0 0 19 0 0 20 1 0 21 0 0 22 0 0 23 0 0 - 0.83 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
- 191 Total read queries
- 24,591 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,629 Requests
- 1d2h9s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- monitoring_admin Main user
- 171,890 Requests
User Request type Count Duration labanimal Total 625 18m51s cte 84 1m35s select 534 17m8s update 7 7s490ms monitoring_admin Total 171,890 3d22h59m3s cte 171 42m46s ddl 171,373 3d22h11m48s select 346 4m28s postgres Total 35 48s358ms copy to 35 48s358ms Duration by user
Key values
- 3d22h59m3s (monitoring_admin) Main time consuming user
User Request type Count Duration labanimal Total 625 18m51s cte 84 1m35s select 534 17m8s update 7 7s490ms monitoring_admin Total 171,890 3d22h59m3s cte 171 42m46s ddl 171,373 3d22h11m48s select 346 4m28s postgres Total 35 48s358ms copy to 35 48s358ms Queries by host
Key values
- unknown Main host
- 172,508 Requests
- 3d23h17m47s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 24,629 Requests
- 1d2h9s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_cage_name_48_2A_bday_to_2026-05-12_unweaned_ Total 2 1s302ms cte 2 1s302ms _desktop_index.php_search_status__25_no_subtasks_true_command_t Total 1 1s526ms select 1 1s526ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 144 4m1s cte 43 40s385ms select 101 3m20s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s93ms update 1 1s93ms pg_dump Total 5 6s633ms copy to 5 6s633ms unknown Total 24,629 1d2h9s cte 47 13m34s ddl 24,493 1d1h45m28s select 89 1m6s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-05-19 08:00:11 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 201 500-1000ms duration
Slowest individual queries
Rank Duration Query 1 29s78ms SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:06:11 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Bind query: yes ]
2 28s866ms SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:12:22 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Bind query: yes ]
3 28s866ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
4 28s866ms CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
5 28s866ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
6 28s866ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
7 28s866ms CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
8 28s866ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
9 28s866ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
10 28s866ms CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
11 28s866ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
12 28s866ms CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
13 28s866ms CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
14 28s866ms CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
15 28s866ms CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
16 28s866ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
17 28s866ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
18 28s866ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
19 28s866ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-05-19 15:13:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
20 26s638ms 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, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:05:42 - Database: zemm_produktiv_8 - User: labanimal - Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 1h30m57s 1,441 500ms 28s866ms 3s787ms 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 #1
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
2 1h30m57s 1,441 500ms 28s866ms 3s787ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
3 1h30m57s 1,441 500ms 28s866ms 3s787ms create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
4 1h30m57s 1,441 500ms 28s866ms 3s787ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
5 1h30m57s 1,441 500ms 28s866ms 3s787ms 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 #5
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
6 1h30m57s 1,441 500ms 28s866ms 3s787ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
7 1h30m57s 1,441 500ms 28s866ms 3s787ms 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 #7
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
8 1h30m57s 1,441 500ms 28s866ms 3s787ms 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 #8
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
9 1h30m57s 1,441 500ms 28s866ms 3s787ms 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 #9
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
10 1h30m57s 1,441 500ms 28s866ms 3s787ms create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
11 1h30m57s 1,441 500ms 28s866ms 3s787ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
12 1h30m57s 1,441 500ms 28s866ms 3s787ms create schema if not exists observability;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
13 1h30m57s 1,441 500ms 28s866ms 3s787ms 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 #13
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
14 1h30m45s 1,440 500ms 28s866ms 3s781ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 60 7m27s 7s456ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m45s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
15 1h30m45s 1,440 500ms 28s866ms 3s781ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 60 7m27s 7s456ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m45s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
16 1h30m45s 1,440 500ms 28s866ms 3s781ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 60 7m27s 7s456ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m45s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
17 1h30m45s 1,440 500ms 28s866ms 3s781ms 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 May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 60 7m27s 7s456ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m45s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
18 13m34s 47 719ms 23s809ms 17s335ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at >= ? and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration May 19 09 1 15s806ms 15s806ms 10 9 2m5s 13s959ms 11 6 1m18s 13s87ms 12 6 1m10s 11s789ms 13 6 1m31s 15s309ms 14 6 2m13s 22s322ms 15 6 2m13s 22s305ms 16 2 46s82ms 23s41ms 18 5 1m58s 23s668ms [ User: monitoring_admin - Total duration: 13m34s - Times executed: 47 ]
-
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-17 05:13:02+02' AND collected_at <= '2026-05-19 05:13:02+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-19 05:13:02+02' AND '2026-05-19 17:13:02+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-19 05:13:02+02' AND '2026-05-19 17:13:02+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-19 17:13:25 Duration: 23s809ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_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-17 05:02:52+02' AND collected_at <= '2026-05-19 05:02:52+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-19 05:02:52+02' AND '2026-05-19 17:02:52+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-19 05:02:52+02' AND '2026-05-19 17:02:52+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-19 17:03:15 Duration: 23s734ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_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-17 03:13:01+02' AND collected_at <= '2026-05-19 03:13:01+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-19 03:13:01+02' AND '2026-05-19 15:13:01+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-19 03:13:01+02' AND '2026-05-19 15:13:01+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-19 15:13:25 Duration: 23s714ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
19 1m6s 89 700ms 820ms 746ms select distinct on (coalesce(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at from observability.uptime_checks order by coalesce(check_key, endpoint), checked_at desc;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 19 09 2 1s535ms 767ms 10 15 11s172ms 744ms 11 10 7s519ms 751ms 12 12 8s906ms 742ms 13 13 9s611ms 739ms 14 12 8s816ms 734ms 15 11 8s227ms 747ms 16 4 3s60ms 765ms 18 10 7s618ms 761ms [ User: monitoring_admin - Total duration: 1m6s - Times executed: 89 ]
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-19 17:13:03 Duration: 820ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-19 08:54:18 Duration: 812ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-19 11:02:19 Duration: 796ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
20 57s944ms 2 28s866ms 29s78ms 28s972ms 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 #20
Day Hour Count Duration Avg duration May 19 16 2 57s944ms 28s972ms [ User: labanimal - Total duration: 57s944ms - Times executed: 2 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 57s944ms - 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, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:06:11 Duration: 29s78ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:12:22 Duration: 28s866ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:06:11 Duration: 0ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,441 1h30m57s 500ms 28s866ms 3s787ms 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 #1
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
2 1,441 1h30m57s 500ms 28s866ms 3s787ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
3 1,441 1h30m57s 500ms 28s866ms 3s787ms create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
4 1,441 1h30m57s 500ms 28s866ms 3s787ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
5 1,441 1h30m57s 500ms 28s866ms 3s787ms 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 #5
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
6 1,441 1h30m57s 500ms 28s866ms 3s787ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
7 1,441 1h30m57s 500ms 28s866ms 3s787ms 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 #7
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
8 1,441 1h30m57s 500ms 28s866ms 3s787ms 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 #8
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
9 1,441 1h30m57s 500ms 28s866ms 3s787ms 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 #9
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
10 1,441 1h30m57s 500ms 28s866ms 3s787ms create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
11 1,441 1h30m57s 500ms 28s866ms 3s787ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
12 1,441 1h30m57s 500ms 28s866ms 3s787ms create schema if not exists observability;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
13 1,441 1h30m57s 500ms 28s866ms 3s787ms 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 #13
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
14 1,440 1h30m45s 500ms 28s866ms 3s781ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 60 7m27s 7s456ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m45s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
15 1,440 1h30m45s 500ms 28s866ms 3s781ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 60 7m27s 7s456ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m45s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
16 1,440 1h30m45s 500ms 28s866ms 3s781ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 60 7m27s 7s456ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m45s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
17 1,440 1h30m45s 500ms 28s866ms 3s781ms 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 May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 60 7m27s 7s456ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m45s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
18 89 1m6s 700ms 820ms 746ms select distinct on (coalesce(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at from observability.uptime_checks order by coalesce(check_key, endpoint), checked_at desc;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration May 19 09 2 1s535ms 767ms 10 15 11s172ms 744ms 11 10 7s519ms 751ms 12 12 8s906ms 742ms 13 13 9s611ms 739ms 14 12 8s816ms 734ms 15 11 8s227ms 747ms 16 4 3s60ms 765ms 18 10 7s618ms 761ms [ User: monitoring_admin - Total duration: 1m6s - Times executed: 89 ]
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-19 17:13:03 Duration: 820ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-19 08:54:18 Duration: 812ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-19 11:02:19 Duration: 796ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
19 47 13m34s 719ms 23s809ms 17s335ms 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 May 19 09 1 15s806ms 15s806ms 10 9 2m5s 13s959ms 11 6 1m18s 13s87ms 12 6 1m10s 11s789ms 13 6 1m31s 15s309ms 14 6 2m13s 22s322ms 15 6 2m13s 22s305ms 16 2 46s82ms 23s41ms 18 5 1m58s 23s668ms [ User: monitoring_admin - Total duration: 13m34s - Times executed: 47 ]
-
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-17 05:13:02+02' AND collected_at <= '2026-05-19 05:13:02+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-19 05:13:02+02' AND '2026-05-19 17:13:02+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-19 05:13:02+02' AND '2026-05-19 17:13:02+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-19 17:13:25 Duration: 23s809ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_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-17 05:02:52+02' AND collected_at <= '2026-05-19 05:02:52+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-19 05:02:52+02' AND '2026-05-19 17:02:52+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-19 05:02:52+02' AND '2026-05-19 17:02:52+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-19 17:03:15 Duration: 23s734ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_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-17 03:13:01+02' AND collected_at <= '2026-05-19 03:13:01+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-19 03:13:01+02' AND '2026-05-19 15:13:01+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-19 03:13:01+02' AND '2026-05-19 15:13:01+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-19 15:13:25 Duration: 23s714ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
20 22 14s939ms 631ms 759ms 679ms with readable_targetgroups as materialized ( select tgm.targetgroup from "targetgroupMembers" tgm where tgm."user" = ? union select tgm.targetgroup from "targetgroupMembers" tgm join "groupMembers" gm on gm."group" = tgm."group" where gm."user" = ? ) select * from litters_search_mview l where not (deleted) and (l.owner in ( select targetgroup from readable_targetgroups) or l.editor in ( select targetgroup from readable_targetgroups) or l.tourist in ( select targetgroup from readable_targetgroups)) and (offspring - case when male_wean is null then ? else male_wean end - case when female_wean is null then ? else female_wean end - case when male_dead is null then ? else male_dead end - case when female_dead is null then ? else female_dead end - case when female_deceased is null then ? else female_deceased end - case when male_deceased is null then ? else male_deceased end) > ? and "cageName" like ? order by bday desc, dam_name, sire_name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 19 08 2 1s438ms 719ms 11 2 1s351ms 675ms 15 18 12s149ms 674ms [ User: labanimal - Total duration: 14s939ms - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 14s939ms - Times executed: 22 ]
-
WITH readable_targetgroups AS MATERIALIZED ( SELECT tgm.targetgroup FROM "targetgroupMembers" tgm WHERE tgm."user" = 270 UNION SELECT tgm.targetgroup FROM "targetgroupMembers" tgm JOIN "groupMembers" gm ON gm."group" = tgm."group" WHERE gm."user" = 270 ) SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND (l.owner IN ( SELECT targetgroup FROM readable_targetgroups) OR l.editor IN ( SELECT targetgroup FROM readable_targetgroups) OR l.tourist IN ( SELECT targetgroup FROM readable_targetgroups)) AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '52-061' ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-05-19 07:33:29 Duration: 759ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
WITH readable_targetgroups AS MATERIALIZED ( SELECT tgm.targetgroup FROM "targetgroupMembers" tgm WHERE tgm."user" = 452 UNION SELECT tgm.targetgroup FROM "targetgroupMembers" tgm JOIN "groupMembers" gm ON gm."group" = tgm."group" WHERE gm."user" = 452 ) SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND (l.owner IN ( SELECT targetgroup FROM readable_targetgroups) OR l.editor IN ( SELECT targetgroup FROM readable_targetgroups) OR l.tourist IN ( SELECT targetgroup FROM readable_targetgroups)) AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '30-089' ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-05-19 14:31:02 Duration: 725ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
WITH readable_targetgroups AS MATERIALIZED ( SELECT tgm.targetgroup FROM "targetgroupMembers" tgm WHERE tgm."user" = 28 UNION SELECT tgm.targetgroup FROM "targetgroupMembers" tgm JOIN "groupMembers" gm ON gm."group" = tgm."group" WHERE gm."user" = 28 ) SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND (l.owner IN ( SELECT targetgroup FROM readable_targetgroups) OR l.editor IN ( SELECT targetgroup FROM readable_targetgroups) OR l.tourist IN ( SELECT targetgroup FROM readable_targetgroups)) AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '71%' ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-05-19 10:11:03 Duration: 717ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 28s866ms 29s78ms 28s972ms 2 57s944ms 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 May 19 16 2 57s944ms 28s972ms [ User: labanimal - Total duration: 57s944ms - Times executed: 2 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 57s944ms - 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, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:06:11 Duration: 29s78ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:12:22 Duration: 28s866ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 10100194) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100194) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100194) 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-05-19 15:06:11 Duration: 0ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432
2 719ms 23s809ms 17s335ms 47 13m34s 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 #2
Day Hour Count Duration Avg duration May 19 09 1 15s806ms 15s806ms 10 9 2m5s 13s959ms 11 6 1m18s 13s87ms 12 6 1m10s 11s789ms 13 6 1m31s 15s309ms 14 6 2m13s 22s322ms 15 6 2m13s 22s305ms 16 2 46s82ms 23s41ms 18 5 1m58s 23s668ms [ User: monitoring_admin - Total duration: 13m34s - Times executed: 47 ]
-
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-17 05:13:02+02' AND collected_at <= '2026-05-19 05:13:02+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-19 05:13:02+02' AND '2026-05-19 17:13:02+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-19 05:13:02+02' AND '2026-05-19 17:13:02+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-19 17:13:25 Duration: 23s809ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_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-17 05:02:52+02' AND collected_at <= '2026-05-19 05:02:52+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-19 05:02:52+02' AND '2026-05-19 17:02:52+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-19 05:02:52+02' AND '2026-05-19 17:02:52+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-19 17:03:15 Duration: 23s734ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_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-17 03:13:01+02' AND collected_at <= '2026-05-19 03:13:01+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-19 03:13:01+02' AND '2026-05-19 15:13:01+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-19 03:13:01+02' AND '2026-05-19 15:13:01+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-19 15:13:25 Duration: 23s714ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
3 500ms 28s866ms 3s787ms 1,441 1h30m57s 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 May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
4 500ms 28s866ms 3s787ms 1,441 1h30m57s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
5 500ms 28s866ms 3s787ms 1,441 1h30m57s 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 #5
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
6 500ms 28s866ms 3s787ms 1,441 1h30m57s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
7 500ms 28s866ms 3s787ms 1,441 1h30m57s create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
8 500ms 28s866ms 3s787ms 1,441 1h30m57s 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 May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
9 500ms 28s866ms 3s787ms 1,441 1h30m57s 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 May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
10 500ms 28s866ms 3s787ms 1,441 1h30m57s 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 May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
11 500ms 28s866ms 3s787ms 1,441 1h30m57s create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
12 500ms 28s866ms 3s787ms 1,441 1h30m57s 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 #12
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
13 500ms 28s866ms 3s787ms 1,441 1h30m57s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
14 500ms 28s866ms 3s787ms 1,441 1h30m57s create schema if not exists observability;Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
15 500ms 28s866ms 3s787ms 1,441 1h30m57s 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 May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 61 7m39s 7s526ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m57s - Times executed: 1350 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
16 500ms 28s866ms 3s781ms 1,440 1h30m45s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 60 7m27s 7s456ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m45s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
17 500ms 28s866ms 3s781ms 1,440 1h30m45s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 60 7m27s 7s456ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m45s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
18 500ms 28s866ms 3s781ms 1,440 1h30m45s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 60 7m27s 7s456ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m45s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
19 500ms 28s866ms 3s781ms 1,440 1h30m45s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 19 01 60 0ms 0ms 02 60 31s714ms 528ms 03 60 1m5s 1s93ms 04 60 1m5s 1s93ms 05 60 1m5s 1s93ms 06 60 1m5s 1s93ms 07 60 59s111ms 985ms 08 60 56s195ms 936ms 09 60 2m4s 2s82ms 10 60 5m32s 5s547ms 11 60 4m17s 4s290ms 12 60 5m44s 5s736ms 13 60 7m27s 7s456ms 14 60 10m5s 10s85ms 15 60 6m12s 6s208ms 16 60 22m12s 22s207ms 17 60 7m48s 7s813ms 18 60 8m2s 8s48ms 19 60 44s171ms 736ms 20 60 44s171ms 736ms 21 60 44s171ms 736ms 22 60 44s171ms 736ms 23 60 44s171ms 736ms 00 60 46s750ms 779ms [ User: monitoring_admin - Total duration: 1h30m45s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-19 15:13:01 Duration: 28s866ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-19 15:06:01 Duration: 26s638ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-19 15:12:01 Duration: 26s595ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
20 700ms 820ms 746ms 89 1m6s select distinct on (coalesce(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at from observability.uptime_checks order by coalesce(check_key, endpoint), checked_at desc;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 19 09 2 1s535ms 767ms 10 15 11s172ms 744ms 11 10 7s519ms 751ms 12 12 8s906ms 742ms 13 13 9s611ms 739ms 14 12 8s816ms 734ms 15 11 8s227ms 747ms 16 4 3s60ms 765ms 18 10 7s618ms 761ms [ User: monitoring_admin - Total duration: 1m6s - Times executed: 89 ]
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-19 17:13:03 Duration: 820ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-19 08:54:18 Duration: 812ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
-
SELECT DISTINCT ON (COALESCE(check_key, endpoint) ) check_key, label, endpoint, status, latency_ms, payload, checked_at FROM observability.uptime_checks ORDER BY COALESCE(check_key, endpoint), checked_at DESC;
Date: 2026-05-19 11:02:19 Duration: 796ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-19_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
- 148,297 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 1 FATAL entries
- 4 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 2 Max number of times the same event was reported
- 5 Total events found
Rank Times reported Error 1 2 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #1
Day Hour Count May 19 03 1 14 1 - ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
- ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(test, http_requests_total, 2026-05-19 02:09:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-05-19 02:09:39 Database: zemm_monitoring Application: User: monitoring_admin Remote: Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(live, http_requests_total, 2026-05-19 13:17:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-05-19 13:17:02 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
2 1 ERROR: syntax error at or near "..."
Times Reported Most Frequent Error / Event #2
Day Hour Count May 19 14 1 - ERROR: syntax error at or near "\"
Statement: SELECT pid, state, query_start, wait_event_type FROM pg_stat_activity WHERE state != \$\\$\$ ORDER BY query_start;
Date: 2026-05-19 13:04:26 Database: zemm_produktiv_8 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
3 1 ERROR: invalid input syntax for type date: ...
Times Reported Most Frequent Error / Event #3
Day Hour Count May 19 08 1 - ERROR: invalid input syntax for type date: ""
Statement: Select p_create_litter(457,'2026-05-10'::DATE,'54','2025/001/5701',10278534,'35','2025/000/6173',10269006,2,0,0,'2025-08-18'::DATE,''::DATE,'')
Date: 2026-05-19 07:59:07 Database: zemm_produktiv_8 Application: _desktop_index.php_sire_name_54_dam_name_35_sire_id_2025_2F001_ User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv
4 1 FATAL: database "..." does not exist
Times Reported Most Frequent Error / Event #4
Day Hour Count May 19 13 1 - FATAL: database "zemm_produktiv_7" does not exist
Date: 2026-05-19 12:35:10 Database: zemm_produktiv_7 Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-05-19_000000.csv