-
Global information
- Generated on Mon Jun 15 06:05:20 2026
- Log file: /var/log/postgresql/postgresql-2026-05-13_000000.csv, ..., /var/log/postgresql/postgresql-2026-06-15_000000.csv
- Parsed 301,468 log entries in 5m19s
- Log start from 2026-05-29 00:00:01 to 2026-05-29 23:59:03
-
Overview
Global Stats
- 69 Number of unique normalized queries
- 24,730 Number of queries
- 2d3h2m19s Total query duration
- 2026-05-29 00:00:01 First query
- 2026-05-29 23:59:01 Last query
- 18 queries/s at 2026-05-29 10:04:01 Query peak
- 2d3h2m19s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 2d3h2m19s Execute total duration
- 2 Number of events
- 1 Number of unique normalized events
- 2 Max number of times the same event was reported
- 0 Number of cancellation
- 52 Total number of automatic vacuums
- 118 Total number of automatic analyzes
- 0 Number temporary file
- 0 Max size of temporary file
- 0.00 B Average size of temporary file
- 28,223 Total number of sessions
- 7 sessions at 2026-05-29 00:06:01 Session peak
- 1h40m23s Total duration of sessions
- 213ms Average duration of sessions
- 0 Average queries per session
- 6s510ms Average queries duration per session
- 0ms Average idle time per session
- 28,223 Total number of connections
- 33 connections/s at 2026-05-29 09:55:01 Connection peak
- 2 Total number of databases
SQL Traffic
Key values
- 18 queries/s Query Peak
- 2026-05-29 10:04:01 Date
SELECT Traffic
Key values
- 2 queries/s Query Peak
- 2026-05-29 10:07:29 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 18 queries/s Query Peak
- 2026-05-29 15:07:01 Date
Queries duration
Key values
- 2d3h2m19s Total query duration
Prepared queries ratio
Key values
- 0.00 Ratio of bind vs prepare
- 0.00 % Ratio between prepared and "usual" statements
General Activity
↑ Back to the top of the General Activity tableDay Hour Count Min duration Max duration Avg duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 29 00 1,032 1s466ms 1s595ms 1s498ms 27s239ms 27s685ms 28s664ms 01 1,033 983ms 1s564ms 1s490ms 27s244ms 27s807ms 28s83ms 02 1,030 1s485ms 1s551ms 1s515ms 27s173ms 27s715ms 27s931ms 03 1,030 1s462ms 1s532ms 1s489ms 26s851ms 27s12ms 27s518ms 04 1,031 1s467ms 1s554ms 1s514ms 27s180ms 27s479ms 27s914ms 05 1,030 1s492ms 1s677ms 1s560ms 28s515ms 29s349ms 29s630ms 06 1,064 528ms 1s700ms 1s255ms 30s182ms 30s593ms 30s748ms 07 1,039 580ms 2s350ms 1s617ms 29s997ms 39s963ms 41s654ms 08 1,030 623ms 1s711ms 1s626ms 29s493ms 30s255ms 30s683ms 09 1,035 508ms 1s807ms 1s564ms 30s566ms 30s734ms 32s346ms 10 1,049 508ms 12s712ms 7s3ms 3m36s 3m46s 3m48s 11 1,029 685ms 12s642ms 11s972ms 3m35s 3m46s 3m47s 12 1,027 781ms 12s678ms 12s57ms 3m46s 3m47s 3m48s 13 1,026 12s569ms 12s684ms 12s612ms 3m46s 3m47s 3m48s 14 1,027 507ms 12s598ms 12s174ms 3m34s 3m46s 3m46s 15 1,027 1s431ms 12s848ms 11s686ms 3m39s 3m46s 3m47s 16 1,029 1s437ms 12s639ms 10s349ms 3m34s 3m46s 3m47s 17 1,026 1s415ms 12s724ms 10s972ms 3m36s 3m47s 3m48s 18 1,026 12s661ms 12s733ms 12s699ms 3m48s 3m48s 3m49s 19 1,025 12s606ms 12s696ms 12s652ms 3m35s 3m47s 3m48s 20 1,020 12s606ms 12s606ms 12s606ms 3m34s 3m34s 3m34s 21 1,020 12s606ms 12s606ms 12s606ms 3m34s 3m34s 3m34s 22 1,020 12s606ms 12s606ms 12s606ms 3m34s 3m34s 3m34s 23 1,025 551ms 12s606ms 11s806ms 3m34s 3m34s 3m40s Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 29 00 0 0 0ms 0ms 0ms 0ms 01 0 0 0ms 0ms 0ms 0ms 02 0 0 0ms 0ms 0ms 0ms 03 0 0 0ms 0ms 0ms 0ms 04 0 0 0ms 0ms 0ms 0ms 05 0 0 0ms 0ms 0ms 0ms 06 25 0 833ms 701ms 1s628ms 2s104ms 07 5 0 1s165ms 0ms 0ms 1s520ms 08 2 0 624ms 0ms 0ms 0ms 09 7 0 848ms 0ms 0ms 1s612ms 10 20 0 887ms 587ms 1s446ms 2s377ms 11 3 0 965ms 0ms 0ms 781ms 12 0 0 0ms 0ms 0ms 0ms 13 0 0 0ms 0ms 0ms 0ms 14 1 0 507ms 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 1s299ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 29 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 983ms 0ms 0ms 0ms 02 0 0 0 0 0ms 0ms 0ms 0ms 03 0 0 0 0 0ms 0ms 0ms 0ms 04 0 0 0 0 0ms 0ms 0ms 0ms 05 0 0 0 0 0ms 0ms 0ms 0ms 06 0 0 0 0 0ms 0ms 0ms 0ms 07 0 0 0 0 0ms 0ms 0ms 0ms 08 0 0 0 0 0ms 0ms 0ms 0ms 09 0 0 0 0 0ms 0ms 0ms 0ms 10 0 0 0 0 0ms 0ms 0ms 0ms 11 0 0 0 0 0ms 0ms 0ms 0ms 12 0 0 0 0 0ms 0ms 0ms 0ms 13 0 0 0 0 0ms 0ms 0ms 0ms 14 0 0 0 0 0ms 0ms 0ms 0ms 15 0 0 0 0 0ms 0ms 0ms 0ms 16 0 0 0 0 0ms 0ms 0ms 0ms 17 0 0 0 0 0ms 0ms 0ms 0ms 18 0 0 0 0 0ms 0ms 0ms 0ms 19 0 0 0 0 0ms 0ms 0ms 0ms 20 0 0 0 0 0ms 0ms 0ms 0ms 21 0 0 0 0 0ms 0ms 0ms 0ms 22 0 0 0 0 0ms 0ms 0ms 0ms 23 0 0 0 0 0ms 0ms 0ms 0ms Day Hour Prepare Bind Bind/Prepare Percentage of prepare May 29 00 0 12 12.00 0.00% 01 0 12 12.00 0.00% 02 0 10 10.00 0.00% 03 0 10 10.00 0.00% 04 0 11 11.00 0.00% 05 0 10 10.00 0.00% 06 0 11 11.00 0.00% 07 0 11 11.00 0.00% 08 0 7 7.00 0.00% 09 0 6 6.00 0.00% 10 0 7 7.00 0.00% 11 0 6 6.00 0.00% 12 0 7 7.00 0.00% 13 0 6 6.00 0.00% 14 0 6 6.00 0.00% 15 0 6 6.00 0.00% 16 0 6 6.00 0.00% 17 0 5 5.00 0.00% 18 0 6 6.00 0.00% 19 0 5 5.00 0.00% 20 0 0 0.00 0.00% 21 0 0 0.00 0.00% 22 0 0 0.00 0.00% 23 0 0 0.00 0.00% Day Hour Count Average / Second May 29 00 903 0.25/s 01 906 0.25/s 02 881 0.24/s 03 901 0.25/s 04 902 0.25/s 05 885 0.25/s 06 1,588 0.44/s 07 2,025 0.56/s 08 1,884 0.52/s 09 1,873 0.52/s 10 1,933 0.54/s 11 1,787 0.50/s 12 1,647 0.46/s 13 1,432 0.40/s 14 1,296 0.36/s 15 1,192 0.33/s 16 1,250 0.35/s 17 1,046 0.29/s 18 897 0.25/s 19 817 0.23/s 20 543 0.15/s 21 543 0.15/s 22 546 0.15/s 23 546 0.15/s Day Hour Count Average Duration Average idle time May 29 00 903 207ms 0ms 01 906 207ms 0ms 02 881 205ms 0ms 03 901 203ms 0ms 04 902 204ms 0ms 05 885 204ms 0ms 06 1,588 194ms 0ms 07 2,025 161ms 0ms 08 1,884 165ms 0ms 09 1,873 167ms 0ms 10 1,933 220ms 0ms 11 1,787 207ms 0ms 12 1,647 212ms 0ms 13 1,432 222ms 0ms 14 1,296 243ms 0ms 15 1,192 245ms 0ms 16 1,250 237ms 0ms 17 1,046 253ms 0ms 18 897 279ms 0ms 19 817 275ms 0ms 20 543 245ms 0ms 21 543 245ms 0ms 22 546 244ms 0ms 23 546 267ms 0ms -
Connections
Established Connections
Key values
- 33 connections Connection Peak
- 2026-05-29 09:55:01 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 28,223 connections Total
Connections per user
Key values
- labanimal Main User
- 28,223 connections Total
-
Sessions
Simultaneous sessions
Key values
- 7 sessions Session Peak
- 2026-05-29 00:06:01 Date
Histogram of session times
Key values
- 25,501 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 28,223 sessions Total
Sessions per user
Key values
- labanimal Main User
- 28,223 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 28,223 sessions Total
Sessions per application
Key values
- Main Application
- 28,223 sessions Total
Application Count Total Duration Average Duration 24,289 1h31m30s 226ms _desktop__zemm_produktiv_8_localhost_5432 16 882ms 55ms _desktop_index.php_command_admin_subcommand_strains_management_ 1 74ms 74ms _desktop_index.php_command_animals_edit_subcommand_init_id_1028 3 290ms 96ms _desktop_index.php_command_animals_edit_subcommand_init_id_1029 2 163ms 81ms _desktop_index.php_command_animals_litters_create_subcommand_se 3 533ms 177ms _desktop_index.php_command_animals_subcommand_found_val1_1596_v 1 45ms 45ms _desktop_index.php_command_animals_subcommand_init_zemm_produkt 22 1s6ms 45ms _desktop_index.php_command_login_subcommand_init_zemm_dev_local 3 96ms 32ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,639 47s934ms 29ms _desktop_index.php_command_login_subcommand_init_zemm_test_loca 3 103ms 34ms _desktop_index.php_command_reports_subcommand_animals_per_user_ 11 1s178ms 107ms _desktop_index.php_command_reports_subcommand_init_zemm_produkt 1 122ms 122ms _desktop_index.php_command_reports_subcommand_task_status_zemm_ 1 117ms 117ms _desktop_index.php_command_tasks_subcommand_edit_id_10142578_ze 1 69ms 69ms _desktop_index.php_command_tasks_subcommand_edit_id_10143212_ze 1 79ms 79ms _desktop_index.php_command_tasks_subcommand_init_zemm_produktiv 11 931ms 84ms _desktop_index.php_command_tasks_subcommand_open_legacy_1_id_10 27 1s628ms 60ms _desktop_index.php_command_tasks_subcommand_open_zemm_produktiv 2 2s518ms 1s259ms _desktop_index.php_command_tasks_subcommand_owner_tasks_zemm_pr 2 84ms 42ms _desktop_index.php_sire_name_2_dam_name_6_sire_id_2025_2F002_2F 1 66ms 66ms _desktop_index.php_view_animal_name_on_view_animal_id_on_animal 1 239ms 239ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 5 2s119ms 423ms _desktop_index.php_zemm_produktiv_8_localhost_5432 2,122 7m28s 211ms backend:zemm_produktiv_8@localhost 28 3s229ms 115ms bounces:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 411ms 411ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s8ms 1s8ms pg_dump 1 12s12ms 12s12ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 7s530ms 313ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 20,166 buffers Checkpoint Peak
- 2026-05-29 01:35:14 Date
- 269.891 seconds Highest write time
- 0.031 seconds Sync time
Checkpoints Wal files
Key values
- 6 files Wal files usage Peak
- 2026-05-29 01:35:14 Date
Checkpoints distance
Key values
- 188.26 Mo Distance Peak
- 2026-05-29 01:35:14 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time May 29 00 8,685 869.507s 0.105s 869.67s 01 27,220 975.989s 0.106s 976.165s 02 8,555 856.09s 0.109s 856.25s 03 9,001 900.641s 0.104s 900.8s 04 8,763 876.55s 0.102s 876.709s 05 8,470 846.885s 0.105s 847.049s 06 11,672 1,167.952s 0.222s 1,168.223s 07 11,282 1,129.208s 0.247s 1,129.509s 08 11,597 1,160.381s 0.229s 1,160.664s 09 10,946 1,094.996s 0.237s 1,095.287s 10 10,224 1,023.3s 0.214s 1,023.567s 11 9,711 971.85s 0.187s 972.094s 12 9,156 916.16s 0.185s 916.402s 13 9,469 947.698s 0.165s 947.915s 14 10,412 1,041.721s 0.154s 1,041.924s 15 9,359 936.38s 0.152s 936.596s 16 8,662 867.131s 0.156s 867.34s 17 9,032 904.221s 0.145s 904.436s 18 8,740 874.424s 0.099s 874.575s 19 8,670 867.708s 0.112s 867.884s 20 7,434 744.088s 0.118s 744.273s 21 8,076 808.395s 0.111s 808.561s 22 8,174 818.84s 0.101s 818.993s 23 8,251 825.721s 0.101s 825.879s Day Hour Added Removed Recycled Synced files Longest sync Average sync May 29 00 0 0 2 530 0.006s 0.012s 01 0 0 8 531 0.003s 0.011s 02 0 0 1 547 0.004s 0.012s 03 0 0 2 537 0.003s 0.012s 04 0 0 2 534 0.002s 0.012s 05 0 0 2 556 0.002s 0.012s 06 0 0 2 1,254 0.003s 0.012s 07 0 0 2 1,425 0.004s 0.012s 08 0 0 3 1,296 0.002s 0.012s 09 0 0 2 1,381 0.003s 0.012s 10 0 0 2 1,276 0.002s 0.012s 11 0 0 2 1,068 0.002s 0.012s 12 0 0 2 1,083 0.001s 0.012s 13 0 0 2 927 0.002s 0.012s 14 0 0 2 834 0.002s 0.012s 15 0 0 2 783 0.003s 0.012s 16 0 0 2 894 0.001s 0.012s 17 0 0 2 783 0.003s 0.012s 18 0 0 1 542 0.001s 0.012s 19 0 0 2 531 0.003s 0.012s 20 0 0 2 554 0.003s 0.012s 21 0 0 1 540 0.003s 0.012s 22 0 0 2 527 0.002s 0.012s 23 0 0 2 544 0.002s 0.012s Day Hour Count Avg time (sec) May 29 00 0 0s 01 0 0s 02 0 0s 03 0 0s 04 0 0s 05 0 0s 06 0 0s 07 0 0s 08 0 0s 09 0 0s 10 0 0s 11 0 0s 12 0 0s 13 0 0s 14 0 0s 15 0 0s 16 0 0s 17 0 0s 18 0 0s 19 0 0s 20 0 0s 21 0 0s 22 0 0s 23 0 0s Day Hour Mean distance Mean estimate May 29 00 2,407.08 kB 3,143.92 kB 01 11,003.00 kB 37,588.00 kB 02 2,383.17 kB 35,561.92 kB 03 2,448.42 kB 11,849.33 kB 04 2,433.58 kB 5,076.08 kB 05 2,353.00 kB 3,251.25 kB 06 2,978.08 kB 3,469.08 kB 07 3,348.67 kB 4,033.50 kB 08 3,108.67 kB 3,995.17 kB 09 3,135.75 kB 3,847.08 kB 10 2,945.42 kB 3,702.08 kB 11 2,859.67 kB 3,379.75 kB 12 2,560.17 kB 3,244.42 kB 13 2,640.75 kB 3,292.58 kB 14 2,837.50 kB 3,651.17 kB 15 2,607.25 kB 3,544.67 kB 16 2,476.33 kB 3,168.17 kB 17 2,514.08 kB 3,389.08 kB 18 2,442.17 kB 3,112.25 kB 19 2,388.25 kB 3,079.50 kB 20 2,174.33 kB 2,766.00 kB 21 2,271.75 kB 3,044.25 kB 22 2,298.67 kB 3,081.00 kB 23 2,327.67 kB 3,042.83 kB -
Temporary Files
Size of temporary files
Key values
- 0 Temp Files size Peak
- Date
Size of temporary files (5 minutes period)
NO DATASET
Number of temporary files
Key values
- 0 per second Temp Files Peak
- Date
Number of temporary files (5 minutes period)
NO DATASET
Temporary Files Activity
↑ Back to the top of the Temporary Files Activity tableDay Hour Count Total size Average size May 29 00 0 0 0 01 0 0 0 02 0 0 0 03 0 0 0 04 0 0 0 05 0 0 0 06 0 0 0 07 0 0 0 08 0 0 0 09 0 0 0 10 0 0 0 11 0 0 0 12 0 0 0 13 0 0 0 14 0 0 0 15 0 0 0 16 0 0 0 17 0 0 0 18 0 0 0 19 0 0 0 20 0 0 0 21 0 0 0 22 0 0 0 23 0 0 0 -
Vacuums
Vacuums / Analyzes Distribution
Key values
- 0.61 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-05-29 01:30:22 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_produktiv_8 - Date
Average Autovacuum Duration
Key values
- 0.61 sec Highest CPU-cost vacuum
Table public.tasks
Database zemm_produktiv_8 - 2026-05-29 01:30:22 Date
Analyzes per table
Key values
- pg_catalog.pg_type (36) Main table analyzed (database zemm_produktiv_8)
- 118 analyzes Total
Table Number of analyzes zemm_produktiv_8.pg_catalog.pg_type 36 zemm_produktiv_8.pg_catalog.pg_attribute 29 zemm_produktiv_8.pg_catalog.pg_class 21 zemm_produktiv_8.pg_catalog.pg_depend 19 zemm_produktiv_8.public.cages_search_mview 2 fbi_unibi.pg_catalog.pg_shdepend 2 fbi_unire.pg_catalog.pg_shdepend 2 zemm_monitoring.observability.metrics_timeseries 2 zemm_produktiv_8.public.tasks 1 zemm_produktiv_8.public.users 1 zemm_produktiv_8.pg_catalog.pg_shdepend 1 fbi_ci_db.pg_catalog.pg_shdepend 1 zemm_produktiv_8.public.tmptasks 1 Total 118 Vacuums per table
Key values
- pg_catalog.pg_type (13) Main table vacuumed on database zemm_produktiv_8
- 52 vacuums Total
Index Buffer usage Skipped WAL usage Frozen Table Vacuums scans hits misses dirtied pins frozen records full page bytes pages tuples zemm_produktiv_8.pg_catalog.pg_type 13 13 0 0 0 0 0 642 136 157,196 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 13 13 0 0 0 0 0 1,213 373 302,802 0 0 zemm_produktiv_8.pg_catalog.pg_class 7 7 0 0 0 0 0 558 183 202,983 0 0 zemm_produktiv_8.pg_catalog.pg_depend 6 6 0 0 0 0 0 730 232 274,548 0 0 zemm_monitoring.pg_toast.pg_toast_181881 4 0 0 0 0 0 0 1,090 373 1,869,856 357 2,086 fbi_unire.pg_catalog.pg_shdepend 2 2 0 0 0 0 0 156 59 121,779 0 0 zemm_produktiv_8.pg_toast.pg_toast_2619 2 2 0 0 0 0 0 378 98 569,203 22 82 zemm_monitoring.pg_toast.pg_toast_67431 2 0 0 0 0 0 0 4,989 1,820 4,139,077 1,355 8,130 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 47,759 34 3,461,415 4 6 zemm_monitoring.observability.nginx_counters 1 1 0 0 0 0 0 1,683 1,171 1,564,864 0 0 zemm_produktiv_8.public.tmptasks 1 1 0 0 0 0 0 73 26 16,340 0 0 Total 52 46 0 0 0 0 0 59,271 4,505 12,680,063 1,738 10,304 Vacuum throughput per table
Key values
- public.tasks (0.61) Max CPU elapsed for vacuum on database zemm_produktiv_8
- pg_toast.pg_toast_67431 (1.661 ms) Max I/O read time for vacuum on database zemm_produktiv_8
- observability.nginx_counters (0.128 ms) Max I/O write time for vacuum on database zemm_produktiv_8
I/O timing (ms) CPU (s) Table read write elapsed zemm_produktiv_8.pg_catalog.pg_type 0 0 0 zemm_produktiv_8.pg_catalog.pg_attribute 0 0 0.1 zemm_produktiv_8.pg_catalog.pg_class 0 0 0.01 zemm_produktiv_8.pg_catalog.pg_depend 0 0 0.06 zemm_monitoring.pg_toast.pg_toast_181881 0 0 0.08 fbi_unire.pg_catalog.pg_shdepend 0 0 0.02 zemm_produktiv_8.pg_toast.pg_toast_2619 0.223 0 0.02 zemm_monitoring.pg_toast.pg_toast_67431 1.661 0 0.51 zemm_produktiv_8.public.tasks 0.471 0 0.61 zemm_monitoring.observability.nginx_counters 1.623 0.128 0.29 zemm_produktiv_8.public.tmptasks 0.11 0 0 Total 4.088 0.128 1.7 Tuples removed per table
Key values
- public.tasks (54767) Main table with removed tuples on database zemm_produktiv_8
- 80721 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 54,767 57,855 0 0 17,101 zemm_produktiv_8.pg_catalog.pg_attribute 13 13 8,377 74,471 0 0 2,392 zemm_monitoring.observability.nginx_counters 1 1 7,539 125,494 0 0 4,386 zemm_produktiv_8.pg_catalog.pg_depend 6 6 3,808 25,182 0 0 330 zemm_monitoring.pg_toast.pg_toast_67431 2 0 2,726 1,393,421 0 0 255,908 zemm_produktiv_8.pg_catalog.pg_type 13 13 1,998 10,803 0 0 403 zemm_produktiv_8.pg_catalog.pg_class 7 7 893 6,321 0 0 294 fbi_unire.pg_catalog.pg_shdepend 2 2 339 9,410 0 0 76 zemm_produktiv_8.pg_toast.pg_toast_2619 2 2 209 584 0 0 212 zemm_produktiv_8.public.tmptasks 1 1 65 841 0 0 120 zemm_monitoring.pg_toast.pg_toast_181881 4 0 0 60,558 0 0 11,066 Total 52 46 80,721 1,764,940 0 0 292,288 Pages removed per table
Key values
- unknown (0) Main table with removed pages on database unknown
- 0 pages Total removed
Pages removed per tables
NO DATASET
Table Number of vacuums Index scans Tuples removed Pages removed zemm_produktiv_8.public.tasks 1 1 54767 0 zemm_monitoring.observability.nginx_counters 1 1 7539 0 zemm_produktiv_8.pg_catalog.pg_depend 6 6 3808 0 zemm_monitoring.pg_toast.pg_toast_181881 4 0 0 0 fbi_unire.pg_catalog.pg_shdepend 2 2 339 0 zemm_produktiv_8.pg_catalog.pg_class 7 7 893 0 zemm_produktiv_8.pg_toast.pg_toast_2619 2 2 209 0 zemm_produktiv_8.public.tmptasks 1 1 65 0 zemm_produktiv_8.pg_catalog.pg_type 13 13 1998 0 zemm_monitoring.pg_toast.pg_toast_67431 2 0 2726 0 zemm_produktiv_8.pg_catalog.pg_attribute 13 13 8377 0 Total 52 46 80,721 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs May 29 00 0 0 01 1 1 02 1 1 03 0 0 04 1 0 05 0 0 06 1 5 07 12 29 08 7 19 09 8 17 10 1 3 11 6 10 12 4 10 13 2 9 14 3 4 15 2 2 16 0 4 17 2 4 18 1 0 19 0 0 20 0 0 21 0 0 22 0 0 23 0 0 - 0.61 sec Highest CPU-cost vacuum
-
Locks
Locks by types
Key values
- unknown Main Lock Type
- 0 locks Total
Most frequent waiting queries (N)
Rank Count Total time Min time Max time Avg duration Query NO DATASET
Queries that waited the most
Rank Wait time Query NO DATASET
-
Queries
Queries by type
Key values
- 63 Total read queries
- 24,667 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,640 Requests
- 2d3h53s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- monitoring_admin Main user
- 418,553 Requests
User Request type Count Duration labanimal Total 1,573 35m44s copy to 8 22s808ms cte 242 5m40s select 1,306 29m23s update 17 18s560ms monitoring_admin Total 418,553 26d5h19m57s cte 1,579 3h38m17s ddl 416,122 26d1h29m25s select 847 12m10s postgres Total 88 2m1s copy to 88 2m1s Duration by user
Key values
- 26d5h19m57s (monitoring_admin) Main time consuming user
User Request type Count Duration labanimal Total 1,573 35m44s copy to 8 22s808ms cte 242 5m40s select 1,306 29m23s update 17 18s560ms monitoring_admin Total 418,553 26d5h19m57s cte 1,579 3h38m17s ddl 416,122 26d1h29m25s select 847 12m10s postgres Total 88 2m1s copy to 88 2m1s Queries by host
Key values
- unknown Main host
- 420,109 Requests
- 26d5h55m24s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 24,640 Requests
- 2d3h53s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 84 1m18s cte 21 23s137ms select 63 55s6ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 983ms update 1 983ms pg_dump Total 5 6s495ms copy to 5 6s495ms unknown Total 24,640 2d3h53s cte 160 15m3s ddl 24,480 2d2h45m49s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-05-29 00:36:58 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 136 1000-10000ms duration
Slowest individual queries
Rank Duration Query 1 12s848ms WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 09:47:55+02' AND collected_at <= '2026-05-29 09:47:55+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 09:47:55+02' AND '2026-05-29 15:47:55+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 09:47:55+02' AND '2026-05-29 15:47:55+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';[ Date: 2026-05-29 15:48:08 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
2 12s848ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
3 12s848ms CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
4 12s848ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
5 12s848ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
6 12s848ms CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
7 12s848ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
8 12s848ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
9 12s848ms CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
10 12s848ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
11 12s848ms CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
12 12s848ms CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
13 12s848ms CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
14 12s848ms CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
15 12s848ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
16 12s848ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
17 12s848ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
18 12s848ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-05-29 15:49:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
19 12s848ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-05-29 15:50:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
20 12s848ms CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );[ Date: 2026-05-29 15:50:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
Time consuming queries (N)
Rank Total duration Times executed Min duration Max duration Avg duration Query 1 2h59m9s 1,440 507ms 12s848ms 7s465ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
2 2h59m9s 1,440 507ms 12s848ms 7s465ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
3 2h59m9s 1,440 507ms 12s848ms 7s465ms 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 May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
4 2h59m9s 1,440 507ms 12s848ms 7s465ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
5 2h59m9s 1,440 507ms 12s848ms 7s465ms 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 #5
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
6 2h59m9s 1,440 507ms 12s848ms 7s465ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
7 2h59m9s 1,440 507ms 12s848ms 7s465ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
8 2h59m9s 1,440 507ms 12s848ms 7s465ms 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 May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
9 2h59m9s 1,440 507ms 12s848ms 7s465ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
10 2h59m9s 1,440 507ms 12s848ms 7s465ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
11 2h59m9s 1,440 507ms 12s848ms 7s465ms 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 #11
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
12 2h59m9s 1,440 507ms 12s848ms 7s465ms create schema if not exists observability;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
13 2h59m9s 1,440 507ms 12s848ms 7s465ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
14 2h59m9s 1,440 507ms 12s848ms 7s465ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
15 2h59m9s 1,440 507ms 12s848ms 7s465ms 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 #15
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
16 2h59m9s 1,440 507ms 12s848ms 7s465ms 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 #16
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
17 2h59m9s 1,440 507ms 12s848ms 7s465ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
18 15m3s 160 1s462ms 12s848ms 5s649ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at >= ? and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration May 29 01 12 18s254ms 1s521ms 02 12 18s259ms 1s521ms 03 10 15s121ms 1s512ms 04 10 14s893ms 1s489ms 05 11 16s667ms 1s515ms 06 10 15s750ms 1s575ms 07 11 18s250ms 1s659ms 08 11 18s48ms 1s640ms 09 7 11s501ms 1s643ms 10 6 10s150ms 1s691ms 11 7 1m17s 11s79ms 12 6 1m15s 12s585ms 13 7 1m28s 12s641ms 14 6 1m15s 12s610ms 15 6 1m15s 12s583ms 16 6 1m15s 12s642ms 17 6 1m15s 12s597ms 18 5 1m3s 12s677ms 19 6 1m16s 12s697ms 20 5 1m3s 12s643ms [ User: monitoring_admin - Total duration: 15m3s - Times executed: 160 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 09:47:55+02' AND collected_at <= '2026-05-29 09:47:55+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 09:47:55+02' AND '2026-05-29 15:47:55+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 09:47:55+02' AND '2026-05-29 15:47:55+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-29 15:48:08 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 12:11:32+02' AND collected_at <= '2026-05-29 12:11:32+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 12:11:32+02' AND '2026-05-29 18:11:32+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 12:11:32+02' AND '2026-05-29 18:11:32+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-29 18:11:45 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 11:30:17+02' AND collected_at <= '2026-05-29 11:30:17+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 11:30:17+02' AND '2026-05-29 17:30:17+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 11:30:17+02' AND '2026-05-29 17:30:17+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-29 17:30:30 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
19 7s186ms 5 1s415ms 1s460ms 1s437ms 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 and sire.name like (?) 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 #19
Day Hour Count Duration Avg duration May 29 16 1 1s431ms 1s431ms 17 3 4s339ms 1s446ms 18 1 1s415ms 1s415ms [ User: labanimal - Total duration: 7s186ms - Times executed: 5 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 7s186ms - Times executed: 5 ]
-
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, 64) THEN TRUE WHEN user_is_tgm (dam.editor, 64) THEN TRUE WHEN user_is_tgm (dam.tourist, 64) 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, 64) THEN TRUE WHEN user_is_tgm (sire.editor, 64) THEN TRUE WHEN user_is_tgm (sire.tourist, 64) THEN TRUE ELSE FALSE END AND sire.name like ('17') 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-05-29 16:37:02 Duration: 1s460ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 64) THEN TRUE WHEN user_is_tgm (dam.editor, 64) THEN TRUE WHEN user_is_tgm (dam.tourist, 64) 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, 64) THEN TRUE WHEN user_is_tgm (sire.editor, 64) THEN TRUE WHEN user_is_tgm (sire.tourist, 64) THEN TRUE ELSE FALSE END AND sire.name like ('33') 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-05-29 16:37:42 Duration: 1s441ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 64) THEN TRUE WHEN user_is_tgm (dam.editor, 64) THEN TRUE WHEN user_is_tgm (dam.tourist, 64) 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, 64) THEN TRUE WHEN user_is_tgm (sire.editor, 64) THEN TRUE WHEN user_is_tgm (sire.tourist, 64) THEN TRUE ELSE FALSE END AND sire.name like ('23') 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-05-29 16:39:20 Duration: 1s437ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
20 6s943ms 10 649ms 728ms 694ms with readable_targetgroups as materialized ( select tgm.targetgroup from "targetgroupMembers" tgm where tgm."user" = ? union select tgm.targetgroup from "targetgroupMembers" tgm join "groupMembers" gm on gm."group" = tgm."group" where gm."user" = ? ) select * from litters_search_mview l where not (deleted) and (l.owner in ( select targetgroup from readable_targetgroups) or l.editor in ( select targetgroup from readable_targetgroups) or l.tourist in ( select targetgroup from readable_targetgroups)) and (offspring - case when male_wean is null then ? else male_wean end - case when female_wean is null then ? else female_wean end - case when male_dead is null then ? else male_dead end - case when female_dead is null then ? else female_dead end - case when female_deceased is null then ? else female_deceased end - case when male_deceased is null then ? else male_deceased end) > ? and "cageName" like ? order by bday desc, dam_name, sire_name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 29 07 8 5s599ms 699ms 08 2 1s343ms 671ms [ User: labanimal - Total duration: 6s943ms - Times executed: 10 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 6s943ms - Times executed: 10 ]
-
WITH readable_targetgroups AS MATERIALIZED ( SELECT tgm.targetgroup FROM "targetgroupMembers" tgm WHERE tgm."user" = 142 UNION SELECT tgm.targetgroup FROM "targetgroupMembers" tgm JOIN "groupMembers" gm ON gm."group" = tgm."group" WHERE gm."user" = 142 ) SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND (l.owner IN ( SELECT targetgroup FROM readable_targetgroups) OR l.editor IN ( SELECT targetgroup FROM readable_targetgroups) OR l.tourist IN ( SELECT targetgroup FROM readable_targetgroups)) AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '50-212' ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-05-29 06:38:39 Duration: 728ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH readable_targetgroups AS MATERIALIZED ( SELECT tgm.targetgroup FROM "targetgroupMembers" tgm WHERE tgm."user" = 142 UNION SELECT tgm.targetgroup FROM "targetgroupMembers" tgm JOIN "groupMembers" gm ON gm."group" = tgm."group" WHERE gm."user" = 142 ) SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND (l.owner IN ( SELECT targetgroup FROM readable_targetgroups) OR l.editor IN ( SELECT targetgroup FROM readable_targetgroups) OR l.tourist IN ( SELECT targetgroup FROM readable_targetgroups)) AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '50-445' ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-05-29 06:43:16 Duration: 725ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH readable_targetgroups AS MATERIALIZED ( SELECT tgm.targetgroup FROM "targetgroupMembers" tgm WHERE tgm."user" = 142 UNION SELECT tgm.targetgroup FROM "targetgroupMembers" tgm JOIN "groupMembers" gm ON gm."group" = tgm."group" WHERE gm."user" = 142 ) SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND (l.owner IN ( SELECT targetgroup FROM readable_targetgroups) OR l.editor IN ( SELECT targetgroup FROM readable_targetgroups) OR l.tourist IN ( SELECT targetgroup FROM readable_targetgroups)) AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '50-202' ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-05-29 06:29:08 Duration: 720ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 2h59m9s 507ms 12s848ms 7s465ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
2 1,440 2h59m9s 507ms 12s848ms 7s465ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
3 1,440 2h59m9s 507ms 12s848ms 7s465ms 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 May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
4 1,440 2h59m9s 507ms 12s848ms 7s465ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
5 1,440 2h59m9s 507ms 12s848ms 7s465ms 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 #5
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
6 1,440 2h59m9s 507ms 12s848ms 7s465ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
7 1,440 2h59m9s 507ms 12s848ms 7s465ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
8 1,440 2h59m9s 507ms 12s848ms 7s465ms 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 May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
9 1,440 2h59m9s 507ms 12s848ms 7s465ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
10 1,440 2h59m9s 507ms 12s848ms 7s465ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
11 1,440 2h59m9s 507ms 12s848ms 7s465ms 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 #11
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
12 1,440 2h59m9s 507ms 12s848ms 7s465ms create schema if not exists observability;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
13 1,440 2h59m9s 507ms 12s848ms 7s465ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
14 1,440 2h59m9s 507ms 12s848ms 7s465ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
15 1,440 2h59m9s 507ms 12s848ms 7s465ms 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 #15
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
16 1,440 2h59m9s 507ms 12s848ms 7s465ms 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 #16
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
17 1,440 2h59m9s 507ms 12s848ms 7s465ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
18 160 15m3s 1s462ms 12s848ms 5s649ms with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at >= ? and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration May 29 01 12 18s254ms 1s521ms 02 12 18s259ms 1s521ms 03 10 15s121ms 1s512ms 04 10 14s893ms 1s489ms 05 11 16s667ms 1s515ms 06 10 15s750ms 1s575ms 07 11 18s250ms 1s659ms 08 11 18s48ms 1s640ms 09 7 11s501ms 1s643ms 10 6 10s150ms 1s691ms 11 7 1m17s 11s79ms 12 6 1m15s 12s585ms 13 7 1m28s 12s641ms 14 6 1m15s 12s610ms 15 6 1m15s 12s583ms 16 6 1m15s 12s642ms 17 6 1m15s 12s597ms 18 5 1m3s 12s677ms 19 6 1m16s 12s697ms 20 5 1m3s 12s643ms [ User: monitoring_admin - Total duration: 15m3s - Times executed: 160 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 09:47:55+02' AND collected_at <= '2026-05-29 09:47:55+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 09:47:55+02' AND '2026-05-29 15:47:55+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 09:47:55+02' AND '2026-05-29 15:47:55+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-29 15:48:08 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 12:11:32+02' AND collected_at <= '2026-05-29 12:11:32+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 12:11:32+02' AND '2026-05-29 18:11:32+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 12:11:32+02' AND '2026-05-29 18:11:32+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-29 18:11:45 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 11:30:17+02' AND collected_at <= '2026-05-29 11:30:17+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 11:30:17+02' AND '2026-05-29 17:30:17+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 11:30:17+02' AND '2026-05-29 17:30:17+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-29 17:30:30 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
19 10 6s943ms 649ms 728ms 694ms with readable_targetgroups as materialized ( select tgm.targetgroup from "targetgroupMembers" tgm where tgm."user" = ? union select tgm.targetgroup from "targetgroupMembers" tgm join "groupMembers" gm on gm."group" = tgm."group" where gm."user" = ? ) select * from litters_search_mview l where not (deleted) and (l.owner in ( select targetgroup from readable_targetgroups) or l.editor in ( select targetgroup from readable_targetgroups) or l.tourist in ( select targetgroup from readable_targetgroups)) and (offspring - case when male_wean is null then ? else male_wean end - case when female_wean is null then ? else female_wean end - case when male_dead is null then ? else male_dead end - case when female_dead is null then ? else female_dead end - case when female_deceased is null then ? else female_deceased end - case when male_deceased is null then ? else male_deceased end) > ? and "cageName" like ? order by bday desc, dam_name, sire_name;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 29 07 8 5s599ms 699ms 08 2 1s343ms 671ms [ User: labanimal - Total duration: 6s943ms - Times executed: 10 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 6s943ms - Times executed: 10 ]
-
WITH readable_targetgroups AS MATERIALIZED ( SELECT tgm.targetgroup FROM "targetgroupMembers" tgm WHERE tgm."user" = 142 UNION SELECT tgm.targetgroup FROM "targetgroupMembers" tgm JOIN "groupMembers" gm ON gm."group" = tgm."group" WHERE gm."user" = 142 ) SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND (l.owner IN ( SELECT targetgroup FROM readable_targetgroups) OR l.editor IN ( SELECT targetgroup FROM readable_targetgroups) OR l.tourist IN ( SELECT targetgroup FROM readable_targetgroups)) AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '50-212' ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-05-29 06:38:39 Duration: 728ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH readable_targetgroups AS MATERIALIZED ( SELECT tgm.targetgroup FROM "targetgroupMembers" tgm WHERE tgm."user" = 142 UNION SELECT tgm.targetgroup FROM "targetgroupMembers" tgm JOIN "groupMembers" gm ON gm."group" = tgm."group" WHERE gm."user" = 142 ) SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND (l.owner IN ( SELECT targetgroup FROM readable_targetgroups) OR l.editor IN ( SELECT targetgroup FROM readable_targetgroups) OR l.tourist IN ( SELECT targetgroup FROM readable_targetgroups)) AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '50-445' ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-05-29 06:43:16 Duration: 725ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH readable_targetgroups AS MATERIALIZED ( SELECT tgm.targetgroup FROM "targetgroupMembers" tgm WHERE tgm."user" = 142 UNION SELECT tgm.targetgroup FROM "targetgroupMembers" tgm JOIN "groupMembers" gm ON gm."group" = tgm."group" WHERE gm."user" = 142 ) SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND (l.owner IN ( SELECT targetgroup FROM readable_targetgroups) OR l.editor IN ( SELECT targetgroup FROM readable_targetgroups) OR l.tourist IN ( SELECT targetgroup FROM readable_targetgroups)) AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '50-202' ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-05-29 06:29:08 Duration: 720ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
20 5 7s186ms 1s415ms 1s460ms 1s437ms 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 and sire.name like (?) 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 #20
Day Hour Count Duration Avg duration May 29 16 1 1s431ms 1s431ms 17 3 4s339ms 1s446ms 18 1 1s415ms 1s415ms [ User: labanimal - Total duration: 7s186ms - Times executed: 5 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 7s186ms - Times executed: 5 ]
-
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, 64) THEN TRUE WHEN user_is_tgm (dam.editor, 64) THEN TRUE WHEN user_is_tgm (dam.tourist, 64) 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, 64) THEN TRUE WHEN user_is_tgm (sire.editor, 64) THEN TRUE WHEN user_is_tgm (sire.tourist, 64) THEN TRUE ELSE FALSE END AND sire.name like ('17') 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-05-29 16:37:02 Duration: 1s460ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 64) THEN TRUE WHEN user_is_tgm (dam.editor, 64) THEN TRUE WHEN user_is_tgm (dam.tourist, 64) 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, 64) THEN TRUE WHEN user_is_tgm (sire.editor, 64) THEN TRUE WHEN user_is_tgm (sire.tourist, 64) THEN TRUE ELSE FALSE END AND sire.name like ('33') 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-05-29 16:37:42 Duration: 1s441ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 64) THEN TRUE WHEN user_is_tgm (dam.editor, 64) THEN TRUE WHEN user_is_tgm (dam.tourist, 64) 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, 64) THEN TRUE WHEN user_is_tgm (sire.editor, 64) THEN TRUE WHEN user_is_tgm (sire.tourist, 64) THEN TRUE ELSE FALSE END AND sire.name like ('23') 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-05-29 16:39:20 Duration: 1s437ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 507ms 12s848ms 7s465ms 1,440 2h59m9s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
2 507ms 12s848ms 7s465ms 1,440 2h59m9s create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
3 507ms 12s848ms 7s465ms 1,440 2h59m9s 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 May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
4 507ms 12s848ms 7s465ms 1,440 2h59m9s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
5 507ms 12s848ms 7s465ms 1,440 2h59m9s 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 #5
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
6 507ms 12s848ms 7s465ms 1,440 2h59m9s create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
7 507ms 12s848ms 7s465ms 1,440 2h59m9s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
8 507ms 12s848ms 7s465ms 1,440 2h59m9s 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 May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
9 507ms 12s848ms 7s465ms 1,440 2h59m9s create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
10 507ms 12s848ms 7s465ms 1,440 2h59m9s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
11 507ms 12s848ms 7s465ms 1,440 2h59m9s 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 #11
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
12 507ms 12s848ms 7s465ms 1,440 2h59m9s create schema if not exists observability;Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
13 507ms 12s848ms 7s465ms 1,440 2h59m9s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
14 507ms 12s848ms 7s465ms 1,440 2h59m9s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
15 507ms 12s848ms 7s465ms 1,440 2h59m9s 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 #15
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
16 507ms 12s848ms 7s465ms 1,440 2h59m9s 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 #16
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
17 507ms 12s848ms 7s465ms 1,440 2h59m9s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 29 01 60 1m29s 1s498ms 02 60 1m29s 1s490ms 03 60 1m30s 1s515ms 04 60 1m29s 1s489ms 05 60 1m30s 1s514ms 06 60 1m33s 1s560ms 07 60 1m15s 1s265ms 08 60 1m37s 1s620ms 09 60 1m37s 1s628ms 10 60 1m34s 1s568ms 11 60 7m6s 7s107ms 12 60 12m 12s1ms 13 60 12m3s 12s53ms 14 60 12m36s 12s612ms 15 60 12m11s 12s183ms 16 60 11m41s 11s690ms 17 60 10m21s 10s362ms 18 60 10m58s 10s973ms 19 60 12m41s 12s699ms 20 60 12m39s 12s652ms 21 60 12m36s 12s606ms 22 60 12m36s 12s606ms 23 60 12m36s 12s606ms 00 60 11m51s 11s857ms [ User: monitoring_admin - Total duration: 2h59m9s - Times executed: 1439 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-29 15:53:01 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-29 18:22:01 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-29 17:40:01 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
18 1s462ms 12s848ms 5s649ms 160 15m3s with start_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at >= ? and collected_at <= ? order by tenant_key, fingerprint, collected_at desc ), fallback_start as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at asc ), end_snap as ( select distinct on (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at from observability.db_top_queries where tenant_key in (...) and collected_at between ? and ? order by tenant_key, fingerprint, collected_at desc ), deltas as ( select e.tenant_key, e.fingerprint, e.query, e.collected_at as last_seen, greatest (coalesce(e.total_time_ms, ?) - coalesce(s.total_time_ms, fs.total_time_ms, ?), ?) as total_time_ms, greatest (coalesce(e.calls, ?) - coalesce(s.calls, fs.calls, ?), ?) as calls, greatest (coalesce(e.rows_returned, ?) - coalesce(s.rows_returned, fs.rows_returned, ?), ?) as rows_returned from end_snap e left join start_snap s on s.tenant_key = e.tenant_key and s.fingerprint = e.fingerprint left join fallback_start fs on fs.tenant_key = e.tenant_key and fs.fingerprint = e.fingerprint and s.tenant_key is null ) select fingerprint, max(query) as query, max(last_seen) as last_seen, sum(total_time_ms) as total_time_ms, sum(calls) as calls, sum(rows_returned) as rows_returned, case when sum(calls) > ? then sum(total_time_ms) / sum(calls) else ? end as mean_time_ms, array_agg(distinct tenant_key order by tenant_key) as tenant_keys from deltas where total_time_ms > ? or calls > ? group by fingerprint order by total_time_ms desc, calls desc limit ? offset ?;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration May 29 01 12 18s254ms 1s521ms 02 12 18s259ms 1s521ms 03 10 15s121ms 1s512ms 04 10 14s893ms 1s489ms 05 11 16s667ms 1s515ms 06 10 15s750ms 1s575ms 07 11 18s250ms 1s659ms 08 11 18s48ms 1s640ms 09 7 11s501ms 1s643ms 10 6 10s150ms 1s691ms 11 7 1m17s 11s79ms 12 6 1m15s 12s585ms 13 7 1m28s 12s641ms 14 6 1m15s 12s610ms 15 6 1m15s 12s583ms 16 6 1m15s 12s642ms 17 6 1m15s 12s597ms 18 5 1m3s 12s677ms 19 6 1m16s 12s697ms 20 5 1m3s 12s643ms [ User: monitoring_admin - Total duration: 15m3s - Times executed: 160 ]
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 09:47:55+02' AND collected_at <= '2026-05-29 09:47:55+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 09:47:55+02' AND '2026-05-29 15:47:55+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 09:47:55+02' AND '2026-05-29 15:47:55+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-29 15:48:08 Duration: 12s848ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 12:11:32+02' AND collected_at <= '2026-05-29 12:11:32+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 12:11:32+02' AND '2026-05-29 18:11:32+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 12:11:32+02' AND '2026-05-29 18:11:32+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-29 18:11:45 Duration: 12s733ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH start_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at >= '2026-05-27 11:30:17+02' AND collected_at <= '2026-05-29 11:30:17+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 11:30:17+02' AND '2026-05-29 17:30:17+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-29 11:30:17+02' AND '2026-05-29 17:30:17+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-29 17:30:30 Duration: 12s724ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
19 1s415ms 1s460ms 1s437ms 5 7s186ms 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 and sire.name like (?) 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 #19
Day Hour Count Duration Avg duration May 29 16 1 1s431ms 1s431ms 17 3 4s339ms 1s446ms 18 1 1s415ms 1s415ms [ User: labanimal - Total duration: 7s186ms - Times executed: 5 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 7s186ms - Times executed: 5 ]
-
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, 64) THEN TRUE WHEN user_is_tgm (dam.editor, 64) THEN TRUE WHEN user_is_tgm (dam.tourist, 64) 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, 64) THEN TRUE WHEN user_is_tgm (sire.editor, 64) THEN TRUE WHEN user_is_tgm (sire.tourist, 64) THEN TRUE ELSE FALSE END AND sire.name like ('17') 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-05-29 16:37:02 Duration: 1s460ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 64) THEN TRUE WHEN user_is_tgm (dam.editor, 64) THEN TRUE WHEN user_is_tgm (dam.tourist, 64) 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, 64) THEN TRUE WHEN user_is_tgm (sire.editor, 64) THEN TRUE WHEN user_is_tgm (sire.tourist, 64) THEN TRUE ELSE FALSE END AND sire.name like ('33') 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-05-29 16:37:42 Duration: 1s441ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH damdam AS ( SELECT breedingid, string_agg(cast(dam as text), ';') AS dam FROM breedingsdams INNER JOIN ( SELECT id, owner, editor, tourist, "animalID", name, "dummy_strain_info", generation, "dummy_line_info", "dummy_backcross_info" FROM animals) AS dam ON dam.id = breedingsdams.dam AND CASE WHEN user_is_tgm (dam.owner, 64) THEN TRUE WHEN user_is_tgm (dam.editor, 64) THEN TRUE WHEN user_is_tgm (dam.tourist, 64) 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, 64) THEN TRUE WHEN user_is_tgm (sire.editor, 64) THEN TRUE WHEN user_is_tgm (sire.tourist, 64) THEN TRUE ELSE FALSE END AND sire.name like ('23') 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-05-29 16:39:20 Duration: 1s437ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
20 649ms 728ms 694ms 10 6s943ms with readable_targetgroups as materialized ( select tgm.targetgroup from "targetgroupMembers" tgm where tgm."user" = ? union select tgm.targetgroup from "targetgroupMembers" tgm join "groupMembers" gm on gm."group" = tgm."group" where gm."user" = ? ) select * from litters_search_mview l where not (deleted) and (l.owner in ( select targetgroup from readable_targetgroups) or l.editor in ( select targetgroup from readable_targetgroups) or l.tourist in ( select targetgroup from readable_targetgroups)) and (offspring - case when male_wean is null then ? else male_wean end - case when female_wean is null then ? else female_wean end - case when male_dead is null then ? else male_dead end - case when female_dead is null then ? else female_dead end - case when female_deceased is null then ? else female_deceased end - case when male_deceased is null then ? else male_deceased end) > ? and "cageName" like ? order by bday desc, dam_name, sire_name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 29 07 8 5s599ms 699ms 08 2 1s343ms 671ms [ User: labanimal - Total duration: 6s943ms - Times executed: 10 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 6s943ms - Times executed: 10 ]
-
WITH readable_targetgroups AS MATERIALIZED ( SELECT tgm.targetgroup FROM "targetgroupMembers" tgm WHERE tgm."user" = 142 UNION SELECT tgm.targetgroup FROM "targetgroupMembers" tgm JOIN "groupMembers" gm ON gm."group" = tgm."group" WHERE gm."user" = 142 ) SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND (l.owner IN ( SELECT targetgroup FROM readable_targetgroups) OR l.editor IN ( SELECT targetgroup FROM readable_targetgroups) OR l.tourist IN ( SELECT targetgroup FROM readable_targetgroups)) AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '50-212' ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-05-29 06:38:39 Duration: 728ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH readable_targetgroups AS MATERIALIZED ( SELECT tgm.targetgroup FROM "targetgroupMembers" tgm WHERE tgm."user" = 142 UNION SELECT tgm.targetgroup FROM "targetgroupMembers" tgm JOIN "groupMembers" gm ON gm."group" = tgm."group" WHERE gm."user" = 142 ) SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND (l.owner IN ( SELECT targetgroup FROM readable_targetgroups) OR l.editor IN ( SELECT targetgroup FROM readable_targetgroups) OR l.tourist IN ( SELECT targetgroup FROM readable_targetgroups)) AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '50-445' ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-05-29 06:43:16 Duration: 725ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
-
WITH readable_targetgroups AS MATERIALIZED ( SELECT tgm.targetgroup FROM "targetgroupMembers" tgm WHERE tgm."user" = 142 UNION SELECT tgm.targetgroup FROM "targetgroupMembers" tgm JOIN "groupMembers" gm ON gm."group" = tgm."group" WHERE gm."user" = 142 ) SELECT * FROM litters_search_mview l WHERE NOT (deleted) AND (l.owner IN ( SELECT targetgroup FROM readable_targetgroups) OR l.editor IN ( SELECT targetgroup FROM readable_targetgroups) OR l.tourist IN ( SELECT targetgroup FROM readable_targetgroups)) AND (offspring - CASE WHEN male_wean IS NULL THEN 0 ELSE male_wean END - CASE WHEN female_wean IS NULL THEN 0 ELSE female_wean END - CASE WHEN male_dead IS NULL THEN 0 ELSE male_dead END - CASE WHEN female_dead IS NULL THEN 0 ELSE female_dead END - CASE WHEN female_deceased IS NULL THEN 0 ELSE female_deceased END - CASE WHEN male_deceased IS NULL THEN 0 ELSE male_deceased END) > 0 AND "cageName" LIKE '50-202' ORDER BY bday DESC, dam_name, sire_name;
Date: 2026-05-29 06:29:08 Duration: 720ms Database: zemm_produktiv_8 User: labanimal Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
Time consuming prepare
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
Time consuming bind
Rank Total duration Times executed Min duration Max duration Avg duration Query NO DATASET
-
Events
Log levels
Key values
- 138,368 Event entries
- (EVENTLOG entries are formaly LOG level entries that are not queries)
Events distribution (except queries)
Key values
- 0 PANIC entries
- 0 FATAL entries
- 2 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Most Frequent Errors/Events
Key values
- 2 Max number of times the same event was reported
- 2 Total events found
Rank Times reported Error 1 2 ERROR: duplicate key value violates unique constraint "..."
Times Reported Most Frequent Error / Event #1
Day Hour Count May 29 01 1 07 1 - ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
- ERROR: duplicate key value violates unique constraint "metrics_timeseries_tenant_key_metric_name_bucket_start_buck_key"
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(live, http_requests_total, 2026-05-29 00:06:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-05-29 00:06:01 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv
Detail: Key (tenant_key, metric_name, bucket_start, bucket_width_seconds)=(live, http_requests_total, 2026-05-29 06:52:00+02, 60) already exists.
Statement: INSERT INTO observability.metrics_timeseries (tenant_key, metric_name, bucket_start, bucket_width_seconds, sum_value, count_value, histogram) VALUES ($1, $2, $3, $4, $5, $6, $7)Date: 2026-05-29 06:52:00 Database: zemm_monitoring Application: User: labanimal Remote: Log file: /var/log/postgresql/postgresql-2026-05-29_000000.csv