-
Global information
- Generated on Thu Apr 30 06:07:16 2026
- Log file: /var/log/postgresql/postgresql-2026-03-25_000000.csv, ..., /var/log/postgresql/postgresql-2026-04-30_000000.csv
- Parsed 311,371 log entries in 7m15s
- Log start from 2026-04-29 00:00:01 to 2026-04-29 23:59:15
-
Overview
Global Stats
- 48 Number of unique normalized queries
- 24,706 Number of queries
- 14h29m59s Total query duration
- 2026-04-29 00:00:01 First query
- 2026-04-29 23:59:15 Last query
- 18 queries/s at 2026-04-29 21:00:01 Query peak
- 14h29m59s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 14h29m59s Execute total duration
- 3 Number of events
- 3 Number of unique normalized events
- 1 Max number of times the same event was reported
- 0 Number of cancellation
- 70 Total number of automatic vacuums
- 180 Total number of automatic analyzes
- 572 Number temporary file
- 196.98 MiB Max size of temporary file
- 64.94 MiB Average size of temporary file
- 29,307 Total number of sessions
- 7 sessions at 2026-04-29 21:02:50 Session peak
- 1h50m24s Total duration of sessions
- 226ms Average duration of sessions
- 0 Average queries per session
- 1s781ms Average queries duration per session
- 0ms Average idle time per session
- 29,307 Total number of connections
- 34 connections/s at 2026-04-29 12:04:45 Connection peak
- 2 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-04-29 21:00:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-04-29 07:53:53 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 18 queries/s Query Peak
- 2026-04-29 21:00:01 Date
Queries duration
Key values
- 14h29m59s Total query duration
Prepared queries ratio
Key values
- 0.00 Ratio of bind vs prepare
- 0.00 % Ratio between prepared and "usual" statements
General Activity
↑ Back to the top of the General Activity tableDay Hour Count Min duration Max duration Avg duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 29 00 1,020 0ms 0ms 0ms 0ms 0ms 0ms 01 1,021 0ms 1s620ms 784ms 27s550ms 27s550ms 27s550ms 02 1,020 1s620ms 1s620ms 1s620ms 27s550ms 27s550ms 27s550ms 03 1,020 1s620ms 1s620ms 1s620ms 27s550ms 27s550ms 27s550ms 04 1,020 1s620ms 1s620ms 1s620ms 27s550ms 27s550ms 27s550ms 05 1,020 1s620ms 1s620ms 1s620ms 27s550ms 27s550ms 27s550ms 06 1,024 626ms 1s620ms 1s91ms 27s550ms 27s550ms 28s288ms 07 1,029 628ms 1s905ms 1s396ms 32s399ms 32s399ms 34s180ms 08 1,030 709ms 4s497ms 3s64ms 1m16s 1m17s 1m20s 09 1,029 526ms 4s992ms 3s309ms 1m24s 1m24s 1m29s 10 1,039 612ms 4s985ms 3s677ms 1m24s 1m26s 1m29s 11 1,048 509ms 4s976ms 3s795ms 1m24s 1m25s 1m28s 12 1,042 587ms 6s227ms 4s493ms 1m33s 1m39s 1m48s 13 1,027 525ms 5s453ms 1s510ms 34s986ms 1m32s 1m34s 14 1,035 705ms 1s906ms 1s544ms 33s458ms 33s918ms 35s681ms 15 1,024 704ms 802ms 745ms 12s669ms 12s669ms 15s693ms 16 1,034 702ms 815ms 721ms 12s575ms 14s971ms 15s558ms 17 1,020 718ms 718ms 718ms 12s211ms 12s211ms 12s211ms 18 1,020 718ms 718ms 718ms 12s211ms 12s211ms 12s211ms 19 1,020 718ms 718ms 718ms 12s211ms 12s211ms 12s211ms 20 1,027 511ms 5s458ms 821ms 12s211ms 14s560ms 1m38s 21 1,056 511ms 6s632ms 5s81ms 1m34s 1m37s 1m52s 22 1,039 503ms 5s238ms 4s907ms 1m30s 1m33s 1m34s 23 1,042 513ms 5s331ms 4s821ms 1m32s 1m33s 1m35s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 29 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 4 0 655ms 0ms 0ms 738ms 07 6 0 755ms 0ms 0ms 1s521ms 08 6 0 751ms 0ms 0ms 1s516ms 09 1 0 526ms 0ms 0ms 0ms 10 5 0 730ms 0ms 0ms 730ms 11 11 0 1s252ms 0ms 509ms 3s12ms 12 6 0 713ms 0ms 0ms 648ms 13 5 0 871ms 0ms 0ms 1s520ms 14 7 0 748ms 0ms 0ms 1s496ms 15 4 0 756ms 0ms 0ms 0ms 16 14 0 750ms 0ms 0ms 2s993ms 17 0 0 0ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 3 0 757ms 0ms 0ms 511ms 21 15 0 572ms 0ms 537ms 1s102ms 22 7 0 526ms 0ms 505ms 535ms 23 5 5 1s54ms 0ms 513ms 537ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 29 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s620ms 0ms 0ms 0ms 02 0 0 0 0 0ms 0ms 0ms 0ms 03 0 0 0 0 0ms 0ms 0ms 0ms 04 0 0 0 0 0ms 0ms 0ms 0ms 05 0 0 0 0 0ms 0ms 0ms 0ms 06 0 0 0 0 0ms 0ms 0ms 0ms 07 0 0 0 0 0ms 0ms 0ms 0ms 08 0 0 0 0 0ms 0ms 0ms 0ms 09 0 0 0 0 0ms 0ms 0ms 0ms 10 0 0 0 0 0ms 0ms 0ms 0ms 11 0 0 0 0 0ms 0ms 0ms 0ms 12 0 0 0 0 0ms 0ms 0ms 0ms 13 0 0 0 0 0ms 0ms 0ms 0ms 14 0 0 0 0 0ms 0ms 0ms 0ms 15 0 0 0 0 0ms 0ms 0ms 0ms 16 0 0 0 0 0ms 0ms 0ms 0ms 17 0 0 0 0 0ms 0ms 0ms 0ms 18 0 0 0 0 0ms 0ms 0ms 0ms 19 0 0 0 0 0ms 0ms 0ms 0ms 20 0 0 0 0 0ms 0ms 0ms 0ms 21 0 0 0 0 0ms 0ms 0ms 0ms 22 0 0 0 0 0ms 0ms 0ms 0ms 23 0 0 0 0 0ms 0ms 0ms 0ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare Apr 29 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 8 8.00 0.00% 10 0 14 14.00 0.00% 11 0 14 14.00 0.00% 12 0 15 15.00 0.00% 13 0 0 0.00 0.00% 14 0 0 0.00 0.00% 15 0 0 0.00 0.00% 16 0 0 0.00 0.00% 17 0 0 0.00 0.00% 18 0 0 0.00 0.00% 19 0 0 0.00 0.00% 20 0 5 5.00 0.00% 21 0 36 36.00 0.00% 22 0 19 19.00 0.00% 23 0 17 17.00 0.00% Day Hour Count Average / Second Apr 29 00 543 0.15/s 01 546 0.15/s 02 543 0.15/s 03 543 0.15/s 04 550 0.15/s 05 547 0.15/s 06 1,492 0.41/s 07 1,847 0.51/s 08 1,654 0.46/s 09 2,219 0.62/s 10 1,956 0.54/s 11 2,409 0.67/s 12 1,940 0.54/s 13 2,524 0.70/s 14 2,327 0.65/s 15 1,106 0.31/s 16 781 0.22/s 17 700 0.19/s 18 613 0.17/s 19 566 0.16/s 20 853 0.24/s 21 1,237 0.34/s 22 905 0.25/s 23 906 0.25/s Day Hour Count Average Duration Average idle time Apr 29 00 543 233ms 233ms 01 546 235ms 0ms 02 543 232ms 0ms 03 543 234ms 0ms 04 550 231ms 0ms 05 547 233ms 0ms 06 1,492 147ms 0ms 07 1,847 187ms 0ms 08 1,654 153ms 0ms 09 2,219 176ms 0ms 10 1,956 197ms 0ms 11 2,409 197ms 0ms 12 1,940 423ms 0ms 13 2,524 169ms 0ms 14 2,327 154ms 0ms 15 1,106 182ms 0ms 16 781 208ms 0ms 17 700 201ms 0ms 18 613 219ms 0ms 19 566 224ms 0ms 20 850 204ms 0ms 21 1,240 494ms 0ms 22 905 341ms 0ms 23 906 348ms 0ms -
Connections
Established Connections
Key values
- 34 connections Connection Peak
- 2026-04-29 12:04:45 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 29,307 connections Total
Connections per user
Key values
- labanimal Main User
- 29,307 connections Total
-
Sessions
Simultaneous sessions
Key values
- 7 sessions Session Peak
- 2026-04-29 21:02:50 Date
Histogram of session times
Key values
- 26,741 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 29,307 sessions Total
Sessions per user
Key values
- labanimal Main User
- 29,307 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 29,307 sessions Total
Sessions per application
Key values
- Main Application
- 29,307 sessions Total
Application Count Total Duration Average Duration 23,523 1h35m46s 244ms _desktop__zemm_produktiv_8_localhost_5432 10 614ms 61ms _desktop_index.php_animal_id_2025_2F002_2F9973_species_1_breedi 1 49ms 49ms _desktop_index.php_cages_name_A15.415.1_2A_cages_empty__25_val4 1 214ms 214ms _desktop_index.php_command_animals_breedings_subcommand_add_bre 1 44ms 44ms _desktop_index.php_command_animals_subcommand_found_val1_1541_v 1 32ms 32ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 29 1s261ms 43ms _desktop_index.php_command_documents_subcommand_init_zemm_produ 1 48ms 48ms _desktop_index.php_command_documents_subcommand_view_id_23_zemm 1 33ms 33ms _desktop_index.php_command_login_subcommand_init_zemm_dev_local 1 37ms 37ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,695 50s671ms 29ms _desktop_index.php_command_login_subcommand_init_zemm_test_loca 3 130ms 43ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 2 236ms 118ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 9 1s27ms 114ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 1 112ms 112ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 2 249ms 124ms _desktop_index.php_command_tasks_subcommand_create_task_id_49_z 1 51ms 51ms _desktop_index.php_command_tasks_subcommand_edit_id_10142217_ze 1 88ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10142219_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142220_ze 1 81ms 81ms _desktop_index.php_command_tasks_subcommand_edit_id_10142330_ze 2 181ms 90ms _desktop_index.php_command_tasks_subcommand_edit_id_10142347_ze 1 91ms 91ms _desktop_index.php_command_tasks_subcommand_edit_id_10142350_ze 1 89ms 89ms _desktop_index.php_command_tasks_subcommand_edit_id_10142412_ze 2 179ms 89ms _desktop_index.php_command_tasks_subcommand_edit_id_10142461_ze 5 412ms 82ms _desktop_index.php_command_tasks_subcommand_edit_id_10142519_ze 1 77ms 77ms _desktop_index.php_command_tasks_subcommand_edit_id_10142521_ze 2 170ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10142537_ze 1 88ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10142540_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142545_ze 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10142561_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142579_ze 1 83ms 83ms _desktop_index.php_command_tasks_subcommand_edit_id_10142582_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142592_ze 3 257ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10142593_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142595_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142604_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142605_ze 1 77ms 77ms _desktop_index.php_command_tasks_subcommand_edit_id_10142608_ze 1 90ms 90ms _desktop_index.php_command_tasks_subcommand_edit_id_10142615_ze 1 90ms 90ms _desktop_index.php_command_tasks_subcommand_edit_id_10142624_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10142667_ze 1 84ms 84ms _desktop_index.php_command_tasks_subcommand_edit_id_10142668_ze 1 88ms 88ms _desktop_index.php_command_tasks_subcommand_found_val1_50_val2_ 1 32ms 32ms _desktop_index.php_command_tasks_subcommand_init_template_zemm_ 2 87ms 43ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 116 10s644ms 91ms _desktop_index.php_command_tasks_subcommand_view_template_id_48 1 53ms 53ms _desktop_index.php_name_VP_20von_20..._20bis_20..._20Ntsr1_2Fri 2 240ms 120ms _desktop_index.php_name_Verpaarung_20trennen_instructions_Bitte 1 47ms 47ms _desktop_index.php_name_Verpaarungen_20f_C3_BCr_20Versuchsvorha 1 54ms 54ms _desktop_index.php_sire_name_37_dam_name_36_sire_id_2025_2F002_ 1 63ms 63ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 4 1s65ms 266ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 24 5s669ms 236ms _desktop_index.php_zemm_produktiv_8_localhost_5432 3,749 12m48s 204ms backend:zemm_produktiv_8@localhost 55 5s996ms 109ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s638ms 1s638ms pg_dump 1 12s973ms 12s973ms psql 7 85ms 12ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 13s545ms 564ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 18,844 buffers Checkpoint Peak
- 2026-04-29 01:36:20 Date
- 269.698 seconds Highest write time
- 0.030 seconds Sync time
Checkpoints Wal files
Key values
- 6 files Wal files usage Peak
- 2026-04-29 01:36:20 Date
Checkpoints distance
Key values
- 195.33 Mo Distance Peak
- 2026-04-29 01:36:20 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Apr 29 00 2,146 215.2s 0.098s 215.343s 01 21,029 488.087s 0.084s 488.222s 02 2,078 208.388s 0.09s 208.53s 03 2,080 208.576s 0.084s 208.714s 04 7,317 472.466s 0.077s 472.591s 05 2,247 225.312s 0.089s 225.457s 06 4,672 467.717s 0.185s 467.952s 07 6,108 611.774s 0.222s 612.057s 08 12,701 625.835s 0.175s 626.072s 09 5,468 547.47s 0.183s 547.715s 10 5,283 532.342s 0.218s 532.613s 11 6,063 606.84s 0.197s 607.09s 12 4,857 487.435s 0.173s 487.665s 13 6,474 648.523s 0.27s 648.848s 14 6,196 620.133s 0.257s 620.446s 15 4,444 445.224s 0.166s 445.443s 16 3,450 345.752s 0.139s 345.941s 17 3,035 304.258s 0.108s 304.426s 18 3,116 312.354s 0.106s 312.516s 19 2,689 269.581s 0.092s 269.72s 20 3,019 302.662s 0.108s 302.828s 21 11,447 575.582s 0.101s 575.741s 22 3,075 308.304s 0.085s 308.441s 23 4,083 409.03s 0.092s 409.186s Day Hour Added Removed Recycled Synced files Longest sync Average sync Apr 29 00 0 0 1 428 0.012s 0.012s 01 0 0 7 416 0.003s 0.011s 02 0 0 1 422 0.003s 0.012s 03 0 0 0 419 0.002s 0.012s 04 0 0 2 403 0.001s 0.011s 05 0 0 1 428 0.002s 0.012s 06 0 0 1 1,092 0.002s 0.012s 07 0 0 2 1,277 0.003s 0.012s 08 0 0 3 1,026 0.002s 0.012s 09 0 0 1 1,064 0.002s 0.012s 10 0 0 1 1,269 0.002s 0.012s 11 0 0 2 1,134 0.002s 0.012s 12 0 0 1 992 0.002s 0.012s 13 0 0 2 1,592 0.002s 0.012s 14 0 0 2 1,528 0.002s 0.012s 15 0 0 1 939 0.002s 0.012s 16 0 0 1 760 0.002s 0.012s 17 0 0 1 578 0.002s 0.012s 18 0 0 1 531 0.004s 0.012s 19 0 0 0 465 0.002s 0.012s 20 0 0 1 581 0.001s 0.012s 21 0 0 3 491 0.004s 0.012s 22 0 0 1 429 0.002s 0.012s 23 0 0 1 452 0.005s 0.012s Day Hour Count Avg time (sec) Apr 29 00 0 0s 01 0 0s 02 0 0s 03 0 0s 04 0 0s 05 0 0s 06 0 0s 07 0 0s 08 0 0s 09 0 0s 10 0 0s 11 0 0s 12 0 0s 13 0 0s 14 0 0s 15 0 0s 16 0 0s 17 0 0s 18 0 0s 19 0 0s 20 0 0s 21 0 0s 22 0 0s 23 0 0s Day Hour Mean distance Mean estimate Apr 29 00 1,005.08 kB 3,612.33 kB 01 10,158.64 kB 38,428.09 kB 02 1,016.75 kB 36,038.25 kB 03 1,015.42 kB 10,906.67 kB 04 2,312.91 kB 9,286.82 kB 05 1,007.00 kB 3,504.83 kB 06 1,656.58 kB 2,448.58 kB 07 2,251.25 kB 3,734.58 kB 08 3,997.08 kB 16,102.67 kB 09 1,962.08 kB 9,468.83 kB 10 1,889.08 kB 4,015.42 kB 11 2,073.08 kB 2,701.08 kB 12 1,766.33 kB 2,821.33 kB 13 2,391.92 kB 3,017.50 kB 14 2,251.42 kB 2,846.25 kB 15 1,566.08 kB 2,544.00 kB 16 1,342.58 kB 1,807.00 kB 17 1,211.42 kB 1,534.92 kB 18 1,197.17 kB 1,530.75 kB 19 1,119.42 kB 1,354.00 kB 20 1,222.92 kB 1,300.83 kB 21 3,742.00 kB 18,922.67 kB 22 1,199.92 kB 6,218.33 kB 23 1,459.42 kB 2,724.50 kB -
Temporary Files
Size of temporary files
Key values
- 710.27 MiB Temp Files size Peak
- 2026-04-29 21:02:49 Date
Number of temporary files
Key values
- 9 per second Temp Files Peak
- 2026-04-29 21:02:49 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Apr 29 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 15 969.91 MiB 64.66 MiB 09 40 2.53 GiB 64.71 MiB 10 70 4.43 GiB 64.75 MiB 11 70 4.43 GiB 64.79 MiB 12 80 5.34 GiB 68.40 MiB 13 0 0 0 14 0 0 0 15 0 0 0 16 0 0 0 17 0 0 0 18 0 0 0 19 0 0 0 20 23 1.38 GiB 61.36 MiB 21 130 8.20 GiB 64.58 MiB 22 72 4.51 GiB 64.15 MiB 23 72 4.51 GiB 64.21 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 417 25.90 GiB 44.88 MiB 111.84 MiB 63.61 MiB with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-22 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-22 21:02:42+02' AND '2026-04-29 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-22 21:02:42+02' AND '2026-04-29 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-29 21:02:49 Duration: 6s632ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-29_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 ('dev') AND collected_at <= '2026-04-22 12:37:07+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 ('dev') AND collected_at BETWEEN '2026-04-22 12:37:07+02' AND '2026-04-29 12:37:07+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 ('dev') AND collected_at BETWEEN '2026-04-22 12:37:07+02' AND '2026-04-29 12:37:07+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-29 12:37:13 Duration: 6s227ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-29_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 ('test') AND collected_at <= '2026-04-22 21:01: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 ('test') AND collected_at BETWEEN '2026-04-22 21:01:01+02' AND '2026-04-29 21:01: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 ('test') AND collected_at BETWEEN '2026-04-22 21:01:01+02' AND '2026-04-29 21:01: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-04-29 21:01:07 Duration: 5s728ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
Queries generating the largest temporary files
Rank Size Query 1 111.84 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 12:40:20 - Queryid: 3060872 ]
2 106.87 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 12:50:39 - Queryid: 3155570 ]
3 106.75 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 12:40:20 - Queryid: 3060872 ]
4 105.56 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 21:01:16 - Queryid: 3480628 ]
5 104.95 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 21:02:49 - Queryid: 3494149 ]
6 102.38 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 12:45:29 - Queryid: 3108095 ]
7 101.45 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 21:02:49 - Queryid: 3494149 ]
8 96.82 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 12:50:39 - Queryid: 3155570 ]
9 95.52 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 12:37:13 - Queryid: 3032212 ]
10 94.13 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 12:37:13 - Queryid: 3032212 ]
11 92.92 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 21:01:16 - Queryid: 3480628 ]
12 91.27 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 12:37:13 - Queryid: 3032212 ]
13 90.69 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 12:45:29 - Queryid: 3108095 ]
14 88.02 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 12:45:29 - Queryid: 3108095 ]
15 83.34 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 21:01:16 - Queryid: 3480628 ]
16 81.20 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 23:38:38 - Queryid: 738477 ]
17 80.43 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 21:04:59 - Queryid: 3513552 ]
18 79.35 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 23:23:28 - Queryid: 599367 ]
19 78.12 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 22:16:35 - Queryid: 4177251 ]
20 77.98 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-29 21:50:55 - Queryid: 3941590 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 1.98 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-04-29 03:58:07 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_monitoring - Date
Average Autovacuum Duration
Key values
- 1.98 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-04-29 03:58:07 Date
Analyzes per table
Key values
- pg_catalog.pg_type (58) Main table analyzed (database zemm_produktiv_8)
- 180 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 58 zemm_produktiv_8.pg_catalog.pg_attribute 43 zemm_produktiv_8.pg_catalog.pg_class 30 zemm_produktiv_8.pg_catalog.pg_depend 28 zemm_produktiv_8.public.cages_search_mview 4 zemm_produktiv_8.public.tmptasks 3 fbi_ci_db.pg_catalog.pg_shdepend 2 zemm_produktiv_8.pg_catalog.pg_shdepend 2 zemm_monitoring.observability.metrics_timeseries 2 zemm_produktiv_8.public.users 2 fbi_unire.pg_catalog.pg_shdepend 1 postgres.pg_catalog.pg_shdepend 1 invdb.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.tasks 1 zemm_monitoring.observability.db_top_queries 1 zemm_dev.pg_catalog.pg_shdepend 1 Total 180 Vacuums per table
Key values
- pg_catalog.pg_type (20) Main table vacuumed on database zemm_produktiv_8
- 70 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 20 20 0 0 0 0 0 1,056 244 256,914 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 15 15 0 0 0 0 0 1,919 648 443,296 0 0 zemm_produktiv_8.pg_catalog.pg_class 9 9 0 0 0 0 0 873 290 356,157 0 0 zemm_produktiv_8.pg_catalog.pg_depend 8 8 0 0 0 0 0 1,041 300 391,930 0 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 0 0 0 4,955 1,665 3,787,067 1,639 9,834 fbi_unibi.pg_catalog.pg_shdepend 4 4 0 0 0 0 0 279 99 198,580 1 91 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 0 0 0 0 0 730 195 1,011,995 49 145 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 48,081 45 3,581,311 2 5 zemm_produktiv_8.public.cages_search_mview 1 1 0 0 0 0 0 646 365 1,228,371 39 235 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 0 0 0 0 0 219 68 206,538 34 111 zemm_monitoring.observability.metrics_timeseries 1 1 0 0 0 0 0 13,376 5,934 13,380,604 1,098 19,222 zemm_produktiv_8.public.tmptasks 1 1 0 0 0 0 0 66 24 20,696 0 0 Total 70 65 0 0 0 0 0 73,241 9,877 24,863,459 2,862 29,643 Vacuum throughput per table
Key values
- observability.metrics_timeseries (1.98) Max CPU elapsed for vacuum on database zemm_monitoring
- observability.metrics_timeseries (27.054 ms) Max I/O read time for vacuum on database zemm_monitoring
- observability.metrics_timeseries (7.395 ms) Max I/O write time for vacuum on database zemm_monitoring
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 1.09 0 0.01 zemm_produktiv_8.pg_catalog.pg_attribute 1.075 0 0.15 zemm_produktiv_8.pg_catalog.pg_class 0.724 0 0.03 zemm_produktiv_8.pg_catalog.pg_depend 0.431 0 0.06 zemm_monitoring.pg_toast.pg_toast_67431 1.667 0.493 0.4 fbi_unibi.pg_catalog.pg_shdepend 0.633 0 0.01 zemm_produktiv_8.pg_toast.pg_toast_2619 0.872 0 0.05 zemm_produktiv_8.public.tasks 0.422 0 0.62 zemm_produktiv_8.public.cages_search_mview 0.336 0 0.1 zemm_produktiv_8.pg_catalog.pg_statistic 0.551 0 0.02 zemm_monitoring.observability.metrics_timeseries 27.054 7.395 1.98 zemm_produktiv_8.public.tmptasks 0.095 0 0 Total 34.95 7.888 3.43 Tuples removed per table
Key values
- public.tasks (54139) Main table with removed tuples on database zemm_produktiv_8
- 135731 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 54,139 57,225 0 0 16,878 zemm_monitoring.observability.metrics_timeseries 1 1 52,333 360,931 0 0 8,267 zemm_produktiv_8.pg_catalog.pg_attribute 15 15 14,824 86,271 0 0 2,760 zemm_produktiv_8.pg_catalog.pg_depend 8 8 6,926 33,368 0 0 440 zemm_produktiv_8.pg_catalog.pg_type 20 20 4,098 16,620 0 0 620 zemm_produktiv_8.pg_catalog.pg_class 9 9 1,452 8,046 0 0 378 fbi_unibi.pg_catalog.pg_shdepend 4 4 983 18,812 0 0 152 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 406 1,172 0 0 424 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 269 1,269 0 0 144 zemm_produktiv_8.public.cages_search_mview 1 1 247 13,885 0 0 234 zemm_produktiv_8.public.tmptasks 1 1 54 862 0 0 117 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 2,513,446 0 0 425,026 Total 70 65 135,731 3,111,907 0 0 455,440 Pages removed per table
Key values
- unknown (0) Main table with removed pages on database unknown
- 0 pages Total removed
Pages removed per tables
NO DATASET
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_8.public.tasks 1 1 54139 0 zemm_produktiv_8.public.cages_search_mview 1 1 247 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 zemm_produktiv_8.pg_catalog.pg_statistic 1 1 269 0 zemm_monitoring.observability.metrics_timeseries 1 1 52333 0 zemm_produktiv_8.pg_catalog.pg_attribute 15 15 14824 0 zemm_produktiv_8.pg_catalog.pg_class 9 9 1452 0 zemm_produktiv_8.pg_catalog.pg_type 20 20 4098 0 fbi_unibi.pg_catalog.pg_shdepend 4 4 983 0 zemm_produktiv_8.pg_catalog.pg_depend 8 8 6926 0 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 406 0 zemm_produktiv_8.public.tmptasks 1 1 54 0 Total 70 65 135,731 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Apr 29 00 0 0 01 2 1 02 0 0 03 1 0 04 0 0 05 0 0 06 9 21 07 8 25 08 4 12 09 2 4 10 7 16 11 5 13 12 3 8 13 11 28 14 10 34 15 2 9 16 1 4 17 3 2 18 1 0 19 0 2 20 0 1 21 0 0 22 0 0 23 1 0 - 1.98 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
- 99 Total read queries
- 24,607 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,610 Requests
- 14h28m16s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- labanimal Main user
- 849,151 Requests
User Request type Count Duration deploy Total 241 27m39s cte 4 1m18s ddl 134 11m50s others 88 5m56s select 9 6m3s labanimal Total 849,151 26d1h48m25s copy from 28 3m52s copy to 194 9m13s cte 5,413 6h9m52s ddl 839,193 25d18h7m57s others 668 12m56s select 3,574 1h3m4s tcl 11 9s269ms update 38 41s233ms postgres Total 205 4m43s copy to 205 4m43s Duration by user
Key values
- 26d1h48m25s (labanimal) Main time consuming user
User Request type Count Duration deploy Total 241 27m39s cte 4 1m18s ddl 134 11m50s others 88 5m56s select 9 6m3s labanimal Total 849,151 26d1h48m25s copy from 28 3m52s copy to 194 9m13s cte 5,413 6h9m52s ddl 839,193 25d18h7m57s others 668 12m56s select 3,574 1h3m4s tcl 11 9s269ms update 38 41s233ms postgres Total 205 4m43s copy to 205 4m43s Queries by host
Key values
- unknown Main host
- 849,110 Requests
- 26d1h44m41s (unknown)
- Main time consuming host
Host Request type Count Duration 127.0.0.1 Total 2 6s311ms ddl 2 6s311ms 81.169.238.237 Total 39 3m37s select 1 2m56s update 38 41s233ms [local] Total 446 32m22s copy to 205 4m43s cte 4 1m18s ddl 134 11m50s others 88 5m56s select 9 6m3s unknown Total 849,110 26d1h44m41s copy from 28 3m52s copy to 194 9m13s cte 5,413 6h9m52s ddl 839,191 25d18h7m51s others 668 12m56s select 3,573 1h7s tcl 11 9s269ms Queries by application
Key values
- unknown Main application
- 24,611 Requests
- 14h28m17s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 89 1m33s cte 19 34s914ms select 70 58s141ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s620ms update 1 1s620ms pg_dump Total 5 7s922ms copy to 5 7s922ms unknown Total 24,611 14h28m17s cte 102 8m14s ddl 24,480 14h19m46s select 29 16s45ms Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-04-29 15:43:02 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 129 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 6s632ms WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-22 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-22 21:02:42+02' AND '2026-04-29 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-22 21:02:42+02' AND '2026-04-29 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';[ Date: 2026-04-29 21:02:49 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
2 6s227ms 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 ('dev') AND collected_at <= '2026-04-22 12:37:07+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 ('dev') AND collected_at BETWEEN '2026-04-22 12:37:07+02' AND '2026-04-29 12:37:07+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 ('dev') AND collected_at BETWEEN '2026-04-22 12:37:07+02' AND '2026-04-29 12:37:07+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';[ Date: 2026-04-29 12:37:13 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
3 6s227ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
4 6s227ms CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
5 6s227ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
6 6s227ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
7 6s227ms CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
8 6s227ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
9 6s227ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
10 6s227ms CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
11 6s227ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
12 6s227ms CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
13 6s227ms CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
14 6s227ms CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
15 6s227ms CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
16 6s227ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
17 6s227ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
18 6s227ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
19 6s227ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-04-29 12:38:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
20 5s728ms 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 ('test') AND collected_at <= '2026-04-22 21:01: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 ('test') AND collected_at BETWEEN '2026-04-22 21:01:01+02' AND '2026-04-29 21:01: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 ('test') AND collected_at BETWEEN '2026-04-22 21:01:01+02' AND '2026-04-29 21:01: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-04-29 21:01:07 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 50m34s 1,440 509ms 6s227ms 2s107ms 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 #1
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
2 50m34s 1,440 509ms 6s227ms 2s107ms 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 #2
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
3 50m34s 1,440 509ms 6s227ms 2s107ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
4 50m34s 1,440 509ms 6s227ms 2s107ms 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 Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
5 50m34s 1,440 509ms 6s227ms 2s107ms 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 Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
6 50m34s 1,440 509ms 6s227ms 2s107ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
7 50m34s 1,440 509ms 6s227ms 2s107ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
8 50m34s 1,440 509ms 6s227ms 2s107ms 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 Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
9 50m34s 1,440 509ms 6s227ms 2s107ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
10 50m34s 1,440 509ms 6s227ms 2s107ms 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 Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
11 50m34s 1,440 509ms 6s227ms 2s107ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
12 50m34s 1,440 509ms 6s227ms 2s107ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
13 50m34s 1,440 509ms 6s227ms 2s107ms 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 #13
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
14 50m34s 1,440 509ms 6s227ms 2s107ms 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 #14
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
15 50m34s 1,440 509ms 6s227ms 2s107ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
16 50m34s 1,440 509ms 6s227ms 2s107ms 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 #16
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
17 50m34s 1,440 509ms 6s227ms 2s107ms create schema if not exists observability;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
18 8m14s 101 4s240ms 6s632ms 4s892ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 29 09 3 13s470ms 4s490ms 10 8 37s230ms 4s653ms 11 14 1m4s 4s583ms 12 14 1m4s 4s585ms 13 14 1m9s 4s993ms 21 4 20s764ms 5s191ms 22 20 1m43s 5s171ms 23 12 1m 5s 00 12 1m1s 5s84ms [ User: labanimal - Total duration: 8m14s - Times executed: 101 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-22 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-22 21:02:42+02' AND '2026-04-29 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-22 21:02:42+02' AND '2026-04-29 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-29 21:02:49 Duration: 6s632ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_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 ('dev') AND collected_at <= '2026-04-22 12:37:07+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 ('dev') AND collected_at BETWEEN '2026-04-22 12:37:07+02' AND '2026-04-29 12:37:07+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 ('dev') AND collected_at BETWEEN '2026-04-22 12:37:07+02' AND '2026-04-29 12:37:07+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-29 12:37:13 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_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 ('test') AND collected_at <= '2026-04-22 21:01: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 ('test') AND collected_at BETWEEN '2026-04-22 21:01:01+02' AND '2026-04-29 21:01: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 ('test') AND collected_at BETWEEN '2026-04-22 21:01:01+02' AND '2026-04-29 21:01: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-04-29 21:01:07 Duration: 5s728ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
19 34s114ms 18 1s755ms 2s98ms 1s895ms with damdam as ( select breedingid, string_agg(cast(dam as text), ?) as dam from breedingsdams inner join ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" from animals) as dam on dam.id = breedingsdams.dam and case when user_is_tgm (dam.owner, ?) then true when user_is_tgm (dam.editor, ?) then true when user_is_tgm (dam.tourist, ?) then true else false end group by breedingid ), siresire as ( select breedingid, string_agg(cast(sire as text), ?) as sire from breedingssires inner join ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" from animals) as sire on sire.id = breedingssires.sire and case when user_is_tgm (sire.owner, ?) then true when user_is_tgm (sire.editor, ?) then true when user_is_tgm (sire.tourist, ?) then true else false end group by breedingid ), cagess as ( select id, "cageName" from cages) ( select breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire from damdam, siresire, cagess, breedings where breedings.deleted != true and cagess.id = breedings.cage and cagess."cageName" like (?) and damdam.breedingid = breedings.id and siresire.breedingid = breedings.id and breedings."unbreeding_date" is null group by breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire order by breeding_date, plug_date);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 29 08 3 5s481ms 1s827ms 09 1 1s755ms 1s755ms 12 2 4s4ms 2s2ms 13 2 3s985ms 1s992ms 14 2 3s903ms 1s951ms 15 8 14s983ms 1s872ms [ User: labanimal - Total duration: 34s114ms - Times executed: 18 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 34s114ms - Times executed: 18 ]
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 10100206) THEN TRUE WHEN user_is_tgm (dam.editor, 10100206) THEN TRUE WHEN user_is_tgm (dam.tourist, 10100206) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 10100206) THEN TRUE WHEN user_is_tgm (sire.editor, 10100206) THEN TRUE WHEN user_is_tgm (sire.tourist, 10100206) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND cagess."cageName" like ('A15.415.1%') AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-29 12:18:57 Duration: 2s98ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 477) THEN TRUE WHEN user_is_tgm (dam.editor, 477) THEN TRUE WHEN user_is_tgm (dam.tourist, 477) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 477) THEN TRUE WHEN user_is_tgm (sire.editor, 477) THEN TRUE WHEN user_is_tgm (sire.tourist, 477) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND cagess."cageName" like ('49-208') AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-29 11:10:07 Duration: 2s60ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 472) THEN TRUE WHEN user_is_tgm (dam.editor, 472) THEN TRUE WHEN user_is_tgm (dam.tourist, 472) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 472) THEN TRUE WHEN user_is_tgm (sire.editor, 472) THEN TRUE WHEN user_is_tgm (sire.tourist, 472) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND cagess."cageName" like ('63-315') AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-29 13:38:25 Duration: 2s14ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
20 17s440ms 22 776ms 841ms 792ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 29 08 2 1s596ms 798ms 09 3 2s358ms 786ms 12 2 1s586ms 793ms 13 2 1s626ms 813ms 14 1 799ms 799ms 15 3 2s367ms 789ms 16 2 1s579ms 789ms 17 7 5s525ms 789ms [ User: labanimal - Total duration: 17s440ms - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 17s440ms - Times executed: 22 ]
-
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, 10100002) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100002) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100002) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-29 12:38:14 Duration: 841ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100142) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100142) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100142) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-29 16:44:02 Duration: 815ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100187) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100187) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100187) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-29 07:55:48 Duration: 811ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 50m34s 509ms 6s227ms 2s107ms 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 #1
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
2 1,440 50m34s 509ms 6s227ms 2s107ms 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 #2
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
3 1,440 50m34s 509ms 6s227ms 2s107ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
4 1,440 50m34s 509ms 6s227ms 2s107ms 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 Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
5 1,440 50m34s 509ms 6s227ms 2s107ms 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 Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
6 1,440 50m34s 509ms 6s227ms 2s107ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
7 1,440 50m34s 509ms 6s227ms 2s107ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
8 1,440 50m34s 509ms 6s227ms 2s107ms 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 Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
9 1,440 50m34s 509ms 6s227ms 2s107ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
10 1,440 50m34s 509ms 6s227ms 2s107ms 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 Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
11 1,440 50m34s 509ms 6s227ms 2s107ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
12 1,440 50m34s 509ms 6s227ms 2s107ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
13 1,440 50m34s 509ms 6s227ms 2s107ms 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 #13
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
14 1,440 50m34s 509ms 6s227ms 2s107ms 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 #14
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
15 1,440 50m34s 509ms 6s227ms 2s107ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
16 1,440 50m34s 509ms 6s227ms 2s107ms 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 #16
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
17 1,440 50m34s 509ms 6s227ms 2s107ms create schema if not exists observability;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
18 101 8m14s 4s240ms 6s632ms 4s892ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 29 09 3 13s470ms 4s490ms 10 8 37s230ms 4s653ms 11 14 1m4s 4s583ms 12 14 1m4s 4s585ms 13 14 1m9s 4s993ms 21 4 20s764ms 5s191ms 22 20 1m43s 5s171ms 23 12 1m 5s 00 12 1m1s 5s84ms [ User: labanimal - Total duration: 8m14s - Times executed: 101 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-22 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-22 21:02:42+02' AND '2026-04-29 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-22 21:02:42+02' AND '2026-04-29 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-29 21:02:49 Duration: 6s632ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_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 ('dev') AND collected_at <= '2026-04-22 12:37:07+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 ('dev') AND collected_at BETWEEN '2026-04-22 12:37:07+02' AND '2026-04-29 12:37:07+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 ('dev') AND collected_at BETWEEN '2026-04-22 12:37:07+02' AND '2026-04-29 12:37:07+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-29 12:37:13 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_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 ('test') AND collected_at <= '2026-04-22 21:01: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 ('test') AND collected_at BETWEEN '2026-04-22 21:01:01+02' AND '2026-04-29 21:01: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 ('test') AND collected_at BETWEEN '2026-04-22 21:01:01+02' AND '2026-04-29 21:01: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-04-29 21:01:07 Duration: 5s728ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
19 25 13s355ms 503ms 609ms 534ms 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 Apr 29 21 1 511ms 511ms 22 12 6s539ms 544ms 23 7 3s686ms 526ms 00 5 2s617ms 523ms [ User: labanimal - Total duration: 13s355ms - Times executed: 25 ]
-
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-04-29 21:04:54 Duration: 609ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_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-04-29 21:02:43 Duration: 600ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_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-04-29 22:01:03 Duration: 567ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
20 22 17s440ms 776ms 841ms 792ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 29 08 2 1s596ms 798ms 09 3 2s358ms 786ms 12 2 1s586ms 793ms 13 2 1s626ms 813ms 14 1 799ms 799ms 15 3 2s367ms 789ms 16 2 1s579ms 789ms 17 7 5s525ms 789ms [ User: labanimal - Total duration: 17s440ms - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 17s440ms - Times executed: 22 ]
-
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, 10100002) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100002) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100002) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-29 12:38:14 Duration: 841ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100142) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100142) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100142) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-29 16:44:02 Duration: 815ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100187) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100187) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100187) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-29 07:55:48 Duration: 811ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 4s240ms 6s632ms 4s892ms 101 8m14s with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 29 09 3 13s470ms 4s490ms 10 8 37s230ms 4s653ms 11 14 1m4s 4s583ms 12 14 1m4s 4s585ms 13 14 1m9s 4s993ms 21 4 20s764ms 5s191ms 22 20 1m43s 5s171ms 23 12 1m 5s 00 12 1m1s 5s84ms [ User: labanimal - Total duration: 8m14s - Times executed: 101 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-22 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-22 21:02:42+02' AND '2026-04-29 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-22 21:02:42+02' AND '2026-04-29 21:02:42+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-29 21:02:49 Duration: 6s632ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_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 ('dev') AND collected_at <= '2026-04-22 12:37:07+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 ('dev') AND collected_at BETWEEN '2026-04-22 12:37:07+02' AND '2026-04-29 12:37:07+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 ('dev') AND collected_at BETWEEN '2026-04-22 12:37:07+02' AND '2026-04-29 12:37:07+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-29 12:37:13 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_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 ('test') AND collected_at <= '2026-04-22 21:01: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 ('test') AND collected_at BETWEEN '2026-04-22 21:01:01+02' AND '2026-04-29 21:01: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 ('test') AND collected_at BETWEEN '2026-04-22 21:01:01+02' AND '2026-04-29 21:01: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-04-29 21:01:07 Duration: 5s728ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
2 509ms 6s227ms 2s107ms 1,440 50m34s 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 #2
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
3 509ms 6s227ms 2s107ms 1,440 50m34s 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 #3
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
4 509ms 6s227ms 2s107ms 1,440 50m34s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
5 509ms 6s227ms 2s107ms 1,440 50m34s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
6 509ms 6s227ms 2s107ms 1,440 50m34s create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
7 509ms 6s227ms 2s107ms 1,440 50m34s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
8 509ms 6s227ms 2s107ms 1,440 50m34s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
9 509ms 6s227ms 2s107ms 1,440 50m34s 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 #9
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
10 509ms 6s227ms 2s107ms 1,440 50m34s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
11 509ms 6s227ms 2s107ms 1,440 50m34s create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
12 509ms 6s227ms 2s107ms 1,440 50m34s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
13 509ms 6s227ms 2s107ms 1,440 50m34s 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 Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
14 509ms 6s227ms 2s107ms 1,440 50m34s 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 #14
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
15 509ms 6s227ms 2s107ms 1,440 50m34s create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
16 509ms 6s227ms 2s107ms 1,440 50m34s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
17 509ms 6s227ms 2s107ms 1,440 50m34s 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 #17
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
18 509ms 6s227ms 2s107ms 1,440 50m34s create schema if not exists observability;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 29 01 60 0ms 0ms 02 60 46s997ms 783ms 03 60 1m37s 1s620ms 04 60 1m37s 1s620ms 05 60 1m37s 1s620ms 06 60 1m37s 1s620ms 07 60 1m5s 1s93ms 08 60 1m23s 1s399ms 09 60 3m4s 3s75ms 10 60 3m18s 3s301ms 11 60 3m40s 3s679ms 12 60 3m49s 3s818ms 13 60 4m30s 4s514ms 14 60 1m30s 1s512ms 15 60 1m32s 1s546ms 16 60 44s716ms 745ms 17 60 43s281ms 721ms 18 60 43s97ms 718ms 19 60 43s97ms 718ms 20 60 43s97ms 718ms 21 60 48s252ms 804ms 22 60 5m9s 5s150ms 23 60 4m56s 4s936ms 00 60 4m51s 4s855ms [ User: labanimal - Total duration: 50m34s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-29 12:38:01 Duration: 6s227ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-29 21:02:01 Duration: 5s718ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-29 12:45:02 Duration: 5s505ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
19 1s755ms 2s98ms 1s895ms 18 34s114ms with damdam as ( select breedingid, string_agg(cast(dam as text), ?) as dam from breedingsdams inner join ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" from animals) as dam on dam.id = breedingsdams.dam and case when user_is_tgm (dam.owner, ?) then true when user_is_tgm (dam.editor, ?) then true when user_is_tgm (dam.tourist, ?) then true else false end group by breedingid ), siresire as ( select breedingid, string_agg(cast(sire as text), ?) as sire from breedingssires inner join ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" from animals) as sire on sire.id = breedingssires.sire and case when user_is_tgm (sire.owner, ?) then true when user_is_tgm (sire.editor, ?) then true when user_is_tgm (sire.tourist, ?) then true else false end group by breedingid ), cagess as ( select id, "cageName" from cages) ( select breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire from damdam, siresire, cagess, breedings where breedings.deleted != true and cagess.id = breedings.cage and cagess."cageName" like (?) and damdam.breedingid = breedings.id and siresire.breedingid = breedings.id and breedings."unbreeding_date" is null group by breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire order by breeding_date, plug_date);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 29 08 3 5s481ms 1s827ms 09 1 1s755ms 1s755ms 12 2 4s4ms 2s2ms 13 2 3s985ms 1s992ms 14 2 3s903ms 1s951ms 15 8 14s983ms 1s872ms [ User: labanimal - Total duration: 34s114ms - Times executed: 18 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 34s114ms - Times executed: 18 ]
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 10100206) THEN TRUE WHEN user_is_tgm (dam.editor, 10100206) THEN TRUE WHEN user_is_tgm (dam.tourist, 10100206) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 10100206) THEN TRUE WHEN user_is_tgm (sire.editor, 10100206) THEN TRUE WHEN user_is_tgm (sire.tourist, 10100206) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND cagess."cageName" like ('A15.415.1%') AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-29 12:18:57 Duration: 2s98ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 477) THEN TRUE WHEN user_is_tgm (dam.editor, 477) THEN TRUE WHEN user_is_tgm (dam.tourist, 477) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 477) THEN TRUE WHEN user_is_tgm (sire.editor, 477) THEN TRUE WHEN user_is_tgm (sire.tourist, 477) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND cagess."cageName" like ('49-208') AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-29 11:10:07 Duration: 2s60ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 472) THEN TRUE WHEN user_is_tgm (dam.editor, 472) THEN TRUE WHEN user_is_tgm (dam.tourist, 472) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 472) THEN TRUE WHEN user_is_tgm (sire.editor, 472) THEN TRUE WHEN user_is_tgm (sire.tourist, 472) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND cagess."cageName" like ('63-315') AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-29 13:38:25 Duration: 2s14ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
20 776ms 841ms 792ms 22 17s440ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 29 08 2 1s596ms 798ms 09 3 2s358ms 786ms 12 2 1s586ms 793ms 13 2 1s626ms 813ms 14 1 799ms 799ms 15 3 2s367ms 789ms 16 2 1s579ms 789ms 17 7 5s525ms 789ms [ User: labanimal - Total duration: 17s440ms - Times executed: 22 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 17s440ms - Times executed: 22 ]
-
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, 10100002) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100002) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100002) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-29 12:38:14 Duration: 841ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100142) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100142) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100142) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-29 16:44:02 Duration: 815ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 10100187) AS is_owner, user_is_tgm (animals_search_mview.editor, 10100187) AS is_editor, user_is_tgm (animals_search_mview.tourist, 10100187) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-04-29 07:55:48 Duration: 811ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
Time consuming prepare
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
Time consuming bind
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
-
Events
Log levels
Key values
- 143,331 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 0 FATAL entries
- 3 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 1 Max number of times the same event was reported
- 3 Total events found
Rank Times reported Error 1 1 ERROR: invalid input syntax for type date: ...
Times Reported Most Frequent Error / Event #1
Day Hour Count Apr 29 09 1 - ERROR: invalid input syntax for type date: ""
Statement: Select p_create_litter(142,'2026-04-28','37','2025/002/2047',10284880,'36','2025/002/6981',10289814,4,0,0,'2025-12-22','','')
Date: 2026-04-29 08:32:49 Database: zemm_produktiv_8 Application: _desktop_index.php_sire_name_37_dam_name_36_sire_id_2025_2F002_ User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
2 1 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #2
Day Hour Count Apr 29 22 1 - ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(test, http_requests_total, 2026-04-29 21:01:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-04-29 21:01:01 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv
3 1 ERROR: relation "..." does not exist
Times Reported Most Frequent Error / Event #3
Day Hour Count Apr 29 11 1 - ERROR: relation "observability.app_events" does not exist
Statement: SELECT event_type, severity, count(*) AS recent_count FROM observability.app_events WHERE tenant_key = 'prod' AND occurred_at >= now() - interval '15 minutes' AND ( payload->>'file' IN ( '/var/www/html/zemmphp7/desktop/database/ScreenAnimalsBreeding.php', '/var/www/html/zemmphp7/desktop/database/ScreenAnimalsLittersCreate.php' ) OR message LIKE 'Undefined variable $cage_sql%' OR message LIKE 'pg_query(): Query failed:%invalid input syntax for type date:%' ) GROUP BY event_type, severity ORDER BY event_type, severity;
Date: 2026-04-29 10:05:33 Database: zemm_produktiv_8 Application: psql User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-29_000000.csv