-
Global information
- Generated on Thu Apr 30 06:05:41 2026
- Log file: /var/log/postgresql/postgresql-2026-03-25_000000.csv, ..., /var/log/postgresql/postgresql-2026-04-30_000000.csv
- Parsed 187,572 log entries in 5m40s
- Log start from 2026-04-05 00:00:01 to 2026-04-05 23:59:06
-
Overview
Global Stats
- 22 Number of unique normalized queries
- 19,012 Number of queries
- 16h25m44s Total query duration
- 2026-04-05 00:00:01 First query
- 2026-04-05 23:59:06 Last query
- 14 queries/s at 2026-04-05 22:06:01 Query peak
- 16h25m44s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 16h25m44s Execute total duration
- 296 Number of events
- 5 Number of unique normalized events
- 277 Max number of times the same event was reported
- 0 Number of cancellation
- 12 Total number of automatic vacuums
- 15 Total number of automatic analyzes
- 276 Number temporary file
- 493.35 MiB Max size of temporary file
- 84.22 MiB Average size of temporary file
- 15,774 Total number of sessions
- 27 sessions at 2026-04-05 23:37:54 Session peak
- 1h9m8s Total duration of sessions
- 262ms Average duration of sessions
- 1 Average queries per session
- 3s749ms Average queries duration per session
- 0ms Average idle time per session
- 16,051 Total number of connections
- 55 connections/s at 2026-04-05 23:37:54 Connection peak
- 3 Total number of databases
SQL Traffic
Key values
- 14 queries/s Query Peak
- 2026-04-05 22:06:01 Date
SELECT Traffic
Key values
- 1 queries/s Query Peak
- 2026-04-05 14:59:44 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 14 queries/s Query Peak
- 2026-04-05 22:06:01 Date
Queries duration
Key values
- 16h25m44s 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 05 00 780 0ms 0ms 0ms 0ms 0ms 0ms 01 781 0ms 1s224ms 592ms 15s920ms 15s920ms 15s920ms 02 780 1s224ms 1s224ms 1s224ms 15s920ms 15s920ms 15s920ms 03 780 1s224ms 1s224ms 1s224ms 15s920ms 15s920ms 15s920ms 04 780 1s224ms 1s224ms 1s224ms 15s920ms 15s920ms 15s920ms 05 787 1s224ms 4s250ms 1s882ms 52s352ms 53s638ms 1m 06 780 2s792ms 2s792ms 2s792ms 36s300ms 36s300ms 36s300ms 07 780 2s792ms 2s792ms 2s792ms 36s300ms 36s300ms 36s300ms 08 780 2s792ms 2s792ms 2s792ms 36s300ms 36s300ms 36s300ms 09 798 2s786ms 3s860ms 2s942ms 41s836ms 42s463ms 53s155ms 10 798 2s683ms 2s909ms 2s766ms 39s238ms 39s905ms 40s659ms 11 798 2s670ms 2s762ms 2s722ms 38s345ms 38s499ms 38s652ms 12 798 2s670ms 2s774ms 2s715ms 38s224ms 38s396ms 38s796ms 13 801 2s668ms 2s814ms 2s719ms 38s216ms 40s991ms 41s615ms 14 800 623ms 7s392ms 2s786ms 39s106ms 39s291ms 44s623ms 15 796 623ms 3s345ms 2s877ms 40s700ms 41s294ms 45s27ms 16 795 815ms 3s244ms 2s477ms 40s894ms 41s191ms 42s999ms 17 794 815ms 3s34ms 2s483ms 39s452ms 40s692ms 42s229ms 18 788 2s706ms 5s909ms 2s983ms 41s207ms 1m16s 1m16s 19 805 807ms 5s909ms 4s477ms 1m12s 1m15s 1m24s 20 798 2s937ms 5s179ms 4s923ms 1m11s 1m12s 1m12s 21 798 2s894ms 5s179ms 4s917ms 1m11s 1m12s 1m12s 22 802 840ms 5s643ms 4s573ms 1m12s 1m12s 1m17s 23 815 570ms 42s821ms 13s238ms 8m36s 9m16s 9m56s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 05 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 0 0 0ms 0ms 0ms 0ms 08 0 0 0ms 0ms 0ms 0ms 09 0 0 0ms 0ms 0ms 0ms 10 0 0 0ms 0ms 0ms 0ms 11 0 0 0ms 0ms 0ms 0ms 12 0 0 0ms 0ms 0ms 0ms 13 0 0 0ms 0ms 0ms 0ms 14 1 0 623ms 0ms 0ms 0ms 15 0 0 0ms 0ms 0ms 0ms 16 0 0 0ms 0ms 0ms 0ms 17 0 0 0ms 0ms 0ms 0ms 18 0 0 0ms 0ms 0ms 0ms 19 0 0 0ms 0ms 0ms 0ms 20 0 0 0ms 0ms 0ms 0ms 21 0 0 0ms 0ms 0ms 0ms 22 0 0 0ms 0ms 0ms 0ms 23 0 5 1s332ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) Apr 05 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s224ms 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 05 00 0 0 0.00 0.00% 01 0 0 0.00 0.00% 02 0 0 0.00 0.00% 03 0 0 0.00 0.00% 04 0 0 0.00 0.00% 05 0 7 7.00 0.00% 06 0 0 0.00 0.00% 07 0 0 0.00 0.00% 08 0 0 0.00 0.00% 09 0 18 18.00 0.00% 10 0 18 18.00 0.00% 11 0 18 18.00 0.00% 12 0 18 18.00 0.00% 13 0 21 21.00 0.00% 14 0 18 18.00 0.00% 15 0 16 16.00 0.00% 16 0 12 12.00 0.00% 17 0 12 12.00 0.00% 18 0 8 8.00 0.00% 19 0 23 23.00 0.00% 20 0 18 18.00 0.00% 21 0 18 18.00 0.00% 22 0 21 21.00 0.00% 23 0 28 28.00 0.00% Day Hour Count Average / Second Apr 05 00 244 0.07/s 01 253 0.07/s 02 250 0.07/s 03 244 0.07/s 04 244 0.07/s 05 427 0.12/s 06 247 0.07/s 07 244 0.07/s 08 244 0.07/s 09 765 0.21/s 10 766 0.21/s 11 931 0.26/s 12 774 0.21/s 13 856 0.24/s 14 863 0.24/s 15 756 0.21/s 16 1,008 0.28/s 17 949 0.26/s 18 796 0.22/s 19 1,235 0.34/s 20 754 0.21/s 21 754 0.21/s 22 997 0.28/s 23 1,450 0.40/s Day Hour Count Average Duration Average idle time Apr 05 00 244 293ms 293ms 01 250 292ms 0ms 02 248 289ms 0ms 03 244 292ms 0ms 04 244 292ms 0ms 05 427 261ms 0ms 06 245 290ms 0ms 07 244 291ms 0ms 08 244 291ms 0ms 09 765 270ms 0ms 10 766 219ms 0ms 11 931 196ms 0ms 12 770 224ms 0ms 13 856 218ms 0ms 14 862 244ms 0ms 15 756 232ms 0ms 16 1,008 206ms 0ms 17 947 216ms 0ms 18 531 226ms 0ms 19 1,237 243ms 0ms 20 754 261ms 0ms 21 754 261ms 0ms 22 997 246ms 0ms 23 1,450 472ms 0ms -
Connections
Established Connections
Key values
- 55 connections Connection Peak
- 2026-04-05 23:37:54 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 16,051 connections Total
Connections per user
Key values
- labanimal Main User
- 16,051 connections Total
-
Sessions
Simultaneous sessions
Key values
- 27 sessions Session Peak
- 2026-04-05 23:37:54 Date
Histogram of session times
Key values
- 13,748 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 15,774 sessions Total
Sessions per user
Key values
- labanimal Main User
- 15,774 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 15,774 sessions Total
Sessions per application
Key values
- Main Application
- 15,774 sessions Total
Application Count Total Duration Average Duration 15,027 1h6m56s 267ms _backend_cage_autocomplete_api.php_q_2025_limit_12_zemm_produkt 10 269ms 26ms _backend_cage_autocomplete_api.php_q_55-065_limit_12_zemm_produ 10 269ms 26ms _backend_wean_api.php_litter_id_10130227_zemm_produktiv_7_local 50 7s94ms 141ms _backend_wean_api.php_litter_id_10130236_zemm_produktiv_7_local 49 7s395ms 150ms _backend_wean_api.php_litter_id_10130257_zemm_produktiv_7_local 60 8s880ms 148ms _desktop__zemm_produktiv_7_localhost_5432 12 1s108ms 92ms _desktop_index.php_command_animals_breedings_subcommand_select_ 11 610ms 55ms _desktop_index.php_command_animals_create_subcommand_init_zemm_ 11 707ms 64ms _desktop_index.php_command_animals_edit_subcommand_link_init_va 10 1s141ms 114ms _desktop_index.php_command_animals_edit_subcommand_m_init_scree 10 1s203ms 120ms _desktop_index.php_command_animals_litters_edit_subcommand_init 10 1s97ms 109ms _desktop_index.php_command_animals_litters_edit_subcommand_m_in 10 3s237ms 323ms _desktop_index.php_command_animals_litters_subcommand_select_ze 11 554ms 50ms _desktop_index.php_command_animals_subcommand_select_zemm_produ 11 905ms 82ms _desktop_index.php_command_licences_subcommand_create_zemm_prod 1 60ms 60ms _desktop_index.php_command_licences_subcommand_edit_id_10100119 1 53ms 53ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 68 1s967ms 28ms _desktop_index.php_command_reports_subcommand_animals_per_room_ 2 270ms 135ms _desktop_index.php_command_reports_subcommand_fates_zemm_produk 10 1s235ms 123ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 20 6s413ms 320ms _desktop_index.php_command_tasks_subcommand_edit_id_10134267_ze 10 898ms 89ms _desktop_index.php_command_tasks_subcommand_init_search_zemm_pr 10 485ms 48ms _desktop_index.php_command_tasks_subcommand_search_zemm_produkt 11 516ms 46ms _desktop_index.php_zemm_produktiv_7_localhost_5432 219 1m2s 286ms _desktop_index.php_zemm_produktiv_8_localhost_5432 57 6s266ms 109ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s249ms 1s249ms pg_dump 1 12s217ms 12s217ms psql 13 163ms 12ms taskscron:zemm_produktiv_7@zemm.fbiscience.eu 24 611ms 25ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 1s877ms 78ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 18,606 buffers Checkpoint Peak
- 2026-04-05 01:36:14 Date
- 269.878 seconds Highest write time
- 0.621 seconds Sync time
Checkpoints Wal files
Key values
- 6 files Wal files usage Peak
- 2026-04-05 01:36:14 Date
Checkpoints distance
Key values
- 178.54 Mo Distance Peak
- 2026-04-05 01:36:14 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time Apr 05 00 2,361 236.796s 0.078s 236.924s 01 20,496 459.332s 0.083s 459.469s 02 2,112 211.853s 0.098s 212.002s 03 2,104 211.037s 0.1s 211.189s 04 2,378 238.393s 0.088s 238.536s 05 11,064 457.612s 0.081s 457.744s 06 2,125 213.162s 0.088s 213.304s 07 2,064 207.031s 0.096s 207.178s 08 5,874 470.628s 0.081s 470.758s 09 6,610 539.587s 0.627s 540.447s 10 2,843 285.082s 0.094s 285.233s 11 3,274 328.179s 0.097s 328.326s 12 2,834 284.178s 0.08s 284.314s 13 2,989 299.705s 0.083s 299.842s 14 2,480 248.627s 0.08s 248.759s 15 2,888 290.097s 0.106s 290.255s 16 3,713 372.734s 0.189s 373.46s 17 3,863 387.382s 0.71s 388.218s 18 3,239 324.463s 0.079s 324.603s 19 4,265 427.223s 0.089s 427.372s 20 3,483 349.066s 0.073s 349.193s 21 3,771 377.821s 0.071s 377.954s 22 3,898 390.652s 0.08s 390.789s 23 4,180 418.843s 0.106s 419.008s Day Hour Added Removed Recycled Synced files Longest sync Average sync Apr 05 00 0 0 1 344 0.002s 0.012s 01 0 0 6 338 0.002s 0.011s 02 0 0 1 349 0.002s 0.012s 03 0 0 1 346 0.002s 0.012s 04 0 0 1 343 0.002s 0.012s 05 0 0 2 319 0.002s 0.011s 06 0 0 1 326 0.002s 0.012s 07 0 0 1 320 0.006s 0.012s 08 0 0 1 327 0.002s 0.011s 09 0 0 1 374 0.019s 0.029s 10 0 0 1 365 0.002s 0.012s 11 0 0 1 485 0.002s 0.012s 12 0 0 1 356 0.002s 0.012s 13 0 0 1 348 0.002s 0.012s 14 0 0 1 348 0.002s 0.012s 15 0 0 1 389 0.010s 0.012s 16 0 0 1 440 0.036s 0.012s 17 0 0 1 444 0.288s 0.033s 18 0 0 1 380 0.001s 0.012s 19 0 0 1 443 0.005s 0.012s 20 0 0 1 355 0.002s 0.012s 21 0 0 1 353 0.001s 0.012s 22 0 0 2 392 0.002s 0.012s 23 0 0 1 487 0.011s 0.012s Day Hour Count Avg time (sec) Apr 05 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 05 00 1,087.92 kB 1,286.67 kB 01 9,348.18 kB 34,839.09 kB 02 1,040.33 kB 32,989.67 kB 03 1,041.42 kB 10,063.33 kB 04 1,107.75 kB 3,608.75 kB 05 3,675.09 kB 6,560.45 kB 06 1,079.00 kB 14,564.92 kB 07 1,056.67 kB 4,886.83 kB 08 1,897.55 kB 6,223.18 kB 09 2,344.73 kB 8,112.64 kB 10 1,171.00 kB 3,879.75 kB 11 1,278.25 kB 2,007.92 kB 12 1,145.58 kB 1,414.33 kB 13 1,186.83 kB 1,464.08 kB 14 1,081.17 kB 1,338.00 kB 15 1,327.75 kB 2,401.67 kB 16 1,685.67 kB 2,387.08 kB 17 1,648.75 kB 2,752.83 kB 18 1,318.17 kB 2,144.58 kB 19 1,783.33 kB 3,475.67 kB 20 1,366.67 kB 2,311.75 kB 21 1,413.42 kB 1,651.42 kB 22 1,552.17 kB 1,943.83 kB 23 1,730.25 kB 2,959.75 kB -
Temporary Files
Size of temporary files
Key values
- 493.35 MiB Temp Files size Peak
- 2026-04-05 23:56:37 Date
Number of temporary files
Key values
- 5 per second Temp Files Peak
- 2026-04-05 23:38:08 Date
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size Apr 05 00 0 0 0 01 0 0 0 02 0 0 0 03 0 0 0 04 0 0 0 05 6 276.06 MiB 46.01 MiB 06 0 0 0 07 0 0 0 08 0 0 0 09 17 785.86 MiB 46.23 MiB 10 18 821.06 MiB 45.61 MiB 11 18 819.92 MiB 45.55 MiB 12 18 819.92 MiB 45.55 MiB 13 21 956.39 MiB 45.54 MiB 14 18 819.95 MiB 45.55 MiB 15 16 728.70 MiB 45.54 MiB 16 12 546.73 MiB 45.56 MiB 17 12 546.71 MiB 45.56 MiB 18 8 468.62 MiB 58.58 MiB 19 23 2.35 GiB 104.60 MiB 20 18 2.03 GiB 115.36 MiB 21 18 2.03 GiB 115.48 MiB 22 21 2.47 GiB 120.61 MiB 23 32 6.41 GiB 205.04 MiB Queries generating the most temporary files (N)
Rank Count Total size Min size Max size Avg size Query 1 4 272.79 MiB 61.12 MiB 75.05 MiB 68.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 (...) 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', 'test', 'dev') AND collected_at <= '2026-04-05 11:41:57+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:57+02' AND '2026-04-05 23:41:57+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:57+02' AND '2026-04-05 23:41:57+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 '5' OFFSET '0';
Date: 2026-04-05 23:42:40 Duration: 42s821ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-05_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', 'test', 'dev') AND collected_at <= '2026-04-05 11:41:50+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:50+02' AND '2026-04-05 23:41:50+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:50+02' AND '2026-04-05 23:41:50+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-05 23:42:32 Duration: 42s517ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-05_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', 'test', 'dev') AND collected_at <= '2026-04-05 11:40:58+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:40:58+02' AND '2026-04-05 23:40:58+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:40:58+02' AND '2026-04-05 23:40:58+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-05 23:41:38 Duration: 40s106ms Database: zemm_monitoring User: labanimal Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
Queries generating the largest temporary files
Rank Size Query 1 75.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, $2) AND collected_at <= $3 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 ($4, $5) AND collected_at BETWEEN $6 AND $7 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 ($8, $9) AND collected_at BETWEEN $10 AND $11 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 $12 OFFSET $13;[ Date: 2026-04-05 23:38:08 - Queryid: 354690 ]
2 72.02 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 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 ($4, $5) AND collected_at BETWEEN $6 AND $7 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 ($8, $9) AND collected_at BETWEEN $10 AND $11 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 $12 OFFSET $13;[ Date: 2026-04-05 23:38:08 - Queryid: 354690 ]
3 64.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, $2) AND collected_at <= $3 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 ($4, $5) AND collected_at BETWEEN $6 AND $7 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 ($8, $9) AND collected_at BETWEEN $10 AND $11 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 $12 OFFSET $13;[ Date: 2026-04-05 23:38:08 - Queryid: 354690 ]
4 61.12 MiB WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ($1, $2) AND collected_at <= $3 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 ($4, $5) AND collected_at BETWEEN $6 AND $7 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 ($8, $9) AND collected_at BETWEEN $10 AND $11 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 $12 OFFSET $13;[ Date: 2026-04-05 23:38:08 - Queryid: 354690 ]
-
Vacuums
Vacuums / Analyzes Distribution
Key values
- 1.35 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-04-05 07:57:04 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_monitoring - Date
Average Autovacuum Duration
Key values
- 1.35 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-04-05 07:57:04 Date
Analyzes per table
Key values
- pg_catalog.pg_type (2) Main table analyzed (database zemm_produktiv_8)
- 15 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 2 zemm_produktiv_8.pg_catalog.pg_attribute 2 zemm_produktiv_8.public.tasks 1 zemm_monitoring.observability.db_top_queries 1 zemm_monitoring.observability.system_metrics 1 zemm_monitoring.observability.metrics_timeseries 1 zemm_produktiv_8.pg_catalog.pg_class 1 zemm_produktiv_7.pg_catalog.pg_depend 1 zemm_produktiv_7.pg_catalog.pg_type 1 zemm_produktiv_7.public.users 1 zemm_produktiv_7.pg_catalog.pg_attribute 1 zemm_produktiv_8.pg_catalog.pg_depend 1 zemm_produktiv_7.pg_catalog.pg_class 1 Total 15 Vacuums per table
Key values
- pg_toast.pg_toast_67431 (6) Main table vacuumed on database zemm_monitoring
- 12 vacuums Total
Index Buffer usage Skipped WAL usage Frozen Table Vacuums scans hits misses dirtied pins frozen records full page bytes pages tuples zemm_monitoring.pg_toast.pg_toast_67431 6 0 0 0 0 0 0 4,585 1,540 3,508,090 1,512 9,072 zemm_produktiv_8.pg_catalog.pg_type 1 1 0 0 0 0 0 49 12 11,582 0 0 zemm_produktiv_7.pg_catalog.pg_class 1 1 0 0 0 0 0 101 36 44,210 19 271 zemm_monitoring.pg_toast.pg_toast_2619 1 1 0 0 0 0 0 110 28 161,044 8 26 zemm_produktiv_7.pg_catalog.pg_attribute 1 1 0 0 0 0 0 248 99 122,825 36 1,291 zemm_monitoring.observability.metrics_timeseries 1 1 0 0 0 0 0 9,312 4,084 8,256,095 1,024 23,560 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 43,917 16 3,123,629 0 0 Total 12 6 0 0 0 0 0 58,322 5,815 15,227,475 2,599 34,220 Vacuum throughput per table
Key values
- observability.metrics_timeseries (1.35) Max CPU elapsed for vacuum on database zemm_monitoring
- observability.metrics_timeseries (9.587 ms) Max I/O read time for vacuum on database zemm_monitoring
- observability.metrics_timeseries (4.123 ms) Max I/O write time for vacuum on database zemm_monitoring
I/O timing (ms) CPU (s) Table read write elapsed zemm_monitoring.pg_toast.pg_toast_67431 2.308 0 0.36 zemm_produktiv_8.pg_catalog.pg_type 0.211 0 0 zemm_produktiv_7.pg_catalog.pg_class 1.433 0 0.01 zemm_monitoring.pg_toast.pg_toast_2619 0.346 0 0.01 zemm_produktiv_7.pg_catalog.pg_attribute 1.948 0 0.03 zemm_monitoring.observability.metrics_timeseries 9.587 4.123 1.35 zemm_produktiv_8.public.tasks 1.017 0 0.57 Total 16.85 4.123 2.33 Tuples removed per table
Key values
- public.tasks (53575) Main table with removed tuples on database zemm_produktiv_8
- 93696 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 53,575 56,669 0 0 16,677 zemm_monitoring.observability.metrics_timeseries 1 1 38,758 287,645 0 0 6,155 zemm_produktiv_7.pg_catalog.pg_attribute 1 1 918 6,932 0 0 190 zemm_produktiv_8.pg_catalog.pg_type 1 1 214 831 0 0 31 zemm_produktiv_7.pg_catalog.pg_class 1 1 169 894 0 0 39 zemm_monitoring.pg_toast.pg_toast_2619 1 1 62 80 0 5 32 zemm_monitoring.pg_toast.pg_toast_67431 6 0 0 1,808,568 0 0 302,522 Total 12 6 93,696 2,161,619 0 5 325,646 Pages removed per table
Key values
- pg_toast.pg_toast_2619 (5) Main table with removed pages on database zemm_monitoring
- 5 pages Total removed
Table Number of vacuums Index scans Tuples removed Pages removed zemm_monitoring.pg_toast.pg_toast_2619 1 1 62 5 zemm_produktiv_8.pg_catalog.pg_type 1 1 214 0 zemm_produktiv_7.pg_catalog.pg_class 1 1 169 0 zemm_produktiv_7.pg_catalog.pg_attribute 1 1 918 0 zemm_monitoring.observability.metrics_timeseries 1 1 38758 0 zemm_produktiv_8.public.tasks 1 1 53575 0 zemm_monitoring.pg_toast.pg_toast_67431 6 0 0 0 Total 12 6 93,696 5 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs Apr 05 00 1 0 01 1 1 02 0 0 03 0 0 04 1 0 05 0 0 06 0 1 07 1 0 08 0 0 09 1 0 10 0 0 11 1 6 12 0 0 13 1 0 14 1 1 15 0 1 16 1 0 17 1 4 18 0 0 19 0 1 20 0 0 21 1 0 22 1 0 23 0 0 - 1.35 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
- 1 Total read queries
- 19,011 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 18,994 Requests
- 16h25m20s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- labanimal Main user
- 245,059 Requests
User Request type Count Duration deploy Total 48 14m17s cte 4 1m18s ddl 27 4m22s others 2 1s624ms select 9 6m3s labanimal Total 245,059 5d10h48m18s copy from 8 18s286ms copy to 64 2m58s cte 728 42m2s ddl 243,181 5d9h42m36s others 164 1m26s select 888 18m27s tcl 2 1s129ms update 13 13s929ms postgres Total 66 1m26s copy to 66 1m26s Duration by user
Key values
- 5d10h48m18s (labanimal) Main time consuming user
User Request type Count Duration deploy Total 48 14m17s cte 4 1m18s ddl 27 4m22s others 2 1s624ms select 9 6m3s labanimal Total 245,059 5d10h48m18s copy from 8 18s286ms copy to 64 2m58s cte 728 42m2s ddl 243,181 5d9h42m36s others 164 1m26s select 888 18m27s tcl 2 1s129ms update 13 13s929ms postgres Total 66 1m26s copy to 66 1m26s Queries by host
Key values
- unknown Main host
- 245,045 Requests
- 5d10h45m8s (unknown)
- Main time consuming host
Host Request type Count Duration 81.169.238.237 Total 14 3m10s select 1 2m56s update 13 13s929ms [local] Total 114 15m44s copy to 66 1m26s cte 4 1m18s ddl 27 4m22s others 2 1s624ms select 9 6m3s unknown Total 245,045 5d10h45m8s copy from 8 18s286ms copy to 64 2m58s cte 728 42m2s ddl 243,181 5d9h42m36s others 164 1m26s select 887 15m31s tcl 2 1s129ms Queries by application
Key values
- unknown Main application
- 18,994 Requests
- 16h25m20s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_zemm_produktiv_7_localhost_5432 Total 12 16s398ms cte 11 15s774ms select 1 623ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s224ms update 1 1s224ms pg_dump Total 5 6s662ms copy to 5 6s662ms unknown Total 18,994 16h25m20s cte 274 21m15s ddl 18,720 16h4m4s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-04-05 13:32:23 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 270 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 42s821ms 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', 'test', 'dev') AND collected_at <= '2026-04-05 11:41:57+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:57+02' AND '2026-04-05 23:41:57+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:57+02' AND '2026-04-05 23:41:57+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 '5' OFFSET '0';[ Date: 2026-04-05 23:42:40 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
2 42s821ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
3 42s821ms 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-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
4 42s821ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
5 42s821ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
6 42s821ms 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-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
7 42s821ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
8 42s821ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-04-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
9 42s821ms 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-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
10 42s821ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-04-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
11 42s821ms 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-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
12 42s821ms 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-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
13 42s821ms 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-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
14 42s821ms 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-05 23:43:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
15 42s821ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-04-05 23:44:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
16 42s821ms 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-05 23:44:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
17 42s821ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-04-05 23:44:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
18 42s821ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-04-05 23:44:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
19 42s821ms 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-05 23:44:01 - Database: zemm_monitoring - User: labanimal - Bind query: yes ]
20 42s821ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-04-05 23:44: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 1h14m9s 1,440 623ms 42s821ms 3s89ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
2 1h14m9s 1,440 623ms 42s821ms 3s89ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
3 1h14m9s 1,440 623ms 42s821ms 3s89ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
4 1h14m9s 1,440 623ms 42s821ms 3s89ms 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 #4
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
5 1h14m9s 1,440 623ms 42s821ms 3s89ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
6 1h14m9s 1,440 623ms 42s821ms 3s89ms 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 #6
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
7 1h14m9s 1,440 623ms 42s821ms 3s89ms 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 #7
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
8 1h14m9s 1,440 623ms 42s821ms 3s89ms create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
9 1h14m9s 1,440 623ms 42s821ms 3s89ms 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 #9
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
10 1h14m9s 1,440 623ms 42s821ms 3s89ms create schema if not exists observability;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
11 1h14m9s 1,440 623ms 42s821ms 3s89ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
12 1h14m9s 1,440 623ms 42s821ms 3s89ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
13 1h14m9s 1,440 623ms 42s821ms 3s89ms 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 #13
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
14 21m15s 274 2s668ms 42s821ms 4s655ms 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 #14
Day Hour Count Duration Avg duration Apr 05 06 7 25s344ms 3s620ms 10 18 54s759ms 3s42ms 11 18 49s775ms 2s765ms 12 18 48s995ms 2s721ms 13 18 48s898ms 2s716ms 14 21 57s251ms 2s726ms 15 18 49s806ms 2s767ms 16 16 46s511ms 2s906ms 17 12 34s238ms 2s853ms 18 12 34s233ms 2s852ms 19 8 25s284ms 3s160ms 20 23 1m35s 4s171ms 21 18 1m19s 4s422ms 22 18 1m19s 4s409ms 23 21 1m35s 4s548ms 00 28 7m30s 16s77ms [ User: labanimal - Total duration: 21m15s - Times executed: 274 ]
-
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', 'test', 'dev') AND collected_at <= '2026-04-05 11:41:57+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:57+02' AND '2026-04-05 23:41:57+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:57+02' AND '2026-04-05 23:41:57+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 '5' OFFSET '0';
Date: 2026-04-05 23:42:40 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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', 'test', 'dev') AND collected_at <= '2026-04-05 11:41:50+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:50+02' AND '2026-04-05 23:41:50+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:50+02' AND '2026-04-05 23:41:50+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-05 23:42:32 Duration: 42s517ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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', 'test', 'dev') AND collected_at <= '2026-04-05 11:40:58+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:40:58+02' AND '2026-04-05 23:40:58+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:40:58+02' AND '2026-04-05 23:40:58+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-05 23:41:38 Duration: 40s106ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
15 15s774ms 11 803ms 7s392ms 1s434ms with damdam as ( select breedingid, string_agg(cast(dam as text), ?) as dam from breedingsdams inner join ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" from animals) as dam on dam.id = breedingsdams.dam and case when user_is_tgm (dam.owner, ?) then true when user_is_tgm (dam.editor, ?) then true when user_is_tgm (dam.tourist, ?) then true else false end group by breedingid ), siresire as ( select breedingid, string_agg(cast(sire as text), ?) as sire from breedingssires inner join ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" from animals) as sire on sire.id = breedingssires.sire and case when user_is_tgm (sire.owner, ?) then true when user_is_tgm (sire.editor, ?) then true when user_is_tgm (sire.tourist, ?) then true else false end group by breedingid ), cagess as ( select id, "cageName" from cages) ( select breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire from damdam, siresire, cagess, breedings where breedings.deleted != true and cagess.id = breedings.cage and damdam.breedingid = breedings.id and siresire.breedingid = breedings.id and breedings."unbreeding_date" is null group by breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire order by breeding_date, plug_date);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 05 15 1 7s392ms 7s392ms 17 3 2s566ms 855ms 18 2 1s674ms 837ms 20 2 1s640ms 820ms 23 1 840ms 840ms 00 2 1s660ms 830ms [ User: labanimal - Total duration: 15s774ms - Times executed: 11 ]
[ Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Total duration: 15s774ms - Times executed: 11 ]
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 1) THEN TRUE WHEN user_is_tgm (dam.editor, 1) THEN TRUE WHEN user_is_tgm (dam.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 1) THEN TRUE WHEN user_is_tgm (sire.editor, 1) THEN TRUE WHEN user_is_tgm (sire.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-05 14:59:27 Duration: 7s392ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 1) THEN TRUE WHEN user_is_tgm (dam.editor, 1) THEN TRUE WHEN user_is_tgm (dam.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 1) THEN TRUE WHEN user_is_tgm (sire.editor, 1) THEN TRUE WHEN user_is_tgm (sire.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-05 16:23:29 Duration: 934ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 1) THEN TRUE WHEN user_is_tgm (dam.editor, 1) THEN TRUE WHEN user_is_tgm (dam.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 1) THEN TRUE WHEN user_is_tgm (sire.editor, 1) THEN TRUE WHEN user_is_tgm (sire.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-05 23:41:52 Duration: 856ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
16 2s53ms 1 2s53ms 2s53ms 2s53ms copy public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) to stdout;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 05 00 1 2s53ms 2s53ms [ User: postgres - Total duration: 2s53ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 2s53ms - Times executed: 1 ]
-
COPY public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) TO stdout;
Date: 2026-04-05 23:55:08 Duration: 2s53ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
17 1s394ms 1 1s394ms 1s394ms 1s394ms copy public."targetgroupMembers" (id, targetgroup, "user", "group") to stdout;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 05 00 1 1s394ms 1s394ms [ User: postgres - Total duration: 1s394ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 1s394ms - Times executed: 1 ]
-
COPY public."targetgroupMembers" (id, targetgroup, "user", "group") TO stdout;
Date: 2026-04-05 23:55:10 Duration: 1s394ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
18 1s390ms 1 1s390ms 1s390ms 1s390ms copy public.animals_search_mview (id, name, animal_id, deleted, alive, birth_date, arrival_date, death_date, outgoing_date, cage, comments, sterile, breeding, fate, last_mating, last_mating_date, breeding_cage, sex, strain, line, gene_1_info, gene_1_type, gene_2_info, gene_2_type, gene_3_info, gene_3_type, gene_4_info, gene_4_type, gene_5_info, gene_5_type, backcross, generation, project, project_name, species, species_name, cage_name, location, location_name, dam, dam_name, dam_id, sire, sire_name, sire_id, cohort, litter, rfid, owner, editor, tourist, breeding_status, workgroup_infos, experiment, experiment_name) to stdout;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 05 00 1 1s390ms 1s390ms [ User: postgres - Total duration: 1s390ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 1s390ms - Times executed: 1 ]
-
COPY public.animals_search_mview (id, name, animal_id, deleted, alive, birth_date, arrival_date, death_date, outgoing_date, cage, comments, sterile, breeding, fate, last_mating, last_mating_date, breeding_cage, sex, strain, line, gene_1_info, gene_1_type, gene_2_info, gene_2_type, gene_3_info, gene_3_type, gene_4_info, gene_4_type, gene_5_info, gene_5_type, backcross, generation, project, project_name, species, species_name, cage_name, location, location_name, dam, dam_name, dam_id, sire, sire_name, sire_id, cohort, litter, rfid, owner, editor, tourist, breeding_status, workgroup_infos, experiment, experiment_name) TO stdout;
Date: 2026-04-05 23:55:05 Duration: 1s390ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
19 1s253ms 1 1s253ms 1s253ms 1s253ms copy public.animals (id, species, transgen, "homeCage", tourist, editor, owner, comments, pregnant, name, sex, "standardDescription", "parentFemale", "parentMale", "parentFoster", colour, "plannedUseFor", deleted, generation, chimare, "birthDate", "arrivalDate", "outgoingDate", "deathDate", breedstatus_2, "healthState", breeder, restrictions, "geneStatus", "geneFlanking", "geneDeleted", "fromOrder_2", "group", "fromOrder", strain, "breedStatus", "FEMnumber", genotype, inbreeding, identification, jax, "KOgene", "feedingClass", dummy_gen_info, breeding, sterile, project, dummy_line_info, dummy_strain_info, "bredWith", "curCage", dummy_backcross_info, fate, "fateComment", alive, reciever, "animalID", litter, weight_at_arrival, cohort, gen_2_info, gen_3_info, gen_4_info, gen_5_info, gen_1_typ, gen_2_typ, gen_3_typ, gen_4_typ, gen_5_typ, "latestMatingDate", "latestMating", genecomment, recycle) to stdout;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 05 00 1 1s253ms 1s253ms [ User: postgres - Total duration: 1s253ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 1s253ms - Times executed: 1 ]
-
COPY public.animals (id, species, transgen, "homeCage", tourist, editor, owner, comments, pregnant, name, sex, "standardDescription", "parentFemale", "parentMale", "parentFoster", colour, "plannedUseFor", deleted, generation, chimare, "birthDate", "arrivalDate", "outgoingDate", "deathDate", breedstatus_2, "healthState", breeder, restrictions, "geneStatus", "geneFlanking", "geneDeleted", "fromOrder_2", "group", "fromOrder", strain, "breedStatus", "FEMnumber", genotype, inbreeding, identification, jax, "KOgene", "feedingClass", dummy_gen_info, breeding, sterile, project, dummy_line_info, dummy_strain_info, "bredWith", "curCage", dummy_backcross_info, fate, "fateComment", alive, reciever, "animalID", litter, weight_at_arrival, cohort, gen_2_info, gen_3_info, gen_4_info, gen_5_info, gen_1_typ, gen_2_typ, gen_3_typ, gen_4_typ, gen_5_typ, "latestMatingDate", "latestMating", genecomment, recycle) TO stdout;
Date: 2026-04-05 23:55:03 Duration: 1s253ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
20 1s224ms 1 1s224ms 1s224ms 1s224ms update tasks set task_status = ? where time_completed < now() - interval ? month;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 05 02 1 1s224ms 1s224ms [ User: labanimal - Total duration: 1s224ms - Times executed: 1 ]
[ Application: expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 - Total duration: 1s224ms - Times executed: 1 ]
-
UPDATE tasks SET task_status = '7' WHERE time_completed < now() - interval '1' month;
Date: 2026-04-05 01:30:02 Duration: 1s224ms Database: zemm_produktiv_8 User: labanimal Remote: 81.169.238.237 Application: expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 1h14m9s 623ms 42s821ms 3s89ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
2 1,440 1h14m9s 623ms 42s821ms 3s89ms create table if not exists observability.phpfpm_counters ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
3 1,440 1h14m9s 623ms 42s821ms 3s89ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
4 1,440 1h14m9s 623ms 42s821ms 3s89ms 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 #4
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
5 1,440 1h14m9s 623ms 42s821ms 3s89ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
6 1,440 1h14m9s 623ms 42s821ms 3s89ms 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 #6
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
7 1,440 1h14m9s 623ms 42s821ms 3s89ms 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 #7
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
8 1,440 1h14m9s 623ms 42s821ms 3s89ms create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
9 1,440 1h14m9s 623ms 42s821ms 3s89ms 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 #9
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
10 1,440 1h14m9s 623ms 42s821ms 3s89ms create schema if not exists observability;Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
11 1,440 1h14m9s 623ms 42s821ms 3s89ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
12 1,440 1h14m9s 623ms 42s821ms 3s89ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
13 1,440 1h14m9s 623ms 42s821ms 3s89ms 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 #13
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
14 274 21m15s 2s668ms 42s821ms 4s655ms 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 #14
Day Hour Count Duration Avg duration Apr 05 06 7 25s344ms 3s620ms 10 18 54s759ms 3s42ms 11 18 49s775ms 2s765ms 12 18 48s995ms 2s721ms 13 18 48s898ms 2s716ms 14 21 57s251ms 2s726ms 15 18 49s806ms 2s767ms 16 16 46s511ms 2s906ms 17 12 34s238ms 2s853ms 18 12 34s233ms 2s852ms 19 8 25s284ms 3s160ms 20 23 1m35s 4s171ms 21 18 1m19s 4s422ms 22 18 1m19s 4s409ms 23 21 1m35s 4s548ms 00 28 7m30s 16s77ms [ User: labanimal - Total duration: 21m15s - Times executed: 274 ]
-
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', 'test', 'dev') AND collected_at <= '2026-04-05 11:41:57+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:57+02' AND '2026-04-05 23:41:57+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:57+02' AND '2026-04-05 23:41:57+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 '5' OFFSET '0';
Date: 2026-04-05 23:42:40 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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', 'test', 'dev') AND collected_at <= '2026-04-05 11:41:50+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:50+02' AND '2026-04-05 23:41:50+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:50+02' AND '2026-04-05 23:41:50+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-05 23:42:32 Duration: 42s517ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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', 'test', 'dev') AND collected_at <= '2026-04-05 11:40:58+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:40:58+02' AND '2026-04-05 23:40:58+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:40:58+02' AND '2026-04-05 23:40:58+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-05 23:41:38 Duration: 40s106ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
15 11 15s774ms 803ms 7s392ms 1s434ms with damdam as ( select breedingid, string_agg(cast(dam as text), ?) as dam from breedingsdams inner join ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" from animals) as dam on dam.id = breedingsdams.dam and case when user_is_tgm (dam.owner, ?) then true when user_is_tgm (dam.editor, ?) then true when user_is_tgm (dam.tourist, ?) then true else false end group by breedingid ), siresire as ( select breedingid, string_agg(cast(sire as text), ?) as sire from breedingssires inner join ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" from animals) as sire on sire.id = breedingssires.sire and case when user_is_tgm (sire.owner, ?) then true when user_is_tgm (sire.editor, ?) then true when user_is_tgm (sire.tourist, ?) then true else false end group by breedingid ), cagess as ( select id, "cageName" from cages) ( select breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire from damdam, siresire, cagess, breedings where breedings.deleted != true and cagess.id = breedings.cage and damdam.breedingid = breedings.id and siresire.breedingid = breedings.id and breedings."unbreeding_date" is null group by breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire order by breeding_date, plug_date);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 05 15 1 7s392ms 7s392ms 17 3 2s566ms 855ms 18 2 1s674ms 837ms 20 2 1s640ms 820ms 23 1 840ms 840ms 00 2 1s660ms 830ms [ User: labanimal - Total duration: 15s774ms - Times executed: 11 ]
[ Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Total duration: 15s774ms - Times executed: 11 ]
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 1) THEN TRUE WHEN user_is_tgm (dam.editor, 1) THEN TRUE WHEN user_is_tgm (dam.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 1) THEN TRUE WHEN user_is_tgm (sire.editor, 1) THEN TRUE WHEN user_is_tgm (sire.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-05 14:59:27 Duration: 7s392ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 1) THEN TRUE WHEN user_is_tgm (dam.editor, 1) THEN TRUE WHEN user_is_tgm (dam.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 1) THEN TRUE WHEN user_is_tgm (sire.editor, 1) THEN TRUE WHEN user_is_tgm (sire.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-05 16:23:29 Duration: 934ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 1) THEN TRUE WHEN user_is_tgm (dam.editor, 1) THEN TRUE WHEN user_is_tgm (dam.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 1) THEN TRUE WHEN user_is_tgm (sire.editor, 1) THEN TRUE WHEN user_is_tgm (sire.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-05 23:41:52 Duration: 856ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
16 1 2s53ms 2s53ms 2s53ms 2s53ms copy public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) to stdout;Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 05 00 1 2s53ms 2s53ms [ User: postgres - Total duration: 2s53ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 2s53ms - Times executed: 1 ]
-
COPY public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) TO stdout;
Date: 2026-04-05 23:55:08 Duration: 2s53ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
17 1 1s394ms 1s394ms 1s394ms 1s394ms copy public."targetgroupMembers" (id, targetgroup, "user", "group") to stdout;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 05 00 1 1s394ms 1s394ms [ User: postgres - Total duration: 1s394ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 1s394ms - Times executed: 1 ]
-
COPY public."targetgroupMembers" (id, targetgroup, "user", "group") TO stdout;
Date: 2026-04-05 23:55:10 Duration: 1s394ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
18 1 1s390ms 1s390ms 1s390ms 1s390ms copy public.animals_search_mview (id, name, animal_id, deleted, alive, birth_date, arrival_date, death_date, outgoing_date, cage, comments, sterile, breeding, fate, last_mating, last_mating_date, breeding_cage, sex, strain, line, gene_1_info, gene_1_type, gene_2_info, gene_2_type, gene_3_info, gene_3_type, gene_4_info, gene_4_type, gene_5_info, gene_5_type, backcross, generation, project, project_name, species, species_name, cage_name, location, location_name, dam, dam_name, dam_id, sire, sire_name, sire_id, cohort, litter, rfid, owner, editor, tourist, breeding_status, workgroup_infos, experiment, experiment_name) to stdout;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 05 00 1 1s390ms 1s390ms [ User: postgres - Total duration: 1s390ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 1s390ms - Times executed: 1 ]
-
COPY public.animals_search_mview (id, name, animal_id, deleted, alive, birth_date, arrival_date, death_date, outgoing_date, cage, comments, sterile, breeding, fate, last_mating, last_mating_date, breeding_cage, sex, strain, line, gene_1_info, gene_1_type, gene_2_info, gene_2_type, gene_3_info, gene_3_type, gene_4_info, gene_4_type, gene_5_info, gene_5_type, backcross, generation, project, project_name, species, species_name, cage_name, location, location_name, dam, dam_name, dam_id, sire, sire_name, sire_id, cohort, litter, rfid, owner, editor, tourist, breeding_status, workgroup_infos, experiment, experiment_name) TO stdout;
Date: 2026-04-05 23:55:05 Duration: 1s390ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
19 1 1s253ms 1s253ms 1s253ms 1s253ms copy public.animals (id, species, transgen, "homeCage", tourist, editor, owner, comments, pregnant, name, sex, "standardDescription", "parentFemale", "parentMale", "parentFoster", colour, "plannedUseFor", deleted, generation, chimare, "birthDate", "arrivalDate", "outgoingDate", "deathDate", breedstatus_2, "healthState", breeder, restrictions, "geneStatus", "geneFlanking", "geneDeleted", "fromOrder_2", "group", "fromOrder", strain, "breedStatus", "FEMnumber", genotype, inbreeding, identification, jax, "KOgene", "feedingClass", dummy_gen_info, breeding, sterile, project, dummy_line_info, dummy_strain_info, "bredWith", "curCage", dummy_backcross_info, fate, "fateComment", alive, reciever, "animalID", litter, weight_at_arrival, cohort, gen_2_info, gen_3_info, gen_4_info, gen_5_info, gen_1_typ, gen_2_typ, gen_3_typ, gen_4_typ, gen_5_typ, "latestMatingDate", "latestMating", genecomment, recycle) to stdout;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 05 00 1 1s253ms 1s253ms [ User: postgres - Total duration: 1s253ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 1s253ms - Times executed: 1 ]
-
COPY public.animals (id, species, transgen, "homeCage", tourist, editor, owner, comments, pregnant, name, sex, "standardDescription", "parentFemale", "parentMale", "parentFoster", colour, "plannedUseFor", deleted, generation, chimare, "birthDate", "arrivalDate", "outgoingDate", "deathDate", breedstatus_2, "healthState", breeder, restrictions, "geneStatus", "geneFlanking", "geneDeleted", "fromOrder_2", "group", "fromOrder", strain, "breedStatus", "FEMnumber", genotype, inbreeding, identification, jax, "KOgene", "feedingClass", dummy_gen_info, breeding, sterile, project, dummy_line_info, dummy_strain_info, "bredWith", "curCage", dummy_backcross_info, fate, "fateComment", alive, reciever, "animalID", litter, weight_at_arrival, cohort, gen_2_info, gen_3_info, gen_4_info, gen_5_info, gen_1_typ, gen_2_typ, gen_3_typ, gen_4_typ, gen_5_typ, "latestMatingDate", "latestMating", genecomment, recycle) TO stdout;
Date: 2026-04-05 23:55:03 Duration: 1s253ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
20 1 1s224ms 1s224ms 1s224ms 1s224ms update tasks set task_status = ? where time_completed < now() - interval ? month;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 05 02 1 1s224ms 1s224ms [ User: labanimal - Total duration: 1s224ms - Times executed: 1 ]
[ Application: expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 - Total duration: 1s224ms - Times executed: 1 ]
-
UPDATE tasks SET task_status = '7' WHERE time_completed < now() - interval '1' month;
Date: 2026-04-05 01:30:02 Duration: 1s224ms Database: zemm_produktiv_8 User: labanimal Remote: 81.169.238.237 Application: expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 2s668ms 42s821ms 4s655ms 274 21m15s 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 05 06 7 25s344ms 3s620ms 10 18 54s759ms 3s42ms 11 18 49s775ms 2s765ms 12 18 48s995ms 2s721ms 13 18 48s898ms 2s716ms 14 21 57s251ms 2s726ms 15 18 49s806ms 2s767ms 16 16 46s511ms 2s906ms 17 12 34s238ms 2s853ms 18 12 34s233ms 2s852ms 19 8 25s284ms 3s160ms 20 23 1m35s 4s171ms 21 18 1m19s 4s422ms 22 18 1m19s 4s409ms 23 21 1m35s 4s548ms 00 28 7m30s 16s77ms [ User: labanimal - Total duration: 21m15s - Times executed: 274 ]
-
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', 'test', 'dev') AND collected_at <= '2026-04-05 11:41:57+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:57+02' AND '2026-04-05 23:41:57+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:57+02' AND '2026-04-05 23:41:57+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 '5' OFFSET '0';
Date: 2026-04-05 23:42:40 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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', 'test', 'dev') AND collected_at <= '2026-04-05 11:41:50+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:50+02' AND '2026-04-05 23:41:50+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:41:50+02' AND '2026-04-05 23:41:50+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-05 23:42:32 Duration: 42s517ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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', 'test', 'dev') AND collected_at <= '2026-04-05 11:40:58+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:40:58+02' AND '2026-04-05 23:40:58+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', 'test', 'dev') AND collected_at BETWEEN '2026-04-05 11:40:58+02' AND '2026-04-05 23:40:58+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-05 23:41:38 Duration: 40s106ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
2 623ms 42s821ms 3s89ms 1,440 1h14m9s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
3 623ms 42s821ms 3s89ms 1,440 1h14m9s 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 #3
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
4 623ms 42s821ms 3s89ms 1,440 1h14m9s 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 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
5 623ms 42s821ms 3s89ms 1,440 1h14m9s 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 #5
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
6 623ms 42s821ms 3s89ms 1,440 1h14m9s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
7 623ms 42s821ms 3s89ms 1,440 1h14m9s create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
8 623ms 42s821ms 3s89ms 1,440 1h14m9s 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 #8
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
9 623ms 42s821ms 3s89ms 1,440 1h14m9s create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
10 623ms 42s821ms 3s89ms 1,440 1h14m9s 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 #10
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
11 623ms 42s821ms 3s89ms 1,440 1h14m9s create schema if not exists observability;Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
12 623ms 42s821ms 3s89ms 1,440 1h14m9s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
13 623ms 42s821ms 3s89ms 1,440 1h14m9s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-04-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
14 623ms 42s821ms 3s89ms 1,440 1h14m9s 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 #14
Day Hour Count Duration Avg duration Apr 05 01 60 0ms 0ms 02 60 35s514ms 591ms 03 60 1m13s 1s224ms 04 60 1m13s 1s224ms 05 60 1m13s 1s224ms 06 60 1m51s 1s866ms 07 60 2m47s 2s792ms 08 60 2m47s 2s792ms 09 60 2m47s 2s792ms 10 60 2m56s 2s940ms 11 60 2m46s 2s766ms 12 60 2m43s 2s722ms 13 60 2m42s 2s715ms 14 60 2m43s 2s718ms 15 60 2m47s 2s783ms 16 60 2m52s 2s876ms 17 60 2m28s 2s477ms 18 60 2m28s 2s482ms 19 60 2m58s 2s981ms 20 60 4m29s 4s496ms 21 60 4m56s 4s935ms 22 60 4m55s 4s929ms 23 60 4m34s 4s579ms 00 60 13m14s 13s244ms [ User: labanimal - Total duration: 1h14m9s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-04-05 23:46:01 Duration: 42s821ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:39:01 Duration: 39s972ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_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-05 23:49:01 Duration: 39s323ms Database: zemm_monitoring User: labanimal Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
15 2s53ms 2s53ms 2s53ms 1 2s53ms copy public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) to stdout;Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration Apr 05 00 1 2s53ms 2s53ms [ User: postgres - Total duration: 2s53ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 2s53ms - Times executed: 1 ]
-
COPY public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) TO stdout;
Date: 2026-04-05 23:55:08 Duration: 2s53ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
16 803ms 7s392ms 1s434ms 11 15s774ms with damdam as ( select breedingid, string_agg(cast(dam as text), ?) as dam from breedingsdams inner join ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" from animals) as dam on dam.id = breedingsdams.dam and case when user_is_tgm (dam.owner, ?) then true when user_is_tgm (dam.editor, ?) then true when user_is_tgm (dam.tourist, ?) then true else false end group by breedingid ), siresire as ( select breedingid, string_agg(cast(sire as text), ?) as sire from breedingssires inner join ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" from animals) as sire on sire.id = breedingssires.sire and case when user_is_tgm (sire.owner, ?) then true when user_is_tgm (sire.editor, ?) then true when user_is_tgm (sire.tourist, ?) then true else false end group by breedingid ), cagess as ( select id, "cageName" from cages) ( select breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire from damdam, siresire, cagess, breedings where breedings.deleted != true and cagess.id = breedings.cage and damdam.breedingid = breedings.id and siresire.breedingid = breedings.id and breedings."unbreeding_date" is null group by breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire order by breeding_date, plug_date);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration Apr 05 15 1 7s392ms 7s392ms 17 3 2s566ms 855ms 18 2 1s674ms 837ms 20 2 1s640ms 820ms 23 1 840ms 840ms 00 2 1s660ms 830ms [ User: labanimal - Total duration: 15s774ms - Times executed: 11 ]
[ Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 - Total duration: 15s774ms - Times executed: 11 ]
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 1) THEN TRUE WHEN user_is_tgm (dam.editor, 1) THEN TRUE WHEN user_is_tgm (dam.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 1) THEN TRUE WHEN user_is_tgm (sire.editor, 1) THEN TRUE WHEN user_is_tgm (sire.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-05 14:59:27 Duration: 7s392ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 1) THEN TRUE WHEN user_is_tgm (dam.editor, 1) THEN TRUE WHEN user_is_tgm (dam.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 1) THEN TRUE WHEN user_is_tgm (sire.editor, 1) THEN TRUE WHEN user_is_tgm (sire.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-05 16:23:29 Duration: 934ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 1) THEN TRUE WHEN user_is_tgm (dam.editor, 1) THEN TRUE WHEN user_is_tgm (dam.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), siresire AS ( SELECT breedingid, string_agg(cast(sire as text), ';') AS sire FROM breedingssires INNER JOIN ( select id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS sire ON sire.id = breedingssires.sire AND CASE WHEN user_is_tgm (sire.owner, 1) THEN TRUE WHEN user_is_tgm (sire.editor, 1) THEN TRUE WHEN user_is_tgm (sire.tourist, 1) THEN TRUE ELSE FALSE END GROUP BY breedingid ), cagess AS ( select id, "cageName" FROM cages) ( SELECT breedings.id, breedings.breeding_date, breedings.unbreeding_date, breedings.plug_date, cagess."cageName" as cage_name, breedings.deleted, damdam.dam, siresire.sire FROM damdam, siresire, cagess, breedings WHERE breedings.deleted != true AND cagess.id = breedings.cage AND damdam.breedingid = breedings.id AND siresire.breedingid = breedings.id AND breedings."unbreeding_date" IS NULL GROUP BY breedings.id, cagess."cageName", breeding_date, unbreeding_date, plug_date, damdam.dam, siresire.sire ORDER BY breeding_date, plug_date);
Date: 2026-04-05 23:41:52 Duration: 856ms Database: zemm_produktiv_7 User: labanimal Application: _desktop_index.php_zemm_produktiv_7_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
17 1s394ms 1s394ms 1s394ms 1 1s394ms copy public."targetgroupMembers" (id, targetgroup, "user", "group") to stdout;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration Apr 05 00 1 1s394ms 1s394ms [ User: postgres - Total duration: 1s394ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 1s394ms - Times executed: 1 ]
-
COPY public."targetgroupMembers" (id, targetgroup, "user", "group") TO stdout;
Date: 2026-04-05 23:55:10 Duration: 1s394ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
18 1s390ms 1s390ms 1s390ms 1 1s390ms copy public.animals_search_mview (id, name, animal_id, deleted, alive, birth_date, arrival_date, death_date, outgoing_date, cage, comments, sterile, breeding, fate, last_mating, last_mating_date, breeding_cage, sex, strain, line, gene_1_info, gene_1_type, gene_2_info, gene_2_type, gene_3_info, gene_3_type, gene_4_info, gene_4_type, gene_5_info, gene_5_type, backcross, generation, project, project_name, species, species_name, cage_name, location, location_name, dam, dam_name, dam_id, sire, sire_name, sire_id, cohort, litter, rfid, owner, editor, tourist, breeding_status, workgroup_infos, experiment, experiment_name) to stdout;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration Apr 05 00 1 1s390ms 1s390ms [ User: postgres - Total duration: 1s390ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 1s390ms - Times executed: 1 ]
-
COPY public.animals_search_mview (id, name, animal_id, deleted, alive, birth_date, arrival_date, death_date, outgoing_date, cage, comments, sterile, breeding, fate, last_mating, last_mating_date, breeding_cage, sex, strain, line, gene_1_info, gene_1_type, gene_2_info, gene_2_type, gene_3_info, gene_3_type, gene_4_info, gene_4_type, gene_5_info, gene_5_type, backcross, generation, project, project_name, species, species_name, cage_name, location, location_name, dam, dam_name, dam_id, sire, sire_name, sire_id, cohort, litter, rfid, owner, editor, tourist, breeding_status, workgroup_infos, experiment, experiment_name) TO stdout;
Date: 2026-04-05 23:55:05 Duration: 1s390ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
19 1s253ms 1s253ms 1s253ms 1 1s253ms copy public.animals (id, species, transgen, "homeCage", tourist, editor, owner, comments, pregnant, name, sex, "standardDescription", "parentFemale", "parentMale", "parentFoster", colour, "plannedUseFor", deleted, generation, chimare, "birthDate", "arrivalDate", "outgoingDate", "deathDate", breedstatus_2, "healthState", breeder, restrictions, "geneStatus", "geneFlanking", "geneDeleted", "fromOrder_2", "group", "fromOrder", strain, "breedStatus", "FEMnumber", genotype, inbreeding, identification, jax, "KOgene", "feedingClass", dummy_gen_info, breeding, sterile, project, dummy_line_info, dummy_strain_info, "bredWith", "curCage", dummy_backcross_info, fate, "fateComment", alive, reciever, "animalID", litter, weight_at_arrival, cohort, gen_2_info, gen_3_info, gen_4_info, gen_5_info, gen_1_typ, gen_2_typ, gen_3_typ, gen_4_typ, gen_5_typ, "latestMatingDate", "latestMating", genecomment, recycle) to stdout;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration Apr 05 00 1 1s253ms 1s253ms [ User: postgres - Total duration: 1s253ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 1s253ms - Times executed: 1 ]
-
COPY public.animals (id, species, transgen, "homeCage", tourist, editor, owner, comments, pregnant, name, sex, "standardDescription", "parentFemale", "parentMale", "parentFoster", colour, "plannedUseFor", deleted, generation, chimare, "birthDate", "arrivalDate", "outgoingDate", "deathDate", breedstatus_2, "healthState", breeder, restrictions, "geneStatus", "geneFlanking", "geneDeleted", "fromOrder_2", "group", "fromOrder", strain, "breedStatus", "FEMnumber", genotype, inbreeding, identification, jax, "KOgene", "feedingClass", dummy_gen_info, breeding, sterile, project, dummy_line_info, dummy_strain_info, "bredWith", "curCage", dummy_backcross_info, fate, "fateComment", alive, reciever, "animalID", litter, weight_at_arrival, cohort, gen_2_info, gen_3_info, gen_4_info, gen_5_info, gen_1_typ, gen_2_typ, gen_3_typ, gen_4_typ, gen_5_typ, "latestMatingDate", "latestMating", genecomment, recycle) TO stdout;
Date: 2026-04-05 23:55:03 Duration: 1s253ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
20 1s224ms 1s224ms 1s224ms 1 1s224ms update tasks set task_status = ? where time_completed < now() - interval ? month;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration Apr 05 02 1 1s224ms 1s224ms [ User: labanimal - Total duration: 1s224ms - Times executed: 1 ]
[ Application: expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 - Total duration: 1s224ms - Times executed: 1 ]
-
UPDATE tasks SET task_status = '7' WHERE time_completed < now() - interval '1' month;
Date: 2026-04-05 01:30:02 Duration: 1s224ms Database: zemm_produktiv_8 User: labanimal Remote: 81.169.238.237 Application: expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Log file: /var/log/postgresql/postgresql-2026-04-05_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
- 84,132 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 286 FATAL entries
- 10 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 277 Max number of times the same event was reported
- 296 Total events found
Rank Times reported Error 1 277 FATAL: database "..." does not exist
Times Reported Most Frequent Error / Event #1
Day Hour Count Apr 05 02 3 03 2 07 2 13 4 15 1 18 2 19 263 - FATAL: database "monitoring" does not exist
- FATAL: database "monitoring" does not exist
- FATAL: database "monitoring" does not exist
Date: 2026-04-05 01:34:12 Database: monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
Date: 2026-04-05 01:34:12 Database: monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
Date: 2026-04-05 01:34:12 Database: monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
2 8 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #2
Day Hour Count Apr 05 12 1 13 1 14 1 15 2 18 1 23 1 00 1 - ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
- ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
- ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(prod, http_requests_total, 2026-04-05 11:54:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-04-05 11:54:47 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(prod, http_requests_total, 2026-04-05 12:50:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-04-05 12:50:19 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(prod, http_requests_total, 2026-04-05 13:50:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-04-05 13:50:21 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
3 6 FATAL: password authentication failed for user "..."
Times Reported Most Frequent Error / Event #3
Day Hour Count Apr 05 19 2 00 4 - FATAL: password authentication failed for user "labanimal"
- FATAL: password authentication failed for user "labanimal"
- FATAL: password authentication failed for user "zemm_monitoring"
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 27: "host all all ::1/128 scram-sha-256"
Date: 2026-04-05 18:48:30 Database: labanimal Application: User: labanimal Remote: ::1 Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 27: "host all all ::1/128 scram-sha-256"
Date: 2026-04-05 18:48:30 Database: labanimal Application: User: labanimal Remote: ::1 Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
Detail: Role "zemm_monitoring" does not exist. Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 27: "host all all ::1/128 scram-sha-256"
Date: 2026-04-05 23:51:05 Database: zemm_monitoring Application: User: zemm_monitoring Remote: ::1 Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
4 3 FATAL: Peer authentication failed for user "..."
Times Reported Most Frequent Error / Event #4
Day Hour Count Apr 05 15 1 19 1 20 1 - FATAL: Peer authentication failed for user "zemmuser"
- FATAL: Peer authentication failed for user "labanimal"
- FATAL: Peer authentication failed for user "zemm_user"
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-05 14:48:08 Database: zemm_produktiv_7 Application: User: zemmuser Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-05 18:47:59 Database: labanimal Application: User: labanimal Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
Detail: Connection matched file "/etc/postgresql/18/main/pg_hba.conf" line 18: "local all all peer"
Date: 2026-04-05 19:18:37 Database: zemm_db Application: User: zemm_user Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
5 2 ERROR: column "..." does not exist
Times Reported Most Frequent Error / Event #5
Day Hour Count Apr 05 15 1 23 1 - ERROR: column "title" does not exist
- ERROR: column "(local)" does not exist
Statement: SELECT id, title, status, severity FROM db_errors WHERE id IN (323, 326) OR id::text LIKE "%323%" OR id::text LIKE "%326%" LIMIT 10
Date: 2026-04-05 14:48:28 Database: zemm_monitoring Application: psql User: deploy Remote: [local] Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv
Statement: SELECT type||chr(9)||coalesce(address,"(local)")||chr(9)||auth_method FROM pg_hba_file_rules();
Date: 2026-04-05 22:51:33 Database: zemm_produktiv_7 Application: psql User: labanimal Remote: 127.0.0.1 Log file: /var/log/postgresql/postgresql-2026-04-05_000000.csv