-
Global information
- Generated on Thu Apr 30 06:06:41 2026
- Log file: /var/log/postgresql/postgresql-2026-03-25_000000.csv, ..., /var/log/postgresql/postgresql-2026-04-30_000000.csv
- Parsed 426,198 log entries in 6m40s
- Log start from 2026-04-21 00:00:01 to 2026-04-21 23:59:15
-
Overview
Global Stats
- 46 Number of unique normalized queries
- 24,905 Number of queries
- 1d21m30s Total query duration
- 2026-04-21 00:00:01 First query
- 2026-04-21 23:59:01 Last query
- 18 queries/s at 2026-04-21 13:32:01 Query peak
- 1d21m30s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 1d21m30s Execute total duration
- 11 Number of events
- 2 Number of unique normalized events
- 6 Max number of times the same event was reported
- 0 Number of cancellation
- 87 Total number of automatic vacuums
- 191 Total number of automatic analyzes
- 1,390 Number temporary file
- 68.38 MiB Max size of temporary file
- 56.78 MiB Average size of temporary file
- 43,371 Total number of sessions
- 7 sessions at 2026-04-21 12:58:34 Session peak
- 2h10m56s Total duration of sessions
- 181ms Average duration of sessions
- 0 Average queries per session
- 2s21ms Average queries duration per session
- 0ms Average idle time per session
- 43,371 Total number of connections
- 46 connections/s at 2026-04-21 11:03:32 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-04-21 13:32:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-04-21 15:17:22 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 17 queries/s Query Peak
- 2026-04-21 09:33:01 Date
Queries duration
Key values
- 1d21m30s 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 21 00 1,032 0ms 4s15ms 3s650ms 1m8s 1m9s 1m12s 01 1,033 1s217ms 3s900ms 3s709ms 1m8s 1m9s 1m10s 02 1,032 3s680ms 3s915ms 3s760ms 1m7s 1m8s 1m10s 03 1,032 3s688ms 3s848ms 3s765ms 1m7s 1m8s 1m9s 04 1,032 3s669ms 3s840ms 3s742ms 1m7s 1m7s 1m9s 05 1,032 3s660ms 3s843ms 3s732ms 1m7s 1m8s 1m8s 06 1,033 1s904ms 3s904ms 3s741ms 1m8s 1m9s 1m10s 07 1,026 702ms 3s906ms 3s238ms 1m6s 1m6s 1m7s 08 1,042 513ms 4s14ms 2s976ms 1m9s 1m9s 1m11s 09 1,046 509ms 3s938ms 3s69ms 1m9s 1m10s 1m10s 10 1,049 609ms 3s927ms 3s39ms 1m8s 1m9s 1m10s 11 1,036 684ms 4s67ms 3s711ms 1m9s 1m10s 1m13s 12 1,034 1s49ms 4s17ms 3s837ms 1m10s 1m11s 1m12s 13 1,046 680ms 4s118ms 2s677ms 1m10s 1m10s 1m13s 14 1,060 680ms 4s495ms 2s986ms 1m10s 1m14s 1m16s 15 1,060 679ms 4s495ms 3s137ms 1m10s 1m16s 1m20s 16 1,046 681ms 3s959ms 3s390ms 1m9s 1m11s 1m12s 17 1,034 584ms 3s944ms 3s685ms 1m10s 1m10s 1m10s 18 1,033 1s49ms 4s88ms 3s717ms 1m9s 1m9s 1m10s 19 1,032 3s752ms 4s88ms 3s851ms 1m9s 1m10s 1m13s 20 1,032 3s759ms 4s83ms 3s846ms 1m9s 1m9s 1m13s 21 1,033 1s69ms 3s902ms 3s782ms 1m9s 1m9s 1m10s 22 1,032 3s744ms 3s858ms 3s781ms 1m7s 1m8s 1m9s 23 1,038 575ms 4s214ms 3s723ms 1m8s 1m9s 1m16s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 21 00 0 0 0ms 0ms 0ms 0ms 01 0 0 0ms 0ms 0ms 0ms 02 0 0 0ms 0ms 0ms 0ms 03 0 0 0ms 0ms 0ms 0ms 04 0 0 0ms 0ms 0ms 0ms 05 0 0 0ms 0ms 0ms 0ms 06 0 0 0ms 0ms 0ms 0ms 07 2 0 751ms 0ms 0ms 0ms 08 8 0 790ms 0ms 513ms 1s460ms 09 14 0 709ms 0ms 509ms 2s927ms 10 16 0 874ms 0ms 1s504ms 2s564ms 11 4 0 739ms 0ms 0ms 0ms 12 0 0 0ms 0ms 0ms 0ms 13 12 0 802ms 0ms 970ms 1s462ms 14 26 0 724ms 0ms 1s438ms 2s907ms 15 27 0 759ms 0ms 1s441ms 2s905ms 16 12 0 727ms 0ms 681ms 1s474ms 17 2 0 815ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 0 5 1s560ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 21 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s217ms 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 21 00 0 12 12.00 0.00% 01 0 12 12.00 0.00% 02 0 12 12.00 0.00% 03 0 12 12.00 0.00% 04 0 12 12.00 0.00% 05 0 12 12.00 0.00% 06 0 12 12.00 0.00% 07 0 2 2.00 0.00% 08 0 12 12.00 0.00% 09 0 12 12.00 0.00% 10 0 12 12.00 0.00% 11 0 12 12.00 0.00% 12 0 12 12.00 0.00% 13 0 12 12.00 0.00% 14 0 12 12.00 0.00% 15 0 12 12.00 0.00% 16 0 12 12.00 0.00% 17 0 12 12.00 0.00% 18 0 12 12.00 0.00% 19 0 12 12.00 0.00% 20 0 12 12.00 0.00% 21 0 12 12.00 0.00% 22 0 12 12.00 0.00% 23 0 12 12.00 0.00% Day Hour Count Average / Second Apr 21 00 895 0.25/s 01 895 0.25/s 02 892 0.25/s 03 910 0.25/s 04 899 0.25/s 05 887 0.25/s 06 1,477 0.41/s 07 1,172 0.33/s 08 2,631 0.73/s 09 2,132 0.59/s 10 2,884 0.80/s 11 5,675 1.58/s 12 2,003 0.56/s 13 3,109 0.86/s 14 3,420 0.95/s 15 2,330 0.65/s 16 2,472 0.69/s 17 1,769 0.49/s 18 1,290 0.36/s 19 1,210 0.34/s 20 1,184 0.33/s 21 1,147 0.32/s 22 936 0.26/s 23 1,152 0.32/s Day Hour Count Average Duration Average idle time Apr 21 00 895 229ms 0ms 01 895 231ms 0ms 02 892 228ms 0ms 03 910 225ms 0ms 04 899 226ms 0ms 05 887 228ms 0ms 06 1,477 186ms 0ms 07 1,172 174ms 0ms 08 2,631 174ms 0ms 09 2,132 186ms 0ms 10 2,884 154ms 0ms 11 5,675 155ms 0ms 12 2,003 167ms 0ms 13 3,109 175ms 0ms 14 3,420 165ms 0ms 15 2,330 165ms 0ms 16 2,472 165ms 0ms 17 1,769 178ms 0ms 18 1,290 195ms 0ms 19 1,210 185ms 0ms 20 1,184 191ms 0ms 21 1,147 209ms 0ms 22 936 219ms 0ms 23 1,152 217ms 0ms -
Connections
Established Connections
Key values
- 46 connections Connection Peak
- 2026-04-21 11:03:32 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 43,371 connections Total
Connections per user
Key values
- labanimal Main User
- 43,371 connections Total
-
Sessions
Simultaneous sessions
Key values
- 7 sessions Session Peak
- 2026-04-21 12:58:34 Date
Histogram of session times
Key values
- 40,377 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 43,371 sessions Total
Sessions per user
Key values
- labanimal Main User
- 43,371 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 43,371 sessions Total
Sessions per application
Key values
- Main Application
- 43,371 sessions Total
Application Count Total Duration Average Duration 34,869 1h50m27s 190ms _backend_cage_autocomplete_api.php_q_17-_limit_12_zemm_produkti 2 42ms 21ms _backend_cage_autocomplete_api.php_q_17_limit_12_zemm_produktiv 12 362ms 30ms _backend_cage_autocomplete_api.php_q_2025_limit_12_zemm_produkt 10 367ms 36ms _backend_cage_autocomplete_api.php_q_51-001_limit_12_zemm_produ 1 28ms 28ms _backend_cage_autocomplete_api.php_q_51-00_limit_12_zemm_produk 1 34ms 34ms _backend_cage_autocomplete_api.php_q_51-400_limit_12_zemm_produ 1 29ms 29ms _backend_cage_autocomplete_api.php_q_51-401_limit_12_zemm_produ 1 29ms 29ms _backend_cage_autocomplete_api.php_q_51-40_limit_12_zemm_produk 1 29ms 29ms _backend_cage_autocomplete_api.php_q_51-481_limit_12_zemm_produ 1 25ms 25ms _backend_cage_autocomplete_api.php_q_51-482_limit_12_zemm_produ 3 88ms 29ms _backend_cage_autocomplete_api.php_q_51-48_limit_12_zemm_produk 1 33ms 33ms _backend_cage_autocomplete_api.php_q_51-4_limit_12_zemm_produkt 2 68ms 34ms _backend_cage_autocomplete_api.php_q_51-_limit_12_zemm_produkti 1 32ms 32ms _backend_cage_autocomplete_api.php_q_51._limit_12_zemm_produkti 1 28ms 28ms _backend_cage_autocomplete_api.php_q_51_limit_12_zemm_produktiv 2 73ms 36ms _backend_cage_autocomplete_api.php_q_52-070_limit_12_zemm_produ 1 34ms 34ms _backend_cage_autocomplete_api.php_q_52-073_limit_12_zemm_produ 2 63ms 31ms _backend_cage_autocomplete_api.php_q_52-07_limit_12_zemm_produk 1 26ms 26ms _backend_cage_autocomplete_api.php_q_52-214_limit_12_zemm_produ 1 29ms 29ms _backend_cage_autocomplete_api.php_q_52-215_limit_12_zemm_produ 2 60ms 30ms _backend_cage_autocomplete_api.php_q_52-21_limit_12_zemm_produk 1 29ms 29ms _backend_cage_autocomplete_api.php_q_52-270_limit_12_zemm_produ 1 41ms 41ms _backend_cage_autocomplete_api.php_q_52-277_limit_12_zemm_produ 2 59ms 29ms _backend_cage_autocomplete_api.php_q_52-27_limit_12_zemm_produk 1 32ms 32ms _backend_cage_autocomplete_api.php_q_52_limit_12_zemm_produktiv 1 35ms 35ms _backend_cage_autocomplete_api.php_q_55-065_limit_12_zemm_produ 12 382ms 31ms _backend_cage_autocomplete_api.php_q_5_limit_12_zemm_produktiv_ 1 40ms 40ms _backend_cage_autocomplete_api.php_q_Kadavertruhe_limit_12_zemm 12 485ms 40ms _backend_wean_api.php_litter_id_10130200_zemm_produktiv_7_local 8 1s107ms 138ms _backend_wean_api.php_litter_id_10130201_zemm_produktiv_7_local 8 1s122ms 140ms _backend_wean_api.php_litter_id_10130202_zemm_produktiv_7_local 8 1s149ms 143ms _backend_wean_api.php_litter_id_10130203_zemm_produktiv_7_local 8 1s115ms 139ms _backend_wean_api.php_litter_id_10130204_zemm_produktiv_7_local 8 1s125ms 140ms _backend_wean_api.php_litter_id_10130205_zemm_produktiv_7_local 8 1s139ms 142ms _backend_wean_api.php_litter_id_10130206_zemm_produktiv_7_local 8 1s125ms 140ms _backend_wean_api.php_litter_id_10130207_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130208_zemm_produktiv_7_local 14 1s972ms 140ms _backend_wean_api.php_litter_id_10130209_zemm_produktiv_7_local 8 1s128ms 141ms _backend_wean_api.php_litter_id_10130210_zemm_produktiv_7_local 8 1s125ms 140ms _backend_wean_api.php_litter_id_10130211_zemm_produktiv_7_local 8 1s128ms 141ms _backend_wean_api.php_litter_id_10130212_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130213_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130214_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130215_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130216_zemm_produktiv_7_local 8 1s124ms 140ms _backend_wean_api.php_litter_id_10130217_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130218_zemm_produktiv_7_local 8 1s141ms 142ms _backend_wean_api.php_litter_id_10130219_zemm_produktiv_7_local 8 1s158ms 144ms _backend_wean_api.php_litter_id_10130220_zemm_produktiv_7_local 8 1s150ms 143ms _backend_wean_api.php_litter_id_10130221_zemm_produktiv_7_local 8 1s157ms 144ms _backend_wean_api.php_litter_id_10130222_zemm_produktiv_7_local 8 1s146ms 143ms _backend_wean_api.php_litter_id_10130223_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130224_zemm_produktiv_7_local 8 1s125ms 140ms _backend_wean_api.php_litter_id_10130225_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130226_zemm_produktiv_7_local 8 1s134ms 141ms _backend_wean_api.php_litter_id_10130227_zemm_produktiv_7_local 62 9s55ms 146ms _backend_wean_api.php_litter_id_10130228_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130229_zemm_produktiv_7_local 8 1s117ms 139ms _backend_wean_api.php_litter_id_10130230_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130231_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130232_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130233_zemm_produktiv_7_local 8 1s127ms 140ms _backend_wean_api.php_litter_id_10130234_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130235_zemm_produktiv_7_local 8 1s127ms 140ms _backend_wean_api.php_litter_id_10130236_zemm_produktiv_7_local 69 10s216ms 148ms _backend_wean_api.php_litter_id_10130237_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130238_zemm_produktiv_7_local 8 1s158ms 144ms _backend_wean_api.php_litter_id_10130239_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130240_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130241_zemm_produktiv_7_local 8 1s121ms 140ms _backend_wean_api.php_litter_id_10130242_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130243_zemm_produktiv_7_local 8 1s123ms 140ms _backend_wean_api.php_litter_id_10130244_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130245_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130246_zemm_produktiv_7_local 8 1s116ms 139ms _backend_wean_api.php_litter_id_10130247_zemm_produktiv_7_local 17 2s399ms 141ms _backend_wean_api.php_litter_id_10130248_zemm_produktiv_7_local 8 1s121ms 140ms _backend_wean_api.php_litter_id_10130249_zemm_produktiv_7_local 8 1s139ms 142ms _backend_wean_api.php_litter_id_10130250_zemm_produktiv_7_local 8 1s122ms 140ms _backend_wean_api.php_litter_id_10130251_zemm_produktiv_7_local 8 1s123ms 140ms _backend_wean_api.php_litter_id_10130252_zemm_produktiv_7_local 8 1s139ms 142ms _backend_wean_api.php_litter_id_10130253_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130254_zemm_produktiv_7_local 8 1s141ms 142ms _backend_wean_api.php_litter_id_10130255_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130256_zemm_produktiv_7_local 8 1s128ms 141ms _backend_wean_api.php_litter_id_10130257_zemm_produktiv_7_local 79 11s730ms 148ms _backend_wean_api.php_litter_id_10130258_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130259_zemm_produktiv_7_local 8 1s137ms 142ms _backend_wean_api.php_litter_id_10130260_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130261_zemm_produktiv_7_local 8 1s128ms 141ms _backend_wean_api.php_litter_id_10130262_zemm_produktiv_7_local 8 1s125ms 140ms _backend_wean_api.php_litter_id_10130263_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130264_zemm_produktiv_7_local 8 1s118ms 139ms _backend_wean_api.php_litter_id_10130265_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130266_zemm_produktiv_7_local 8 1s128ms 141ms _backend_wean_api.php_litter_id_10130267_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130268_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130269_zemm_produktiv_7_local 8 1s117ms 139ms _backend_wean_api.php_litter_id_10130270_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130271_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130272_zemm_produktiv_7_local 8 1s120ms 140ms _backend_wean_api.php_litter_id_10130273_zemm_produktiv_7_local 8 1s119ms 139ms _backend_wean_api.php_litter_id_10130274_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130275_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130276_zemm_produktiv_7_local 8 1s138ms 142ms _backend_wean_api.php_litter_id_10130277_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130278_zemm_produktiv_7_local 8 1s144ms 143ms _backend_wean_api.php_litter_id_10130279_zemm_produktiv_7_local 8 1s107ms 138ms _backend_wean_api.php_litter_id_10130280_zemm_produktiv_7_local 8 1s140ms 142ms _backend_wean_api.php_litter_id_10130281_zemm_produktiv_7_local 8 1s140ms 142ms _backend_wean_api.php_litter_id_10130282_zemm_produktiv_7_local 8 1s137ms 142ms _backend_wean_api.php_litter_id_10130283_zemm_produktiv_7_local 8 1s134ms 141ms _backend_wean_api.php_litter_id_10130284_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130285_zemm_produktiv_7_local 8 1s119ms 139ms _backend_wean_api.php_litter_id_10130286_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130287_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130288_zemm_produktiv_7_local 8 1s138ms 142ms _backend_wean_api.php_litter_id_10130289_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130290_zemm_produktiv_7_local 8 1s139ms 142ms _backend_wean_api.php_litter_id_10130291_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130292_zemm_produktiv_7_local 8 1s141ms 142ms _backend_wean_api.php_litter_id_10130293_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130294_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130295_zemm_produktiv_7_local 8 1s138ms 142ms _backend_wean_api.php_litter_id_10130296_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130297_zemm_produktiv_7_local 8 1s114ms 139ms _backend_wean_api.php_litter_id_10130298_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130299_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130300_zemm_produktiv_7_local 8 1s123ms 140ms _backend_wean_api.php_litter_id_10130301_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130302_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130303_zemm_produktiv_7_local 8 1s124ms 140ms _backend_wean_api.php_litter_id_10130304_zemm_produktiv_7_local 8 1s138ms 142ms _backend_wean_api.php_litter_id_10130305_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130306_zemm_produktiv_7_local 8 1s138ms 142ms _backend_wean_api.php_litter_id_10130307_zemm_produktiv_7_local 8 1s125ms 140ms _backend_wean_api.php_litter_id_10130308_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130309_zemm_produktiv_7_local 8 1s150ms 143ms _backend_wean_api.php_litter_id_10130310_zemm_produktiv_7_local 8 1s147ms 143ms _backend_wean_api.php_litter_id_10130311_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130312_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130313_zemm_produktiv_7_local 8 1s139ms 142ms _backend_wean_api.php_litter_id_10130314_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130315_zemm_produktiv_7_local 8 1s124ms 140ms _backend_wean_api.php_litter_id_10130316_zemm_produktiv_7_local 8 1s128ms 141ms _backend_wean_api.php_litter_id_10130317_zemm_produktiv_7_local 8 1s139ms 142ms _backend_wean_api.php_litter_id_10130318_zemm_produktiv_7_local 8 1s140ms 142ms _backend_wean_api.php_litter_id_10130319_zemm_produktiv_7_local 11 1s545ms 140ms _backend_wean_api.php_litter_id_10130320_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130321_zemm_produktiv_7_local 8 1s140ms 142ms _backend_wean_api.php_litter_id_10130322_zemm_produktiv_7_local 8 1s146ms 143ms _backend_wean_api.php_litter_id_10130323_zemm_produktiv_7_local 8 1s141ms 142ms _backend_wean_api.php_litter_id_10130324_zemm_produktiv_7_local 8 1s141ms 142ms _backend_wean_api.php_litter_id_10130325_zemm_produktiv_7_local 8 1s148ms 143ms _backend_wean_api.php_litter_id_10130326_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130327_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130328_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130329_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130330_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130331_zemm_produktiv_7_local 8 1s128ms 141ms _backend_wean_api.php_litter_id_10130332_zemm_produktiv_7_local 8 1s123ms 140ms _backend_wean_api.php_litter_id_10130333_zemm_produktiv_7_local 8 1s120ms 140ms _backend_wean_api.php_litter_id_10130334_zemm_produktiv_7_local 8 1s127ms 140ms _backend_wean_api.php_litter_id_10130335_zemm_produktiv_7_local 8 1s138ms 142ms _backend_wean_api.php_litter_id_10130336_zemm_produktiv_7_local 8 1s125ms 140ms _backend_wean_api.php_litter_id_10130337_zemm_produktiv_7_local 8 1s128ms 141ms _backend_wean_api.php_litter_id_10130338_zemm_produktiv_7_local 8 1s144ms 143ms _backend_wean_api.php_litter_id_10130339_zemm_produktiv_7_local 8 1s125ms 140ms _backend_wean_api.php_litter_id_10130340_zemm_produktiv_7_local 8 1s142ms 142ms _backend_wean_api.php_litter_id_10130341_zemm_produktiv_7_local 8 1s119ms 139ms _backend_wean_api.php_litter_id_10130342_zemm_produktiv_7_local 8 1s139ms 142ms _backend_wean_api.php_litter_id_10130343_zemm_produktiv_7_local 8 1s123ms 140ms _backend_wean_api.php_litter_id_10130344_zemm_produktiv_7_local 8 1s138ms 142ms _backend_wean_api.php_litter_id_10130345_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130346_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130347_zemm_produktiv_7_local 8 1s134ms 141ms _backend_wean_api.php_litter_id_10130348_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130349_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130350_zemm_produktiv_7_local 8 1s145ms 143ms _backend_wean_api.php_litter_id_10130351_zemm_produktiv_7_local 8 1s142ms 142ms _backend_wean_api.php_litter_id_10130352_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130353_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130354_zemm_produktiv_7_local 8 1s128ms 141ms _backend_wean_api.php_litter_id_10130355_zemm_produktiv_7_local 8 1s140ms 142ms _backend_wean_api.php_litter_id_10130356_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130357_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130358_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130359_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130360_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130361_zemm_produktiv_7_local 8 1s113ms 139ms _backend_wean_api.php_litter_id_10130362_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130363_zemm_produktiv_7_local 8 1s137ms 142ms _backend_wean_api.php_litter_id_10130364_zemm_produktiv_7_local 8 1s127ms 140ms _backend_wean_api.php_litter_id_10130365_zemm_produktiv_7_local 8 1s116ms 139ms _backend_wean_api.php_litter_id_10130366_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130367_zemm_produktiv_7_local 8 1s124ms 140ms _backend_wean_api.php_litter_id_10130368_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130369_zemm_produktiv_7_local 8 1s120ms 140ms _backend_wean_api.php_litter_id_10130370_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130371_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130372_zemm_produktiv_7_local 8 1s125ms 140ms _backend_wean_api.php_litter_id_10130373_zemm_produktiv_7_local 8 1s147ms 143ms _backend_wean_api.php_litter_id_10130374_zemm_produktiv_7_local 8 1s121ms 140ms _backend_wean_api.php_litter_id_10130375_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130376_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130377_zemm_produktiv_7_local 8 1s144ms 143ms _backend_wean_api.php_litter_id_10130378_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130379_zemm_produktiv_7_local 8 1s166ms 145ms _backend_wean_api.php_litter_id_10130380_zemm_produktiv_7_local 8 1s149ms 143ms _backend_wean_api.php_litter_id_10130381_zemm_produktiv_7_local 8 1s145ms 143ms _backend_wean_api.php_litter_id_10130382_zemm_produktiv_7_local 8 1s173ms 146ms _backend_wean_api.php_litter_id_10130383_zemm_produktiv_7_local 8 1s222ms 152ms _backend_wean_api.php_litter_id_10130384_zemm_produktiv_7_local 8 1s177ms 147ms _backend_wean_api.php_litter_id_10130385_zemm_produktiv_7_local 8 1s176ms 147ms _backend_wean_api.php_litter_id_10130386_zemm_produktiv_7_local 8 1s143ms 142ms _backend_wean_api.php_litter_id_10130387_zemm_produktiv_7_local 8 1s148ms 143ms _backend_wean_api.php_litter_id_10130388_zemm_produktiv_7_local 8 1s147ms 143ms _backend_wean_api.php_litter_id_10130389_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130390_zemm_produktiv_7_local 8 1s148ms 143ms _backend_wean_api.php_litter_id_10130391_zemm_produktiv_7_local 8 1s138ms 142ms _backend_wean_api.php_litter_id_10130392_zemm_produktiv_7_local 8 1s136ms 142ms _backend_wean_api.php_litter_id_10130393_zemm_produktiv_7_local 8 1s141ms 142ms _backend_wean_api.php_litter_id_10130394_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130395_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130396_zemm_produktiv_7_local 8 1s137ms 142ms _backend_wean_api.php_litter_id_10130397_zemm_produktiv_7_local 8 1s127ms 140ms _backend_wean_api.php_litter_id_10130398_zemm_produktiv_7_local 8 1s163ms 145ms _backend_wean_api.php_litter_id_10130399_zemm_produktiv_7_local 8 1s228ms 153ms _backend_wean_api.php_litter_id_10130400_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130401_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130402_zemm_produktiv_7_local 8 1s120ms 140ms _backend_wean_api.php_litter_id_10130403_zemm_produktiv_7_local 8 1s123ms 140ms _backend_wean_api.php_litter_id_10130404_zemm_produktiv_7_local 8 1s127ms 140ms _backend_wean_api.php_litter_id_10130405_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130406_zemm_produktiv_7_local 8 1s122ms 140ms _backend_wean_api.php_litter_id_10130407_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130408_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130409_zemm_produktiv_7_local 8 1s124ms 140ms _backend_wean_api.php_litter_id_10130410_zemm_produktiv_7_local 8 1s137ms 142ms _backend_wean_api.php_litter_id_10130411_zemm_produktiv_7_local 8 1s121ms 140ms _backend_wean_api.php_litter_id_10130412_zemm_produktiv_7_local 8 1s127ms 140ms _backend_wean_api.php_litter_id_10130413_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130414_zemm_produktiv_7_local 8 1s124ms 140ms _backend_wean_api.php_litter_id_10130415_zemm_produktiv_7_local 8 1s120ms 140ms _backend_wean_api.php_litter_id_10130416_zemm_produktiv_7_local 8 1s137ms 142ms _backend_wean_api.php_litter_id_10130417_zemm_produktiv_7_local 8 1s137ms 142ms _backend_wean_api.php_litter_id_10130418_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130419_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130420_zemm_produktiv_7_local 8 1s128ms 141ms _backend_wean_api.php_litter_id_10130421_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130422_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130423_zemm_produktiv_7_local 8 1s123ms 140ms _backend_wean_api.php_litter_id_10130424_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130425_zemm_produktiv_7_local 8 1s125ms 140ms _backend_wean_api.php_litter_id_10130426_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130427_zemm_produktiv_7_local 8 1s122ms 140ms _backend_wean_api.php_litter_id_10130428_zemm_produktiv_7_local 8 1s134ms 141ms _backend_wean_api.php_litter_id_10130429_zemm_produktiv_7_local 8 1s125ms 140ms _backend_wean_api.php_litter_id_10130430_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130431_zemm_produktiv_7_local 8 1s129ms 141ms _backend_wean_api.php_litter_id_10130432_zemm_produktiv_7_local 8 1s134ms 141ms _backend_wean_api.php_litter_id_10130433_zemm_produktiv_7_local 8 1s126ms 140ms _backend_wean_api.php_litter_id_10130434_zemm_produktiv_7_local 8 1s131ms 141ms _backend_wean_api.php_litter_id_10130435_zemm_produktiv_7_local 8 1s145ms 143ms _backend_wean_api.php_litter_id_10130436_zemm_produktiv_7_local 8 1s133ms 141ms _backend_wean_api.php_litter_id_10130437_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130438_zemm_produktiv_7_local 8 1s134ms 141ms _backend_wean_api.php_litter_id_10130439_zemm_produktiv_7_local 8 1s137ms 142ms _backend_wean_api.php_litter_id_10130440_zemm_produktiv_7_local 8 1s125ms 140ms _backend_wean_api.php_litter_id_10130441_zemm_produktiv_7_local 8 1s130ms 141ms _backend_wean_api.php_litter_id_10130442_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130443_zemm_produktiv_7_local 8 1s120ms 140ms _backend_wean_api.php_litter_id_10130444_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130445_zemm_produktiv_7_local 8 1s132ms 141ms _backend_wean_api.php_litter_id_10130446_zemm_produktiv_7_local 10 1s412ms 141ms _backend_wean_api.php_litter_id_10130447_zemm_produktiv_7_local 8 1s135ms 141ms _backend_wean_api.php_litter_id_10130448_zemm_produktiv_7_local 8 1s144ms 143ms _backend_wean_api.php_litter_id_10130449_zemm_produktiv_7_local 8 1s128ms 141ms _backend_wean_api.php_litter_id_10130450_zemm_produktiv_7_local 8 1s138ms 142ms _backend_wean_api.php_litter_id_10131336_zemm_produktiv_8_local 1 147ms 147ms _backend_wean_api.php_litter_id_10131337_zemm_produktiv_8_local 2 291ms 145ms _backend_wean_api.php_litter_id_10131842_zemm_produktiv_8_local 2 294ms 147ms _backend_wean_api.php_litter_id_10131853_zemm_produktiv_8_local 3 433ms 144ms _backend_wean_api.php_litter_id_10131854_zemm_produktiv_8_local 2 289ms 144ms _backend_wean_api.php_litter_id_10131935_zemm_produktiv_7_local 3 441ms 147ms _backend_wean_api.php_litter_id_10131937_zemm_produktiv_7_local 6 844ms 140ms _backend_wean_api.php_litter_id_10131942_zemm_produktiv_7_local 2 280ms 140ms _backend_wean_api.php_litter_id_10131943_zemm_produktiv_7_local 5 704ms 140ms _backend_wean_api.php_litter_id_10131944_zemm_produktiv_7_local 3 415ms 138ms _backend_wean_api.php_litter_id_10131945_zemm_produktiv_8_local 2 286ms 143ms _backend_wean_api.php_litter_id_10131946_zemm_produktiv_7_local 9 1s275ms 141ms _backend_wean_api.php_litter_id_10131948_zemm_produktiv_7_local 8 1s127ms 140ms _backend_wean_api.php_litter_id_10131953_zemm_produktiv_7_local 2 272ms 136ms _backend_wean_api.php_litter_id_10131956_zemm_produktiv_7_local 7 993ms 141ms _backend_wean_api.php_litter_id_10132271_zemm_produktiv_8_local 3 444ms 148ms _backend_wean_api.php_litter_id_10132277_zemm_produktiv_8_local 1 145ms 145ms _backend_wean_api.php_zemm_produktiv_7_localhost_5432 28 22s548ms 805ms _desktop__zemm_produktiv_7_localhost_5432 17 1s232ms 72ms _desktop__zemm_produktiv_8_localhost_5432 15 940ms 62ms _desktop_index.php_animal_id_2025_2F002_2F9982_species_1_breedi 1 66ms 66ms _desktop_index.php_animal_name_31_animal_id_2026_2F000_2F8599_s 1 42ms 42ms _desktop_index.php_cages_name_49-2_2A_cages_empty__25_val4_cage 8 1s614ms 201ms _desktop_index.php_command_animals_breedings_subcommand_select_ 11 736ms 66ms _desktop_index.php_command_animals_create_subcommand_init_zemm_ 15 951ms 63ms _desktop_index.php_command_animals_edit_subcommand_init_id_1028 1 110ms 110ms _desktop_index.php_command_animals_edit_subcommand_init_id_1029 3 356ms 118ms _desktop_index.php_command_animals_edit_subcommand_init_id_1030 3 299ms 99ms _desktop_index.php_command_animals_edit_subcommand_link_init_va 10 1s219ms 121ms _desktop_index.php_command_animals_edit_subcommand_m_init_scree 10 1s437ms 143ms _desktop_index.php_command_animals_litters_edit_subcommand_init 24 2s662ms 110ms _desktop_index.php_command_animals_litters_edit_subcommand_m_in 23 7s230ms 314ms _desktop_index.php_command_animals_litters_subcommand_init_zemm 1 41ms 41ms _desktop_index.php_command_animals_litters_subcommand_select_ze 12 631ms 52ms _desktop_index.php_command_animals_subcommand_found_val1_351_va 1 46ms 46ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 40 1s829ms 45ms _desktop_index.php_command_animals_subcommand_select_ui_density 2 99ms 49ms _desktop_index.php_command_animals_subcommand_select_zemm_produ 27 1s802ms 66ms _desktop_index.php_command_cages_edit_subcommand_init_id_16197_ 1 99ms 99ms _desktop_index.php_command_cages_edit_subcommand_init_id_7556_z 1 72ms 72ms _desktop_index.php_command_home_subcommand_init_zemm_produktiv_ 1 96ms 96ms _desktop_index.php_command_import_dashboard_subcommand_admin_ov 1 72ms 72ms _desktop_index.php_command_import_dashboard_subcommand_view_run 2 138ms 69ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,823 55s506ms 30ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 6 818ms 136ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 19 2s229ms 117ms _desktop_index.php_command_reports_subcommand_annual_reports_ze 4 174ms 43ms _desktop_index.php_command_reports_subcommand_authority_meldung 5 244ms 48ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 10 1s200ms 120ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 24 6s572ms 273ms _desktop_index.php_command_reports_subcommand_scoresheet_per_li 2 1s759ms 879ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 2 234ms 117ms _desktop_index.php_command_tasks_subcommand_create_task_id_31_z 1 56ms 56ms _desktop_index.php_command_tasks_subcommand_create_task_id_37_z 1 50ms 50ms _desktop_index.php_command_tasks_subcommand_edit_id_10134267_ze 10 886ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10141712_ze 1 78ms 78ms _desktop_index.php_command_tasks_subcommand_edit_id_10141772_ze 1 87ms 87ms _desktop_index.php_command_tasks_subcommand_edit_id_10142085_ze 1 88ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10142188_ze 1 81ms 81ms _desktop_index.php_command_tasks_subcommand_edit_id_10142250_ze 1 80ms 80ms _desktop_index.php_command_tasks_subcommand_edit_id_10142270_ze 1 90ms 90ms _desktop_index.php_command_tasks_subcommand_edit_id_10142292_ze 1 86ms 86ms _desktop_index.php_command_tasks_subcommand_edit_id_10142296_ze 1 85ms 85ms _desktop_index.php_command_tasks_subcommand_edit_id_10142330_ze 1 89ms 89ms _desktop_index.php_command_tasks_subcommand_edit_id_10142333_ze 1 88ms 88ms _desktop_index.php_command_tasks_subcommand_edit_id_10142397_ze 2 171ms 85ms _desktop_index.php_command_tasks_subcommand_init_search_zemm_pr 10 495ms 49ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 62 5s106ms 82ms _desktop_index.php_command_tasks_subcommand_search_zemm_produkt 9 443ms 49ms _desktop_index.php_id_0_command_home_subcommand_init_zemm_produ 1 89ms 89ms _desktop_index.php_m_action_animals_3Am_delete_row_animals_1030 1 43ms 43ms _desktop_index.php_m_action_animals_3Am_delete_val4_animals_lis 4 180ms 45ms _desktop_index.php_m_action_animals_edit_3Alink_init_row_animal 1 86ms 86ms _desktop_index.php_name_Genotypisierungsproben_20genommen_instr 14 892ms 63ms _desktop_index.php_name_Neue_20Aufgabe_add_link_animals_task_st 3 133ms 44ms _desktop_index.php_name_Tiertransport_20durch_20das_20ZEMM_inst 1 57ms 57ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 4 1s104ms 276ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 27 18s38ms 668ms _desktop_index.php_zemm_produktiv_7_localhost_5432 270 1m11s 265ms _desktop_index.php_zemm_produktiv_8_localhost_5432 3,445 10m57s 190ms backend:zemm_produktiv_8@localhost 42 2s500ms 59ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s236ms 1s236ms pg_dump 1 12s581ms 12s581ms psql 27 292ms 10ms taskscron:zemm_produktiv_7@zemm.fbiscience.eu 24 649ms 27ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 13s374ms 557ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 18,893 buffers Checkpoint Peak
- 2026-04-21 01:39:03 Date
- 270.038 seconds Highest write time
- 0.419 seconds Sync time
Checkpoints Wal files
Key values
- 6 files Wal files usage Peak
- 2026-04-21 01:39:03 Date
Checkpoints distance
Key values
- 192.97 Mo Distance Peak
- 2026-04-21 10:19:14 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Apr 21 00 3,984 399.109s 0.103s 399.264s 01 22,593 640.743s 0.113s 640.915s 02 3,859 388.403s 0.115s 388.571s 03 3,614 363.66s 0.124s 363.833s 04 3,539 355.122s 0.121s 355.293s 05 3,458 347.313s 0.128s 347.493s 06 5,861 587.079s 0.198s 587.329s 07 4,581 459.891s 0.207s 460.151s 08 48,802 1,618.476s 0.294s 1,618.833s 09 5,938 599.525s 0.215s 599.99s 10 18,727 769.774s 0.227s 770.062s 11 6,154 616.282s 0.22s 616.554s 12 4,943 496.02s 0.157s 496.362s 13 25,710 1,246.878s 0.231s 1,247.181s 14 15,056 868.469s 0.629s 869.19s 15 5,953 598.527s 0.204s 598.84s 16 5,366 537.706s 0.33s 538.095s 17 4,800 480.981s 0.186s 481.214s 18 3,456 346.868s 0.117s 347.125s 19 3,018 303.578s 0.105s 303.739s 20 3,482 349.691s 0.11s 349.852s 21 3,355 336.537s 0.099s 336.689s 22 3,405 343.524s 0.094s 343.672s 23 4,029 407.72s 0.111s 407.882s Day Hour Added Removed Recycled Synced files Longest sync Average sync Apr 21 00 0 0 1 446 0.002s 0.012s 01 0 0 7 456 0.003s 0.012s 02 0 0 1 445 0.002s 0.012s 03 0 0 1 453 0.003s 0.012s 04 0 0 1 450 0.003s 0.012s 05 0 0 1 432 0.003s 0.012s 06 0 0 1 1,038 0.003s 0.012s 07 0 0 2 1,006 0.003s 0.012s 08 0 0 13 1,507 0.005s 0.012s 09 0 0 2 1,165 0.002s 0.012s 10 0 0 7 1,242 0.003s 0.012s 11 0 0 2 1,154 0.007s 0.012s 12 0 0 2 825 0.002s 0.012s 13 0 0 9 1,260 0.007s 0.011s 14 0 0 5 1,306 0.080s 0.017s 15 0 0 2 1,162 0.004s 0.012s 16 0 0 2 1,039 0.039s 0.013s 17 0 0 1 998 0.002s 0.012s 18 0 0 1 477 0.010s 0.012s 19 0 0 1 475 0.003s 0.012s 20 0 0 1 528 0.002s 0.012s 21 0 0 1 479 0.002s 0.012s 22 0 0 1 451 0.002s 0.012s 23 0 0 1 479 0.002s 0.012s Day Hour Count Avg time (sec) Apr 21 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 21 00 1,407.00 kB 1,947.83 kB 01 9,542.00 kB 34,721.25 kB 02 1,443.75 kB 35,794.58 kB 03 1,396.92 kB 11,133.25 kB 04 1,372.33 kB 4,140.25 kB 05 1,337.58 kB 2,131.00 kB 06 2,052.33 kB 2,848.17 kB 07 1,804.25 kB 2,784.33 kB 08 18,695.58 kB 37,664.58 kB 09 2,161.67 kB 25,626.00 kB 10 10,061.75 kB 53,917.50 kB 11 2,517.83 kB 24,738.83 kB 12 1,956.00 kB 8,530.08 kB 13 14,410.82 kB 18,247.18 kB 14 7,169.58 kB 36,982.42 kB 15 2,176.58 kB 12,061.58 kB 16 2,311.00 kB 5,124.00 kB 17 1,719.83 kB 2,751.25 kB 18 1,465.33 kB 2,426.92 kB 19 1,261.50 kB 2,071.75 kB 20 1,366.25 kB 1,636.17 kB 21 1,429.83 kB 2,496.83 kB 22 1,346.58 kB 1,769.75 kB 23 1,404.42 kB 1,999.83 kB -
Temporary Files
Size of temporary files
Key values
- 286.38 MiB Temp Files size Peak
- 2026-04-21 23:58:58 Date
Number of temporary files
Key values
- 5 per second Temp Files Peak
- 2026-04-21 13:03:39 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Apr 21 00 60 3.30 GiB 56.29 MiB 01 60 3.30 GiB 56.33 MiB 02 60 3.30 GiB 56.38 MiB 03 60 3.31 GiB 56.42 MiB 04 60 3.31 GiB 56.46 MiB 05 60 3.31 GiB 56.50 MiB 06 60 3.31 GiB 56.54 MiB 07 10 565.68 MiB 56.57 MiB 08 60 3.32 GiB 56.63 MiB 09 60 3.32 GiB 56.67 MiB 10 60 3.32 GiB 56.71 MiB 11 60 3.33 GiB 56.75 MiB 12 60 3.33 GiB 56.79 MiB 13 60 3.33 GiB 56.84 MiB 14 60 3.33 GiB 56.88 MiB 15 60 3.34 GiB 56.92 MiB 16 60 3.34 GiB 56.96 MiB 17 60 3.34 GiB 57.01 MiB 18 60 3.34 GiB 57.05 MiB 19 60 3.35 GiB 57.09 MiB 20 60 3.35 GiB 57.13 MiB 21 60 3.35 GiB 57.17 MiB 22 60 3.35 GiB 57.21 MiB 23 60 3.35 GiB 57.26 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 1,112 59.95 GiB 46.67 MiB 62.05 MiB 55.21 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-21 08:58:40+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-21 08:58:40+02' AND '2026-04-21 14:58:40+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-21 08:58:40+02' AND '2026-04-21 14:58:40+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-21 14:58:44 Duration: 4s495ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-21 17:58:54+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-21 17:58:54+02' AND '2026-04-21 23:58:54+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-21 17:58:54+02' AND '2026-04-21 23:58:54+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-21 23:58:58 Duration: 4s214ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-21 07:03:35+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-21 07:03:35+02' AND '2026-04-21 13:03:35+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-21 07:03:35+02' AND '2026-04-21 13:03:35+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-21 13:03:39 Duration: 4s118ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
Queries generating the largest temporary files
Rank Size Query 1 62.05 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-21 00:07:05 - Queryid: 2933523 ]
2 61.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-21 13:43:40 - Queryid: 3272244 ]
3 61.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-21 23:58:58 - Queryid: 3607408 ]
4 61.32 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-21 09:23:30 - Queryid: 3128224 ]
5 61.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-21 06:22:06 - Queryid: 3061766 ]
6 61.15 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-21 19:08:49 - Queryid: 3458131 ]
7 61.09 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-21 03:07:05 - Queryid: 2992954 ]
8 60.86 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-21 09:43:31 - Queryid: 3139151 ]
9 60.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-21 20:18:51 - Queryid: 3489222 ]
10 60.63 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-21 02:32:05 - Queryid: 2980983 ]
11 60.62 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-21 18:28:49 - Queryid: 3430063 ]
12 60.60 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-21 00:17:05 - Queryid: 2937223 ]
13 60.47 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1) AND collected_at <= $2 ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($3) AND collected_at BETWEEN $4 AND $5 ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($6) AND collected_at BETWEEN $7 AND $8 ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT $9 OFFSET $10;[ Date: 2026-04-21 15:48:46 - Queryid: 3341813 ]
14 60.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-21 03:52:05 - Queryid: 3008631 ]
15 60.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-21 08:33:27 - Queryid: 3106184 ]
16 60.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-21 14:53:44 - Queryid: 3313048 ]
17 60.31 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-21 12:28:37 - Queryid: 3225451 ]
18 60.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-21 16:58:49 - Queryid: 3390955 ]
19 60.03 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-21 10:28:32 - Queryid: 3157939 ]
20 60.01 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-21 12:03:37 - Queryid: 3202405 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 0.61 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-04-21 01:30:14 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_produktiv_8 - Date
Average Autovacuum Duration
Key values
- 0.61 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-04-21 01:30:14 Date
Analyzes per table
Key values
- pg_catalog.pg_type (53) Main table analyzed (database zemm_produktiv_8)
- 191 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 53 zemm_produktiv_8.pg_catalog.pg_attribute 39 zemm_produktiv_8.pg_catalog.pg_class 28 zemm_produktiv_8.pg_catalog.pg_depend 25 zemm_produktiv_8.public.breedingsdams 9 zemm_produktiv_8.public.breedingssires 9 zemm_produktiv_8.public.tmptasks 3 zemm_produktiv_7.pg_catalog.pg_type 2 zemm_test_3.pg_catalog.pg_shdepend 2 zemm_produktiv_8.public.users 2 template1.pg_catalog.pg_shdepend 2 template0.pg_catalog.pg_shdepend 2 zemm_produktiv_8.public.cages_search_mview 2 zemm_monitoring.observability.metrics_timeseries 2 zemm_produktiv_8.public.monitoring_session_activity 1 zemm_produktiv_7.pg_catalog.pg_attribute 1 labanimal.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.tasks 1 zemm_produktiv_7.pg_catalog.pg_class 1 zemm_produktiv_7.pg_catalog.pg_shdepend 1 zemm_monitoring.observability.uptime_checks 1 zemm_produktiv_8.public.login_tracker 1 bucardo.pg_catalog.pg_shdepend 1 zemm_produktiv_8.pg_catalog.pg_shdepend 1 zemm_produktiv_7.pg_catalog.pg_depend 1 Total 191 Vacuums per table
Key values
- pg_catalog.pg_type (18) Main table vacuumed on database zemm_produktiv_8
- 87 vacuums Total
Index Buffer usage Skipped WAL usage Frozen Table Vacuums scans hits misses dirtied pins frozen records full page bytes pages tuples zemm_produktiv_8.pg_catalog.pg_type 18 18 0 0 0 0 0 950 248 243,360 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 14 14 0 0 0 0 0 1,830 622 411,052 0 0 zemm_produktiv_8.pg_catalog.pg_class 9 9 0 0 0 0 0 881 292 348,874 2 2 zemm_produktiv_8.public.breedingssires 9 0 0 0 0 0 0 1,332 36 84,528 0 0 zemm_produktiv_8.public.breedingsdams 9 0 0 0 0 0 0 1,791 36 111,609 0 0 zemm_produktiv_8.pg_catalog.pg_depend 7 7 0 0 0 0 0 874 313 323,687 0 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 0 0 0 4,591 1,543 3,505,288 1,518 9,108 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 0 0 0 0 0 752 210 1,188,835 61 194 fbi_ci_db.pg_catalog.pg_shdepend 4 4 0 0 0 0 0 363 122 226,773 0 0 zemm_monitoring.pg_toast.pg_toast_67384 3 3 0 0 0 0 0 175 12 30,114 0 0 zemm_produktiv_8.public.users 1 1 0 0 0 0 0 176 77 192,382 56 128 zemm_produktiv_8.public.cages_search_mview 1 1 0 0 0 0 0 643 328 1,123,973 35 237 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 47,047 41 3,487,928 3 6 zemm_monitoring.observability.uptime_checks 1 0 0 0 0 0 0 886 885 1,369,954 0 0 zemm_produktiv_7.pg_catalog.pg_type 1 1 0 0 0 0 0 42 12 13,483 0 0 Total 87 63 0 0 0 0 0 62,333 4,777 12,661,840 1,675 9,675 Vacuum throughput per table
Key values
- public.tasks (0.61) Max CPU elapsed for vacuum on database zemm_produktiv_8
- pg_toast.pg_toast_67431 (5.247 ms) Max I/O read time for vacuum on database zemm_produktiv_8
- pg_toast.pg_toast_67431 (0.611 ms) Max I/O write time for vacuum on database zemm_produktiv_8
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 2.493 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 3.351 0 0.18 zemm_produktiv_8.pg_catalog.pg_class 1.582 0 0.04 zemm_produktiv_8.public.breedingssires 0 0.181 0 zemm_produktiv_8.public.breedingsdams 0 0.141 0 zemm_produktiv_8.pg_catalog.pg_depend 1.951 0 0.07 zemm_monitoring.pg_toast.pg_toast_67431 5.247 0.611 0.41 zemm_produktiv_8.pg_toast.pg_toast_2619 1.443 0 0.04 fbi_ci_db.pg_catalog.pg_shdepend 2.035 0 0.04 zemm_monitoring.pg_toast.pg_toast_67384 0.104 0.024 0 zemm_produktiv_8.public.users 1.368 0 0.02 zemm_produktiv_8.public.cages_search_mview 1.064 0.187 0.09 zemm_produktiv_8.public.tasks 0.182 0 0.61 zemm_monitoring.observability.uptime_checks 0.525 0 0.22 zemm_produktiv_7.pg_catalog.pg_type 1.683 0 0 Total 23.028 1.144 1.72 Tuples removed per table
Key values
- public.tasks (53986) Main table with removed tuples on database zemm_produktiv_8
- 82061 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 53,986 56,988 0 0 16,803 zemm_produktiv_8.pg_catalog.pg_attribute 14 14 13,741 79,984 0 0 2,576 zemm_produktiv_8.pg_catalog.pg_depend 7 7 6,046 29,197 0 0 385 zemm_produktiv_8.pg_catalog.pg_type 18 18 3,606 14,958 0 0 558 fbi_ci_db.pg_catalog.pg_shdepend 4 4 1,960 15,536 0 0 152 zemm_produktiv_8.pg_catalog.pg_class 9 9 1,427 8,046 0 0 378 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 393 1,169 0 0 424 zemm_produktiv_8.public.cages_search_mview 1 1 348 13,885 0 0 234 zemm_monitoring.pg_toast.pg_toast_67384 3 3 255 8 0 2 51 zemm_produktiv_8.public.users 1 1 191 756 0 0 108 zemm_produktiv_7.pg_catalog.pg_type 1 1 108 861 0 0 27 zemm_produktiv_8.public.breedingssires 9 0 0 203,048 0 0 1,296 zemm_monitoring.observability.uptime_checks 1 0 0 99,824 0 0 5,009 zemm_produktiv_8.public.breedingsdams 9 0 0 274,306 0 0 1,755 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 2,179,202 0 0 367,537 Total 87 63 82,061 2,977,768 0 2 397,293 Pages removed per table
Key values
- pg_toast.pg_toast_67384 (2) Main table with removed pages on database zemm_monitoring
- 2 pages Total removed
Table Number of vacuums Index scans Tuples removed Pages removed zemm_monitoring.pg_toast.pg_toast_67384 3 3 255 2 zemm_produktiv_8.pg_catalog.pg_class 9 9 1427 0 zemm_produktiv_8.public.users 1 1 191 0 zemm_produktiv_8.pg_catalog.pg_type 18 18 3606 0 zemm_produktiv_8.public.cages_search_mview 1 1 348 0 zemm_produktiv_8.public.tasks 1 1 53986 0 zemm_produktiv_8.public.breedingssires 9 0 0 0 zemm_monitoring.observability.uptime_checks 1 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 14 14 13741 0 zemm_produktiv_8.public.breedingsdams 9 0 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 4 4 393 0 zemm_produktiv_8.pg_catalog.pg_depend 7 7 6046 0 zemm_monitoring.pg_toast.pg_toast_67431 5 0 0 0 fbi_ci_db.pg_catalog.pg_shdepend 4 4 1960 0 zemm_produktiv_7.pg_catalog.pg_type 1 1 108 0 Total 87 63 82,061 2 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Apr 21 00 0 0 01 2 1 02 0 0 03 0 0 04 0 0 05 0 0 06 7 17 07 3 8 08 13 31 09 4 14 10 13 25 11 8 10 12 4 9 13 12 23 14 7 19 15 7 17 16 2 6 17 3 9 18 0 1 19 0 0 20 0 0 21 0 0 22 1 0 23 1 1 - 0.61 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
- 123 Total read queries
- 24,782 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,758 Requests
- 1d19m22s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- labanimal Main user
- 648,866 Requests
User Request type Count Duration deploy Total 58 14m47s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s labanimal Total 648,866 18d1h16m28s copy from 8 18s286ms copy to 96 4m30s cte 3,646 3h57m ddl 642,125 17d20h22m55s others 179 2m6s select 2,764 48m47s tcl 4 2s749ms update 30 31s812ms postgres Total 161 3m37s copy to 161 3m37s Duration by user
Key values
- 18d1h16m28s (labanimal) Main time consuming user
User Request type Count Duration deploy Total 58 14m47s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s labanimal Total 648,866 18d1h16m28s copy from 8 18s286ms copy to 96 4m30s cte 3,646 3h57m ddl 642,125 17d20h22m55s others 179 2m6s select 2,764 48m47s tcl 4 2s749ms update 30 31s812ms postgres Total 161 3m37s copy to 161 3m37s Queries by host
Key values
- unknown Main host
- 648,833 Requests
- 18d1h12m53s (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 31 3m28s select 1 2m56s update 30 31s812ms [local] Total 219 18m24s copy to 161 3m37s cte 4 1m18s ddl 30 4m31s others 9 22s849ms select 9 6m3s unknown Total 648,833 18d1h12m53s copy from 8 18s286ms copy to 96 4m30s cte 3,646 3h57m ddl 642,123 17d20h22m49s others 179 2m6s select 2,763 45m50s tcl 4 2s749ms Queries by application
Key values
- unknown Main application
- 24,758 Requests
- 1d19m22s (unknown)
- Main time consuming application
Application Request type Count Duration _backend_wean_api.php_zemm_produktiv_7_localhost_5432 Total 2 1s630ms select 2 1s630ms _desktop_index.php_zemm_produktiv_7_localhost_5432 Total 11 11s359ms cte 11 11s359ms _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 128 1m45s cte 7 12s911ms select 121 1m32s expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s217ms update 1 1s217ms pg_dump Total 5 7s803ms copy to 5 7s803ms unknown Total 24,758 1d19m22s cte 278 17m48s ddl 24,480 1d1m34s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-04-21 01:51:03 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 306 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 4s495ms 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-21 08:58:40+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-21 08:58:40+02' AND '2026-04-21 14:58:40+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-21 08:58:40+02' AND '2026-04-21 14:58:40+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-21 14:58:44 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
2 4s495ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
3 4s495ms 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-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
4 4s495ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
5 4s495ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
6 4s495ms 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-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
7 4s495ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
8 4s495ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-04-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
9 4s495ms 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-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
10 4s495ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-04-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
11 4s495ms 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-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
12 4s495ms 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-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
13 4s495ms 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-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
14 4s495ms 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-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
15 4s495ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-04-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
16 4s495ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-04-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
17 4s495ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-04-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
18 4s495ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-04-21 14:59:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
19 4s495ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-21 15:00:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
20 4s495ms 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-21 15:00:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 1h24m47s 1,440 509ms 4s495ms 3s533ms create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
2 1h24m47s 1,440 509ms 4s495ms 3s533ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
3 1h24m47s 1,440 509ms 4s495ms 3s533ms 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 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
4 1h24m47s 1,440 509ms 4s495ms 3s533ms 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 #4
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
5 1h24m47s 1,440 509ms 4s495ms 3s533ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
6 1h24m47s 1,440 509ms 4s495ms 3s533ms 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 #6
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
7 1h24m47s 1,440 509ms 4s495ms 3s533ms 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 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
8 1h24m47s 1,440 509ms 4s495ms 3s533ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
9 1h24m47s 1,440 509ms 4s495ms 3s533ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
10 1h24m47s 1,440 509ms 4s495ms 3s533ms 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 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
11 1h24m47s 1,440 509ms 4s495ms 3s533ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
12 1h24m47s 1,440 509ms 4s495ms 3s533ms create schema if not exists observability;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
13 1h24m47s 1,440 509ms 4s495ms 3s533ms 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 #13
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
14 1h24m47s 1,440 509ms 4s495ms 3s533ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
15 1h24m47s 1,440 509ms 4s495ms 3s533ms 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 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
16 1h24m47s 1,440 509ms 4s495ms 3s533ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
17 1h24m47s 1,440 509ms 4s495ms 3s533ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
18 17m48s 278 3s660ms 4s495ms 3s841ms 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 21 01 12 46s10ms 3s834ms 02 12 45s555ms 3s796ms 03 12 45s176ms 3s764ms 04 12 45s139ms 3s761ms 05 12 44s944ms 3s745ms 06 12 44s819ms 3s734ms 07 12 45s669ms 3s805ms 08 2 7s727ms 3s863ms 09 12 46s357ms 3s863ms 10 12 45s951ms 3s829ms 11 12 46s124ms 3s843ms 12 12 46s644ms 3s887ms 13 12 46s598ms 3s883ms 14 12 47s343ms 3s945ms 15 12 47s881ms 3s990ms 16 12 46s664ms 3s888ms 17 12 46s662ms 3s888ms 18 12 46s602ms 3s883ms 19 12 46s452ms 3s871ms 20 12 46s45ms 3s837ms 21 12 46s126ms 3s843ms 22 12 45s900ms 3s825ms 23 12 45s390ms 3s782ms 00 12 46s263ms 3s855ms [ User: labanimal - Total duration: 17m48s - Times executed: 278 ]
-
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-21 08:58:40+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-21 08:58:40+02' AND '2026-04-21 14:58:40+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-21 08:58:40+02' AND '2026-04-21 14:58:40+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-21 14:58:44 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-21 17:58:54+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-21 17:58:54+02' AND '2026-04-21 23:58:54+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-21 17:58:54+02' AND '2026-04-21 23:58:54+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-21 23:58:58 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-21 07:03:35+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-21 07:03:35+02' AND '2026-04-21 13:03:35+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-21 07:03:35+02' AND '2026-04-21 13:03:35+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-21 13:03:39 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
19 35s247ms 46 752ms 805ms 766ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 21 08 1 799ms 799ms 09 1 769ms 769ms 10 3 2s286ms 762ms 11 3 2s336ms 778ms 12 2 1s571ms 785ms 14 4 3s76ms 769ms 15 13 9s916ms 762ms 16 13 9s887ms 760ms 17 6 4s602ms 767ms [ User: labanimal - Total duration: 35s247ms - Times executed: 46 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 35s247ms - Times executed: 46 ]
-
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-21 11:55:18 Duration: 805ms 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-21_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, 489) AS is_owner, user_is_tgm (animals_search_mview.editor, 489) AS is_editor, user_is_tgm (animals_search_mview.tourist, 489) 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-21 10:36:49 Duration: 799ms 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-21_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-21 07:50:33 Duration: 799ms 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-21_000000.csv
20 31s710ms 46 679ms 706ms 689ms select distinct * from ( select animals_search_mview.*, b.unbreeding_date, fates.loc as fate_name, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, string_agg(l."application_id" || ? || l."title" || ? || date(lh."timestamp")::varchar, ?) as licensehistory, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview inner join fates on fates.id = animals_search_mview.fate left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join licenses l on l.id = lh.licid left join breedings b on b.id = animals_search_mview.last_mating group by animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data where data.fate = ? and data.alive = ? and data.deleted = ? and (is_owner or is_editor or is_tourist) and (data.straindeleted = ? or data.straindeleted is null) order by data.cage_name, data.animal_id, data.name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 21 08 1 702ms 702ms 09 1 690ms 690ms 10 3 2s107ms 702ms 11 3 2s100ms 700ms 12 2 1s384ms 692ms 14 4 2s750ms 687ms 15 13 8s925ms 686ms 16 13 8s917ms 685ms 17 6 4s130ms 688ms [ User: labanimal - Total duration: 31s710ms - Times executed: 46 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 31s710ms - Times executed: 46 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, 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, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-21 10:50:25 Duration: 706ms 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-21_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-21 09:38:03 Duration: 706ms 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-21_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 489) AS is_owner, user_is_tgm (animals_search_mview.editor, 489) AS is_editor, user_is_tgm (animals_search_mview.tourist, 489) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-21 10:36:50 Duration: 705ms 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-21_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 1h24m47s 509ms 4s495ms 3s533ms create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
2 1,440 1h24m47s 509ms 4s495ms 3s533ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
3 1,440 1h24m47s 509ms 4s495ms 3s533ms 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 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
4 1,440 1h24m47s 509ms 4s495ms 3s533ms 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 #4
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
5 1,440 1h24m47s 509ms 4s495ms 3s533ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
6 1,440 1h24m47s 509ms 4s495ms 3s533ms 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 #6
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
7 1,440 1h24m47s 509ms 4s495ms 3s533ms 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 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
8 1,440 1h24m47s 509ms 4s495ms 3s533ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
9 1,440 1h24m47s 509ms 4s495ms 3s533ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
10 1,440 1h24m47s 509ms 4s495ms 3s533ms 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 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
11 1,440 1h24m47s 509ms 4s495ms 3s533ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
12 1,440 1h24m47s 509ms 4s495ms 3s533ms create schema if not exists observability;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
13 1,440 1h24m47s 509ms 4s495ms 3s533ms 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 #13
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
14 1,440 1h24m47s 509ms 4s495ms 3s533ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
15 1,440 1h24m47s 509ms 4s495ms 3s533ms 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 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
16 1,440 1h24m47s 509ms 4s495ms 3s533ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
17 1,440 1h24m47s 509ms 4s495ms 3s533ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
18 278 17m48s 3s660ms 4s495ms 3s841ms 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 21 01 12 46s10ms 3s834ms 02 12 45s555ms 3s796ms 03 12 45s176ms 3s764ms 04 12 45s139ms 3s761ms 05 12 44s944ms 3s745ms 06 12 44s819ms 3s734ms 07 12 45s669ms 3s805ms 08 2 7s727ms 3s863ms 09 12 46s357ms 3s863ms 10 12 45s951ms 3s829ms 11 12 46s124ms 3s843ms 12 12 46s644ms 3s887ms 13 12 46s598ms 3s883ms 14 12 47s343ms 3s945ms 15 12 47s881ms 3s990ms 16 12 46s664ms 3s888ms 17 12 46s662ms 3s888ms 18 12 46s602ms 3s883ms 19 12 46s452ms 3s871ms 20 12 46s45ms 3s837ms 21 12 46s126ms 3s843ms 22 12 45s900ms 3s825ms 23 12 45s390ms 3s782ms 00 12 46s263ms 3s855ms [ User: labanimal - Total duration: 17m48s - Times executed: 278 ]
-
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-21 08:58:40+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-21 08:58:40+02' AND '2026-04-21 14:58:40+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-21 08:58:40+02' AND '2026-04-21 14:58:40+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-21 14:58:44 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-21 17:58:54+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-21 17:58:54+02' AND '2026-04-21 23:58:54+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-21 17:58:54+02' AND '2026-04-21 23:58:54+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-21 23:58:58 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-21 07:03:35+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-21 07:03:35+02' AND '2026-04-21 13:03:35+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-21 07:03:35+02' AND '2026-04-21 13:03:35+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-21 13:03:39 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
19 46 35s247ms 752ms 805ms 766ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 21 08 1 799ms 799ms 09 1 769ms 769ms 10 3 2s286ms 762ms 11 3 2s336ms 778ms 12 2 1s571ms 785ms 14 4 3s76ms 769ms 15 13 9s916ms 762ms 16 13 9s887ms 760ms 17 6 4s602ms 767ms [ User: labanimal - Total duration: 35s247ms - Times executed: 46 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 35s247ms - Times executed: 46 ]
-
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-21 11:55:18 Duration: 805ms 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-21_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, 489) AS is_owner, user_is_tgm (animals_search_mview.editor, 489) AS is_editor, user_is_tgm (animals_search_mview.tourist, 489) 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-21 10:36:49 Duration: 799ms 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-21_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-21 07:50:33 Duration: 799ms 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-21_000000.csv
20 46 31s710ms 679ms 706ms 689ms select distinct * from ( select animals_search_mview.*, b.unbreeding_date, fates.loc as fate_name, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, string_agg(l."application_id" || ? || l."title" || ? || date(lh."timestamp")::varchar, ?) as licensehistory, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview inner join fates on fates.id = animals_search_mview.fate left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join licenses l on l.id = lh.licid left join breedings b on b.id = animals_search_mview.last_mating group by animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data where data.fate = ? and data.alive = ? and data.deleted = ? and (is_owner or is_editor or is_tourist) and (data.straindeleted = ? or data.straindeleted is null) order by data.cage_name, data.animal_id, data.name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 21 08 1 702ms 702ms 09 1 690ms 690ms 10 3 2s107ms 702ms 11 3 2s100ms 700ms 12 2 1s384ms 692ms 14 4 2s750ms 687ms 15 13 8s925ms 686ms 16 13 8s917ms 685ms 17 6 4s130ms 688ms [ User: labanimal - Total duration: 31s710ms - Times executed: 46 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 31s710ms - Times executed: 46 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, 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, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-21 10:50:25 Duration: 706ms 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-21_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-21 09:38:03 Duration: 706ms 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-21_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 489) AS is_owner, user_is_tgm (animals_search_mview.editor, 489) AS is_editor, user_is_tgm (animals_search_mview.tourist, 489) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-21 10:36:50 Duration: 705ms 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-21_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 3s660ms 4s495ms 3s841ms 278 17m48s 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 21 01 12 46s10ms 3s834ms 02 12 45s555ms 3s796ms 03 12 45s176ms 3s764ms 04 12 45s139ms 3s761ms 05 12 44s944ms 3s745ms 06 12 44s819ms 3s734ms 07 12 45s669ms 3s805ms 08 2 7s727ms 3s863ms 09 12 46s357ms 3s863ms 10 12 45s951ms 3s829ms 11 12 46s124ms 3s843ms 12 12 46s644ms 3s887ms 13 12 46s598ms 3s883ms 14 12 47s343ms 3s945ms 15 12 47s881ms 3s990ms 16 12 46s664ms 3s888ms 17 12 46s662ms 3s888ms 18 12 46s602ms 3s883ms 19 12 46s452ms 3s871ms 20 12 46s45ms 3s837ms 21 12 46s126ms 3s843ms 22 12 45s900ms 3s825ms 23 12 45s390ms 3s782ms 00 12 46s263ms 3s855ms [ User: labanimal - Total duration: 17m48s - Times executed: 278 ]
-
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-21 08:58:40+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-21 08:58:40+02' AND '2026-04-21 14:58:40+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-21 08:58:40+02' AND '2026-04-21 14:58:40+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-21 14:58:44 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-21 17:58:54+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-21 17:58:54+02' AND '2026-04-21 23:58:54+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at BETWEEN '2026-04-21 17:58:54+02' AND '2026-04-21 23:58:54+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-04-21 23:58:58 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod') AND collected_at <= '2026-04-21 07:03:35+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-21 07:03:35+02' AND '2026-04-21 13:03:35+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-21 07:03:35+02' AND '2026-04-21 13:03:35+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-21 13:03:39 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
2 509ms 4s495ms 3s533ms 1,440 1h24m47s create table if not exists observability.uptime_checks ( id bigserial primary key, endpoint text not null, status text not null, latency_ms double precision, checked_at timestamptz not null default now() );Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
3 509ms 4s495ms 3s533ms 1,440 1h24m47s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
4 509ms 4s495ms 3s533ms 1,440 1h24m47s 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 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
5 509ms 4s495ms 3s533ms 1,440 1h24m47s 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 #5
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
6 509ms 4s495ms 3s533ms 1,440 1h24m47s 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 #6
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
7 509ms 4s495ms 3s533ms 1,440 1h24m47s create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
8 509ms 4s495ms 3s533ms 1,440 1h24m47s 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 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
9 509ms 4s495ms 3s533ms 1,440 1h24m47s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
10 509ms 4s495ms 3s533ms 1,440 1h24m47s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
11 509ms 4s495ms 3s533ms 1,440 1h24m47s 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 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
12 509ms 4s495ms 3s533ms 1,440 1h24m47s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
13 509ms 4s495ms 3s533ms 1,440 1h24m47s create schema if not exists observability;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
14 509ms 4s495ms 3s533ms 1,440 1h24m47s 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 #14
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
15 509ms 4s495ms 3s533ms 1,440 1h24m47s 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 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
16 509ms 4s495ms 3s533ms 1,440 1h24m47s 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 #16
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
17 509ms 4s495ms 3s533ms 1,440 1h24m47s 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 #17
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
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-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_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-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
18 509ms 4s495ms 3s533ms 1,440 1h24m47s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 21 01 60 3m38s 3s648ms 02 60 3m42s 3s710ms 03 60 3m45s 3s760ms 04 60 3m45s 3s765ms 05 60 3m44s 3s742ms 06 60 3m43s 3s732ms 07 60 3m44s 3s742ms 08 60 3m14s 3s245ms 09 60 2m59s 2s985ms 10 60 3m5s 3s93ms 11 60 3m3s 3s65ms 12 60 3m43s 3s721ms 13 60 3m50s 3s841ms 14 60 2m41s 2s686ms 15 60 3m2s 3s36ms 16 60 3m11s 3s193ms 17 60 3m25s 3s420ms 18 60 3m41s 3s689ms 19 60 3m43s 3s718ms 20 60 3m51s 3s851ms 21 60 3m50s 3s846ms 22 60 3m47s 3s784ms 23 60 3m46s 3s781ms 00 60 3m44s 3s735ms [ User: labanimal - Total duration: 1h24m47s - Times executed: 1437 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-21 15:03:01 Duration: 4s495ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-21 23:59:01 Duration: 4s214ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-21 13:08:01 Duration: 4s118ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
19 752ms 805ms 766ms 46 35s247ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 21 08 1 799ms 799ms 09 1 769ms 769ms 10 3 2s286ms 762ms 11 3 2s336ms 778ms 12 2 1s571ms 785ms 14 4 3s76ms 769ms 15 13 9s916ms 762ms 16 13 9s887ms 760ms 17 6 4s602ms 767ms [ User: labanimal - Total duration: 35s247ms - Times executed: 46 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 35s247ms - Times executed: 46 ]
-
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-21 11:55:18 Duration: 805ms 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-21_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, 489) AS is_owner, user_is_tgm (animals_search_mview.editor, 489) AS is_editor, user_is_tgm (animals_search_mview.tourist, 489) 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-21 10:36:49 Duration: 799ms 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-21_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-21 07:50:33 Duration: 799ms 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-21_000000.csv
20 679ms 706ms 689ms 46 31s710ms select distinct * from ( select animals_search_mview.*, b.unbreeding_date, fates.loc as fate_name, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, string_agg(l."application_id" || ? || l."title" || ? || date(lh."timestamp")::varchar, ?) as licensehistory, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview inner join fates on fates.id = animals_search_mview.fate left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join licenses l on l.id = lh.licid left join breedings b on b.id = animals_search_mview.last_mating group by animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data where data.fate = ? and data.alive = ? and data.deleted = ? and (is_owner or is_editor or is_tourist) and (data.straindeleted = ? or data.straindeleted is null) order by data.cage_name, data.animal_id, data.name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 21 08 1 702ms 702ms 09 1 690ms 690ms 10 3 2s107ms 702ms 11 3 2s100ms 700ms 12 2 1s384ms 692ms 14 4 2s750ms 687ms 15 13 8s925ms 686ms 16 13 8s917ms 685ms 17 6 4s130ms 688ms [ User: labanimal - Total duration: 31s710ms - Times executed: 46 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 31s710ms - Times executed: 46 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, 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, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-21 10:50:25 Duration: 706ms 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-21_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-21 09:38:03 Duration: 706ms 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-21_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 489) AS is_owner, user_is_tgm (animals_search_mview.editor, 489) AS is_editor, user_is_tgm (animals_search_mview.tourist, 489) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-04-21 10:36:50 Duration: 705ms 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-21_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
- 200,641 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
- 11 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 6 Max number of times the same event was reported
- 11 Total events found
Rank Times reported Error 1 6 ERROR: column reference "..." is ambiguous
Times Reported Most Frequent Error / Event #1
Day Hour Count Apr 21 00 6 - ERROR: column reference "time_issued" is ambiguous
- ERROR: column reference "time_issued" is ambiguous
- ERROR: column reference "time_issued" is ambiguous
Statement: SELECT tk.id, tk.parent, parent_task.name AS parent_name, tk.name, tk.deadline as deadline, tk.done, tk.active, tk.task_status, tk.owner, tk.editor, tk.agent, users."fullName" AS issuer, time_issued FROM tasks tk LEFT JOIN tasks parent_task ON parent_task.id = tk.parent LEFT JOIN users ON users.id = tk.issuer LEFT JOIN "targetgroupMembers" tgm ON tgm.targetgroup = tk.agent WHERE ( tgm.user = 1 AND tgm.targetgroup = tk.agent) AND ( (NOT(tk.done) AND (tk.task_status = '2' OR tk.task_status = '4' OR tk.task_status = '6')) OR (tk.task_status = '5' AND tk.time_completed + interval '1 days' > NOW())) AND NOT (tk.task_status = '3') AND NOT (tk.deleted) GROUP BY tk.id, tk.parent, parent_task.name, tk.owner, tk.editor, tk.agent, tk.deadline, tk.prio_owner, tk.prio_agent, users."fullName" ORDER BY tk.deadline ASC, time_issued DESC
Date: 2026-04-21 23:53:31 Database: zemm_produktiv_7 Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
Statement: SELECT tk.id, tk.parent, parent_task.name AS parent_name, tk.name, tk.deadline as deadline, tk.done, tk.active, tk.task_status, tk.owner, tk.editor, tk.agent, users."fullName" AS issuer, time_issued FROM tasks tk LEFT JOIN tasks parent_task ON parent_task.id = tk.parent LEFT JOIN users ON users.id = tk.issuer LEFT JOIN "targetgroupMembers" tgm ON tgm.targetgroup = tk.agent WHERE ( tgm.user = 1 AND tgm.targetgroup = tk.agent) AND ( (NOT(tk.done) AND (tk.task_status = '2' OR tk.task_status = '4' OR tk.task_status = '6')) OR (tk.task_status = '5' AND tk.time_completed + interval '1 days' > NOW())) AND NOT (tk.task_status = '3') AND NOT (tk.deleted) GROUP BY tk.id, tk.parent, parent_task.name, tk.owner, tk.editor, tk.agent, tk.deadline, tk.prio_owner, tk.prio_agent, users."fullName" ORDER BY tk.deadline ASC, time_issued DESC
Date: 2026-04-21 23:54:25 Database: zemm_produktiv_7 Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
Statement: SELECT tk.id, tk.parent, parent_task.name AS parent_name, tk.name, tk.deadline as deadline, tk.done, tk.active, tk.task_status, tk.owner, tk.editor, tk.agent, users."fullName" AS issuer, time_issued FROM tasks tk LEFT JOIN tasks parent_task ON parent_task.id = tk.parent LEFT JOIN users ON users.id = tk.issuer LEFT JOIN "targetgroupMembers" tgm ON tgm.targetgroup = tk.agent WHERE ( tgm.user = 1 AND tgm.targetgroup = tk.agent) AND ( (NOT(tk.done) AND (tk.task_status = '2' OR tk.task_status = '4' OR tk.task_status = '6')) OR (tk.task_status = '5' AND tk.time_completed + interval '1 days' > NOW())) AND NOT (tk.task_status = '3') AND NOT (tk.deleted) GROUP BY tk.id, tk.parent, parent_task.name, tk.owner, tk.editor, tk.agent, tk.deadline, tk.prio_owner, tk.prio_agent, users."fullName" ORDER BY tk.deadline ASC, time_issued DESC
Date: 2026-04-21 23:54:33 Database: zemm_produktiv_7 Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
2 5 ERROR: invalid input syntax for type boolean: ...
Times Reported Most Frequent Error / Event #2
Day Hour Count Apr 21 09 1 13 2 18 2 - ERROR: invalid input syntax for type boolean: ""
- ERROR: invalid input syntax for type boolean: ""
- ERROR: invalid input syntax for type boolean: ""
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id INNER JOIN "groupMembers" gm ON gm."group" = g.id AND gm."user" = 10100224 WHERE NOT(a.deleted) AND ( (a."deathDate" IS NOT NULL AND a."deathDate" >= '2026-01-01'::DATE AND a."deathDate" <= '2026-12-31'::DATE) OR (a."outgoingDate" IS NOT NULL AND a."outgoingDate" >= '2026-01-01'::DATE AND a."outgoingDate" <= '2026-12-31'::DATE) OR (a.fate IN (1, 10, 11, 13, 14, 15, 9, 4) AND a."deathDate" IS NULL AND a."outgoingDate" IS NULL) ) ORDER BY g.name, l.application_id, a.id
Date: 2026-04-21 08:55:09 Database: zemm_produktiv_8 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id WHERE NOT(a.deleted) AND ( (a."deathDate" IS NOT NULL AND a."deathDate" >= '2026-01-01'::DATE AND a."deathDate" <= '2026-12-31'::DATE) OR (a."outgoingDate" IS NOT NULL AND a."outgoingDate" >= '2026-01-01'::DATE AND a."outgoingDate" <= '2026-12-31'::DATE) OR (a.fate IN (1, 10, 11, 13, 14, 15, 9, 4) AND a."deathDate" IS NULL AND a."outgoingDate" IS NULL) ) ORDER BY g.name, l.application_id, a.id
Date: 2026-04-21 12:07:32 Database: zemm_produktiv_8 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv
Statement: SELECT a.id AS animal_id, COALESCE(a."animalID", a.identification, '') AS animal_identifier, a.fate, COALESCE(a."fateComment", '') AS fate_comment, a."deathDate" AS death_date, a."outgoingDate" AS outgoing_date, a."birthDate" AS birth_date, COALESCE(a.sex, '') AS sex, COALESCE(a.transgen, 0) AS transgen, COALESCE(a."geneStatus", '') AS gene_status, COALESCE(a."geneFlanking", '') AS gene_flanking, COALESCE(a."geneDeleted", '') AS gene_deleted, COALESCE(a.genecomment, '') AS gene_comment, COALESCE(a.project, '') AS project_id, COALESCE(a."plannedUseFor", '') AS planned_use_for, COALESCE(l.id, 0) AS license_id, COALESCE(l.application_id, '') AS application_id, COALESCE(l.az, '') AS az, COALESCE(l.title, '') AS license_title, COALESCE(l.category, 0) AS license_category, COALESCE(l.permission, '') AS permission, COALESCE(g.name, '') AS workgroup, COALESCE(s.line_abnormality, '') AS line_abnormality, COALESCE(s.cancel_criteria, '') AS cancel_criteria, COALESCE(s.severityid, 0) AS strain_severityid, COALESCE(stress.max_score, 0)::numeric AS stress_hint_score FROM animals a LEFT JOIN licenses l ON (a.project ~ '^[0-9]+$' AND l.id = CAST(a.project AS BIGINT)) LEFT JOIN groups g ON g.id = l.workgroup LEFT JOIN strains s ON s.id = a.strain LEFT JOIN ( SELECT sd.animals_id AS animal_id, MAX(sl."maxvalue") AS max_score FROM scoresheet_diary sd INNER JOIN stresslevel_response slr ON slr.scoresheet_response_id = sd.scoresheet_response_id INNER JOIN stress_levels sl ON sl.id = slr.stresslevel_id GROUP BY sd.animals_id ) stress ON stress.animal_id = a.id WHERE NOT(a.deleted) AND ( (a."deathDate" IS NOT NULL AND a."deathDate" >= '2026-01-01'::DATE AND a."deathDate" <= '2026-12-31'::DATE) OR (a."outgoingDate" IS NOT NULL AND a."outgoingDate" >= '2026-01-01'::DATE AND a."outgoingDate" <= '2026-12-31'::DATE) OR (a.fate IN (1, 10, 11, 13, 14, 15, 9, 4) AND a."deathDate" IS NULL AND a."outgoingDate" IS NULL) ) ORDER BY g.name, l.application_id, a.id
Date: 2026-04-21 12:07:35 Database: zemm_produktiv_8 Application: _desktop_index.php_command_reports_subcommand_authority_meldung User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-21_000000.csv