-
Global information
- Generated on Mon Jun 15 06:05:26 2026
- Log file: /var/log/postgresql/postgresql-2026-05-13_000000.csv, ..., /var/log/postgresql/postgresql-2026-06-15_000000.csv
- Parsed 190,687 log entries in 5m25s
- Log start from 2026-05-31 00:00:01 to 2026-05-31 23:59:53
-
Overview
Global Stats
- 26 Number of unique normalized queries
- 24,497 Number of queries
- 16h51m6s Total query duration
- 2026-05-31 00:00:01 First query
- 2026-05-31 23:59:01 Last query
- 17 queries/s at 2026-05-31 00:48:01 Query peak
- 16h51m6s Total query duration
- 0ms Prepare/parse total duration
- 0ms Bind total duration
- 16h51m6s Execute total duration
- 0 Number of events
- 0 Number of unique normalized events
- 0 Max number of times the same event was reported
- 0 Number of cancellation
- 10 Total number of automatic vacuums
- 4 Total number of automatic analyzes
- 0 Number temporary file
- 0 Max size of temporary file
- 0.00 B Average size of temporary file
- 14,502 Total number of sessions
- 5 sessions at 2026-05-31 11:29:07 Session peak
- 1h1m44s Total duration of sessions
- 255ms Average duration of sessions
- 1 Average queries per session
- 4s183ms Average queries duration per session
- 0ms Average idle time per session
- 14,502 Total number of connections
- 29 connections/s at 2026-05-31 11:18:49 Connection peak
- 2 Total number of databases
SQL Traffic
Key values
- 17 queries/s Query Peak
- 2026-05-31 00:48:01 Date
SELECT Traffic
Key values
- 1 queries/s Query Peak
- 2026-05-31 13:38:47 Date
INSERT/UPDATE/DELETE Traffic
Key values
- 17 queries/s Query Peak
- 2026-05-31 00:48:01 Date
Queries duration
Key values
- 16h51m6s 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 31 00 1,020 0ms 0ms 0ms 0ms 0ms 0ms 01 1,021 0ms 1s226ms 593ms 20s852ms 20s852ms 20s852ms 02 1,020 1s226ms 1s226ms 1s226ms 20s852ms 20s852ms 20s852ms 03 1,020 1s226ms 1s226ms 1s226ms 20s852ms 20s852ms 20s852ms 04 1,020 1s226ms 1s226ms 1s226ms 20s852ms 20s852ms 20s852ms 05 1,020 1s226ms 1s226ms 1s226ms 20s852ms 20s852ms 20s852ms 06 1,020 1s226ms 1s226ms 1s226ms 20s852ms 20s852ms 20s852ms 07 1,020 1s226ms 1s226ms 1s226ms 20s852ms 20s852ms 20s852ms 08 1,020 1s226ms 1s226ms 1s226ms 20s852ms 20s852ms 20s852ms 09 1,020 1s226ms 1s226ms 1s226ms 20s852ms 20s852ms 20s852ms 10 1,021 1s226ms 12s71ms 2s320ms 3m25s 3m25s 3m25s 11 1,026 11s901ms 15s729ms 13s440ms 4m27s 4m27s 4m27s 12 1,020 15s729ms 15s729ms 15s729ms 4m27s 4m27s 4m27s 13 1,024 697ms 15s729ms 10s430ms 4m27s 4m27s 4m30s 14 1,020 697ms 697ms 697ms 11s855ms 11s855ms 11s855ms 15 1,020 697ms 697ms 697ms 11s855ms 11s855ms 11s855ms 16 1,020 697ms 697ms 697ms 11s855ms 11s855ms 11s855ms 17 1,020 697ms 697ms 697ms 11s855ms 11s855ms 11s855ms 18 1,020 697ms 697ms 697ms 11s855ms 11s855ms 11s855ms 19 1,020 697ms 697ms 697ms 11s855ms 11s855ms 11s855ms 20 1,020 697ms 697ms 697ms 11s855ms 11s855ms 11s855ms 21 1,020 697ms 697ms 697ms 11s855ms 11s855ms 11s855ms 22 1,020 697ms 697ms 697ms 11s855ms 11s855ms 11s855ms 23 1,025 547ms 2s33ms 746ms 11s855ms 23s562ms 23s562ms Day Hour SELECT COPY TO Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 31 00 0 0 0ms 0ms 0ms 0ms 01 0 0 0ms 0ms 0ms 0ms 02 0 0 0ms 0ms 0ms 0ms 03 0 0 0ms 0ms 0ms 0ms 04 0 0 0ms 0ms 0ms 0ms 05 0 0 0ms 0ms 0ms 0ms 06 0 0 0ms 0ms 0ms 0ms 07 0 0 0ms 0ms 0ms 0ms 08 0 0 0ms 0ms 0ms 0ms 09 0 0 0ms 0ms 0ms 0ms 10 0 0 0ms 0ms 0ms 0ms 11 0 0 0ms 0ms 0ms 0ms 12 0 0 0ms 0ms 0ms 0ms 13 4 0 724ms 0ms 0ms 0ms 14 0 0 0ms 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 1s302ms 0ms 0ms 0ms Day Hour INSERT UPDATE DELETE COPY FROM Average Duration Latency Percentile(90) Latency Percentile(95) Latency Percentile(99) May 31 00 0 0 0 0 0ms 0ms 0ms 0ms 01 0 1 0 0 1s226ms 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 31 00 0 0 0.00 0.00% 01 0 0 0.00 0.00% 02 0 0 0.00 0.00% 03 0 0 0.00 0.00% 04 0 0 0.00 0.00% 05 0 0 0.00 0.00% 06 0 0 0.00 0.00% 07 0 0 0.00 0.00% 08 0 0 0.00 0.00% 09 0 0 0.00 0.00% 10 0 1 1.00 0.00% 11 0 6 6.00 0.00% 12 0 0 0.00 0.00% 13 0 0 0.00 0.00% 14 0 0 0.00 0.00% 15 0 0 0.00 0.00% 16 0 0 0.00 0.00% 17 0 0 0.00 0.00% 18 0 0 0.00 0.00% 19 0 0 0.00 0.00% 20 0 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 31 00 546 0.15/s 01 546 0.15/s 02 543 0.15/s 03 545 0.15/s 04 552 0.15/s 05 546 0.15/s 06 543 0.15/s 07 549 0.15/s 08 543 0.15/s 09 543 0.15/s 10 602 0.17/s 11 815 0.23/s 12 546 0.15/s 13 583 0.16/s 14 546 0.15/s 15 543 0.15/s 16 545 0.15/s 17 558 0.15/s 18 543 0.15/s 19 1,350 0.38/s 20 764 0.21/s 21 553 0.15/s 22 552 0.15/s 23 546 0.15/s Day Hour Count Average Duration Average idle time May 31 00 546 249ms 249ms 01 546 252ms 0ms 02 543 249ms 0ms 03 545 248ms 0ms 04 552 247ms 0ms 05 546 250ms 0ms 06 543 251ms 0ms 07 549 247ms 0ms 08 543 249ms 0ms 09 543 251ms 0ms 10 602 256ms 0ms 11 815 298ms 0ms 12 546 249ms 0ms 13 583 246ms 0ms 14 546 249ms 0ms 15 543 251ms 0ms 16 545 250ms 0ms 17 558 245ms 0ms 18 543 250ms 0ms 19 1,350 274ms 0ms 20 764 252ms 0ms 21 553 246ms 0ms 22 552 246ms 0ms 23 546 269ms 0ms -
Connections
Established Connections
Key values
- 29 connections Connection Peak
- 2026-05-31 11:18:49 Date
Connections per database
Key values
- zemm_monitoring Main Database
- 14,502 connections Total
Connections per user
Key values
- labanimal Main User
- 14,502 connections Total
-
Sessions
Simultaneous sessions
Key values
- 5 sessions Session Peak
- 2026-05-31 11:29:07 Date
Histogram of session times
Key values
- 12,749 0-500ms duration
Sessions per database
Key values
- zemm_monitoring Main Database
- 14,502 sessions Total
Sessions per user
Key values
- labanimal Main User
- 14,502 sessions Total
Sessions per host
Key values
- ::1 Main Host
- 14,502 sessions Total
Sessions per application
Key values
- Main Application
- 14,502 sessions Total
Application Count Total Duration Average Duration 12,662 58m22s 276ms _desktop__zemm_produktiv_8_localhost_5432 1 52ms 52ms _desktop_index.php_command_login_subcommand_init_zemm_dev_local 2 64ms 32ms _desktop_index.php_command_login_subcommand_init_zemm_produktiv 1,461 43s305ms 29ms _desktop_index.php_command_login_subcommand_init_zemm_test_loca 6 211ms 35ms _desktop_index.php_view_animal_name_on_view_animal_id_on_view_b 95 1m22s 863ms _desktop_index.php_zemm_produktiv_8_localhost_5432 248 1m 243ms bounces:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 61ms 61ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 1 1s249ms 1s249ms pg_dump 1 12s21ms 12s21ms taskscron:zemm_produktiv_8@h2940066.stratoserver.net:5432 24 2s377ms 99ms -
Checkpoints / Restartpoints
Checkpoints Buffers
Key values
- 19,577 buffers Checkpoint Peak
- 2026-05-31 01:37:54 Date
- 269.969 seconds Highest write time
- 0.013 seconds Sync time
Checkpoints Wal files
Key values
- 5 files Wal files usage Peak
- 2026-05-31 01:37:54 Date
Checkpoints distance
Key values
- 170.81 Mo Distance Peak
- 2026-05-31 01:37:54 Date
Checkpoints Activity
↑ Back to the top of the Checkpoint Activity tableDay Hour Written buffers Write time Sync time Total time May 31 00 8,395 840.372s 0.099s 840.521s 01 28,828 1,162.893s 0.094s 1,163.039s 02 16,771 1,165.459s 0.11s 1,165.626s 03 7,715 772.242s 0.097s 772.399s 04 8,803 881.307s 0.101s 881.46s 05 8,551 855.805s 0.101s 855.958s 06 8,461 846.35s 0.108s 846.516s 07 10,022 974.67s 0.107s 974.839s 08 8,506 851.262s 0.107s 851.424s 09 8,300 830.228s 0.097s 830.387s 10 15,467 1,158.13s 0.103s 1,158.289s 11 9,239 924.202s 0.111s 924.374s 12 8,113 811.809s 0.102s 811.965s 13 8,570 857.988s 0.105s 858.152s 14 8,523 853.393s 0.107s 853.561s 15 8,284 828.894s 0.106s 829.053s 16 7,606 761.233s 0.112s 761.399s 17 8,309 830.959s 0.104s 831.121s 18 8,124 813.022s 0.109s 813.19s 19 9,472 947.272s 0.126s 947.455s 20 7,753 776.082s 0.115s 776.26s 21 8,194 820.033s 0.103s 820.195s 22 8,342 834.546s 0.1s 834.702s 23 8,414 842.382s 0.107s 842.549s Day Hour Added Removed Recycled Synced files Longest sync Average sync May 31 00 0 0 2 524 0.001s 0.012s 01 0 0 7 507 0.002s 0.011s 02 0 0 3 585 0.001s 0.013s 03 0 0 2 522 0.001s 0.012s 04 0 0 1 528 0.001s 0.012s 05 0 0 2 536 0.002s 0.012s 06 0 0 2 537 0.005s 0.012s 07 0 0 2 551 0.003s 0.012s 08 0 0 1 539 0.004s 0.012s 09 0 0 2 522 0.001s 0.012s 10 0 0 3 539 0.002s 0.012s 11 0 0 2 539 0.004s 0.012s 12 0 0 2 528 0.002s 0.012s 13 0 0 1 575 0.001s 0.012s 14 0 0 2 554 0.002s 0.012s 15 0 0 2 544 0.002s 0.012s 16 0 0 1 549 0.004s 0.012s 17 0 0 2 552 0.002s 0.012s 18 0 0 1 532 0.003s 0.012s 19 0 0 2 667 0.003s 0.012s 20 0 0 2 572 0.003s 0.012s 21 0 0 2 532 0.002s 0.012s 22 0 0 1 533 0.002s 0.012s 23 0 0 2 541 0.002s 0.012s Day Hour Count Avg time (sec) May 31 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 31 00 2,314.08 kB 3,118.17 kB 01 10,211.18 kB 34,671.27 kB 02 3,781.46 kB 32,235.85 kB 03 2,094.67 kB 10,163.83 kB 04 2,342.58 kB 4,541.17 kB 05 2,324.67 kB 3,091.58 kB 06 2,304.08 kB 2,813.00 kB 07 2,815.42 kB 6,881.83 kB 08 2,265.17 kB 3,766.08 kB 09 2,261.58 kB 3,044.17 kB 10 4,085.33 kB 6,748.33 kB 11 2,527.83 kB 11,524.67 kB 12 2,210.92 kB 4,962.33 kB 13 2,279.75 kB 3,199.42 kB 14 2,308.50 kB 2,955.58 kB 15 2,274.25 kB 2,906.92 kB 16 2,122.25 kB 2,937.83 kB 17 2,303.42 kB 3,046.33 kB 18 2,280.00 kB 2,826.08 kB 19 2,695.08 kB 3,112.25 kB 20 2,235.75 kB 3,488.50 kB 21 2,285.25 kB 3,082.17 kB 22 2,301.92 kB 2,998.25 kB 23 2,363.75 kB 2,893.42 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 31 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
- 2.29 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-05-31 01:53:35 Date
- 0 sec Highest CPU-cost analyze
Table
Database zemm_monitoring - Date
Average Autovacuum Duration
Key values
- 2.29 sec Highest CPU-cost vacuum
Table observability.metrics_timeseries
Database zemm_monitoring - 2026-05-31 01:53:35 Date
Analyzes per table
Key values
- observability.metrics_timeseries (1) Main table analyzed (database zemm_monitoring)
- 4 analyzes Total
Vacuums per table
Key values
- pg_toast.pg_toast_67431 (3) Main table vacuumed on database zemm_monitoring
- 10 vacuums Total
Index Buffer usage Skipped WAL usage Frozen Table Vacuums scans hits misses dirtied pins frozen records full page bytes pages tuples zemm_monitoring.pg_toast.pg_toast_67431 3 0 0 0 0 0 0 5,714 2,198 6,575,395 1,313 7,878 zemm_monitoring.pg_toast.pg_toast_181881 3 0 0 0 0 0 0 933 318 1,581,133 307 1,620 zemm_monitoring.observability.phpfpm_counters 1 1 0 0 0 0 0 3,758 2,407 1,935,237 0 0 zemm_produktiv_8.public.tasks 1 1 0 0 0 0 0 46,216 3 3,197,126 0 0 zemm_monitoring.observability.metrics_timeseries 1 1 0 0 0 0 0 17,247 7,527 19,149,043 2,223 50,677 zemm_monitoring.observability.system_metrics 1 0 0 0 0 0 0 2,346 2,344 8,448,496 0 0 Total 10 3 0 0 0 0 0 76,214 14,797 40,886,430 3,843 60,175 Vacuum throughput per table
Key values
- observability.metrics_timeseries (2.29) Max CPU elapsed for vacuum on database zemm_monitoring
- observability.metrics_timeseries (14.158 ms) Max I/O read time for vacuum on database zemm_monitoring
- observability.metrics_timeseries (2.881 ms) Max I/O write time for vacuum on database zemm_monitoring
I/O timing (ms) CPU (s) Table read write elapsed zemm_monitoring.pg_toast.pg_toast_67431 0 0 0.55 zemm_monitoring.pg_toast.pg_toast_181881 0 0 0.06 zemm_monitoring.observability.phpfpm_counters 1.748 0.198 0.58 zemm_produktiv_8.public.tasks 1.074 0 0.57 zemm_monitoring.observability.metrics_timeseries 14.158 2.881 2.29 zemm_monitoring.observability.system_metrics 0.312 0 0.57 Total 17.292 3.079 4.62 Tuples removed per table
Key values
- public.tasks (54807) Main table with removed tuples on database zemm_produktiv_8
- 103406 tuples Total removed
Index Tuples Pages Table Vacuums scans removed remain not yet removable removed remain zemm_produktiv_8.public.tasks 1 1 54,807 57,876 0 0 17,119 zemm_monitoring.observability.metrics_timeseries 1 1 33,625 383,267 0 0 8,322 zemm_monitoring.observability.phpfpm_counters 1 1 9,686 122,361 0 0 8,878 zemm_monitoring.pg_toast.pg_toast_67431 3 0 5,288 2,021,925 0 0 389,460 zemm_monitoring.observability.system_metrics 1 0 0 112,068 0 0 14,549 zemm_monitoring.pg_toast.pg_toast_181881 3 0 0 59,099 0 0 10,731 Total 10 3 103,406 2,756,596 0 0 449,059 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_monitoring.observability.phpfpm_counters 1 1 9686 0 zemm_produktiv_8.public.tasks 1 1 54807 0 zemm_monitoring.observability.metrics_timeseries 1 1 33625 0 zemm_monitoring.pg_toast.pg_toast_67431 3 0 5288 0 zemm_monitoring.observability.system_metrics 1 0 0 0 zemm_monitoring.pg_toast.pg_toast_181881 3 0 0 0 Total 10 3 103,406 0 Autovacuum Activity
↑ Back to the top of the Autovacuum Activity tableDay Hour VACUUMs ANALYZEs May 31 00 0 0 01 3 2 02 1 0 03 0 0 04 1 0 05 0 0 06 0 0 07 1 0 08 0 0 09 0 0 10 0 1 11 2 0 12 0 0 13 0 0 14 0 0 15 0 0 16 0 0 17 0 0 18 0 0 19 2 0 20 0 0 21 0 1 22 0 0 23 0 0 - 2.29 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
- 4 Total read queries
- 24,493 Total write queries
Queries by database
Key values
- zemm_monitoring Main database
- 24,487 Requests
- 16h50m56s (zemm_monitoring)
- Main time consuming database
Queries by user
Key values
- monitoring_admin Main user
- 467,574 Requests
User Request type Count Duration labanimal Total 1,586 35m56s copy to 8 22s808ms cte 242 5m40s select 1,317 29m32s update 19 20s900ms monitoring_admin Total 467,574 29d3h56m20s cte 1,670 3h57m54s ddl 465,048 28d23h46m6s delete 1 603ms select 850 12m13s postgres Total 100 2m17s copy to 100 2m17s Duration by user
Key values
- 29d3h56m20s (monitoring_admin) Main time consuming user
User Request type Count Duration labanimal Total 1,586 35m56s copy to 8 22s808ms cte 242 5m40s select 1,317 29m32s update 19 20s900ms monitoring_admin Total 467,574 29d3h56m20s cte 1,670 3h57m54s ddl 465,048 28d23h46m6s delete 1 603ms select 850 12m13s postgres Total 100 2m17s copy to 100 2m17s Queries by host
Key values
- unknown Main host
- 469,141 Requests
- 29d4h31m55s (unknown)
- Main time consuming host
Queries by application
Key values
- unknown Main application
- 24,487 Requests
- 16h50m56s (unknown)
- Main time consuming application
Application Request type Count Duration _desktop_index.php_zemm_produktiv_8_localhost_5432 Total 4 2s899ms select 4 2s899ms expire_tasks:zemm_produktiv_8@h2940066.stratoserver.net:5432 Total 1 1s226ms update 1 1s226ms pg_dump Total 5 6s512ms copy to 5 6s512ms unknown Total 24,487 16h50m56s cte 7 1m28s ddl 24,480 16h49m27s Number of cancelled queries
Key values
- 0 per second Cancelled query Peak
- 2026-05-31 12:53:31 Date
Number of cancelled queries (5 minutes period)
NO DATASET
-
Top Queries
Histogram of query times
Key values
- 7 > 10000ms duration
Slowest individual queries
Rank Duration Query 1 15s729ms 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-28 11:35:51+02' AND collected_at <= '2026-05-30 11:35:51+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-30 11:35:51+02' AND '2026-05-31 11:35:51+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-30 11:35:51+02' AND '2026-05-31 11:35:51+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-31 11:36:06 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
2 15s729ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-05-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
3 15s729ms 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-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
4 15s729ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);[ Date: 2026-05-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
5 15s729ms CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);[ Date: 2026-05-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
6 15s729ms 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-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
7 15s729ms CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);[ Date: 2026-05-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
8 15s729ms CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);[ Date: 2026-05-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
9 15s729ms 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-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
10 15s729ms CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);[ Date: 2026-05-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
11 15s729ms 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-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
12 15s729ms 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-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
13 15s729ms 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-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
14 15s729ms 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-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
15 15s729ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;[ Date: 2026-05-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
16 15s729ms ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;[ Date: 2026-05-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
17 15s729ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);[ Date: 2026-05-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
18 15s729ms CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);[ Date: 2026-05-31 11:37:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
19 15s729ms CREATE SCHEMA IF NOT EXISTS observability;[ Date: 2026-05-31 11:38:01 - Database: zemm_monitoring - User: monitoring_admin - Bind query: yes ]
20 15s729ms 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-31 11:38: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 59m22s 1,440 697ms 15s729ms 2s474ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
2 59m22s 1,440 697ms 15s729ms 2s474ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
3 59m22s 1,440 697ms 15s729ms 2s474ms 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 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
4 59m22s 1,440 697ms 15s729ms 2s474ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
5 59m22s 1,440 697ms 15s729ms 2s474ms 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 #5
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
6 59m22s 1,440 697ms 15s729ms 2s474ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
7 59m22s 1,440 697ms 15s729ms 2s474ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
8 59m22s 1,440 697ms 15s729ms 2s474ms 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 #8
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
9 59m22s 1,440 697ms 15s729ms 2s474ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
10 59m22s 1,440 697ms 15s729ms 2s474ms create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
11 59m22s 1,440 697ms 15s729ms 2s474ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
12 59m22s 1,440 697ms 15s729ms 2s474ms create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
13 59m22s 1,440 697ms 15s729ms 2s474ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
14 59m22s 1,440 697ms 15s729ms 2s474ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
15 59m22s 1,440 697ms 15s729ms 2s474ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
16 59m22s 1,440 697ms 15s729ms 2s474ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
17 59m22s 1,440 697ms 15s729ms 2s474ms create schema if not exists observability;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
18 1m28s 7 11s901ms 15s729ms 12s709ms 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 31 11 1 12s71ms 12s71ms 12 6 1m16s 12s815ms [ User: monitoring_admin - Total duration: 1m28s - Times executed: 7 ]
-
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-28 11:35:51+02' AND collected_at <= '2026-05-30 11:35:51+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-30 11:35:51+02' AND '2026-05-31 11:35:51+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-30 11:35:51+02' AND '2026-05-31 11:35:51+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-31 11:36:06 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-28 23:35:37+02' AND collected_at <= '2026-05-30 23:35:37+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-30 23:35:37+02' AND '2026-05-31 11:35:37+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-30 23:35:37+02' AND '2026-05-31 11:35:37+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-31 11:35:51 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-29 04:53:02+02' AND collected_at <= '2026-05-31 04:53:02+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 04:53:02+02' AND '2026-05-31 10:53:02+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 04:53:02+02' AND '2026-05-31 10:53:02+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-31 10:53:14 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
19 2s33ms 1 2s33ms 2s33ms 2s33ms copy public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) to stdout;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 31 00 1 2s33ms 2s33ms [ User: postgres - Total duration: 2s33ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 2s33ms - Times executed: 1 ]
-
COPY public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) TO stdout;
Date: 2026-05-31 23:55:15 Duration: 2s33ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
20 1s504ms 2 749ms 754ms 752ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 31 14 2 1s504ms 752ms [ User: labanimal - Total duration: 1s504ms - Times executed: 2 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1s504ms - Times executed: 2 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-31 13:38:46 Duration: 754ms 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-31_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-31 13:38:36 Duration: 749ms 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-31_000000.csv
Most frequent queries (N)
Rank Times executed Total duration Min duration Max duration Avg duration Query 1 1,440 59m22s 697ms 15s729ms 2s474ms create index if not exists idx_metrics_timeseries_metric on observability.metrics_timeseries (metric_name);Times Reported Time consuming queries #1
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
2 1,440 59m22s 697ms 15s729ms 2s474ms alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #2
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
3 1,440 59m22s 697ms 15s729ms 2s474ms 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 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
4 1,440 59m22s 697ms 15s729ms 2s474ms create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #4
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
5 1,440 59m22s 697ms 15s729ms 2s474ms 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 #5
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
6 1,440 59m22s 697ms 15s729ms 2s474ms create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #6
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
7 1,440 59m22s 697ms 15s729ms 2s474ms alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
8 1,440 59m22s 697ms 15s729ms 2s474ms 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 #8
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
9 1,440 59m22s 697ms 15s729ms 2s474ms create table if not exists observability.db_top_queries ( id bigserial primary key, tenant_key text not null, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz not null default now() );Times Reported Time consuming queries #9
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
10 1,440 59m22s 697ms 15s729ms 2s474ms create table if not exists observability.system_metrics ( id bigserial primary key, payload jsonb not null, collected_at timestamptz not null default now() );Times Reported Time consuming queries #10
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
11 1,440 59m22s 697ms 15s729ms 2s474ms create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #11
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
12 1,440 59m22s 697ms 15s729ms 2s474ms create index if not exists idx_db_top_queries_tenant on observability.db_top_queries (tenant_key, collected_at desc);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
13 1,440 59m22s 697ms 15s729ms 2s474ms create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #13
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
14 1,440 59m22s 697ms 15s729ms 2s474ms create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
15 1,440 59m22s 697ms 15s729ms 2s474ms create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
16 1,440 59m22s 697ms 15s729ms 2s474ms create table if not exists observability.metrics_timeseries ( id bigserial primary key, tenant_key text not null, metric_name text not null, bucket_start timestamptz not null, bucket_width_seconds integer not null default ?, sum_value double precision not null default ?, count_value bigint not null default ?, histogram jsonb, created_at timestamptz not null default now(), updated_at timestamptz not null default now(), unique (tenant_key, metric_name, bucket_start, bucket_width_seconds) );Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
17 1,440 59m22s 697ms 15s729ms 2s474ms create schema if not exists observability;Times Reported Time consuming queries #17
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
18 7 1m28s 11s901ms 15s729ms 12s709ms 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 31 11 1 12s71ms 12s71ms 12 6 1m16s 12s815ms [ User: monitoring_admin - Total duration: 1m28s - Times executed: 7 ]
-
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-28 11:35:51+02' AND collected_at <= '2026-05-30 11:35:51+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-30 11:35:51+02' AND '2026-05-31 11:35:51+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-30 11:35:51+02' AND '2026-05-31 11:35:51+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-31 11:36:06 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-28 23:35:37+02' AND collected_at <= '2026-05-30 23:35:37+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-30 23:35:37+02' AND '2026-05-31 11:35:37+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-30 23:35:37+02' AND '2026-05-31 11:35:37+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-31 11:35:51 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-29 04:53:02+02' AND collected_at <= '2026-05-31 04:53:02+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 04:53:02+02' AND '2026-05-31 10:53:02+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 04:53:02+02' AND '2026-05-31 10:53:02+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-31 10:53:14 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
19 2 1s504ms 749ms 754ms 752ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 31 14 2 1s504ms 752ms [ User: labanimal - Total duration: 1s504ms - Times executed: 2 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1s504ms - Times executed: 2 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-31 13:38:46 Duration: 754ms 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-31_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-31 13:38:36 Duration: 749ms 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-31_000000.csv
20 2 1s395ms 697ms 697ms 697ms select distinct * from ( select animals_search_mview.*, b.unbreeding_date, fates.loc as fate_name, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, string_agg(l."application_id" || ? || l."title" || ? || date(lh."timestamp")::varchar, ?) as licensehistory, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview inner join fates on fates.id = animals_search_mview.fate left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join licenses l on l.id = lh.licid left join breedings b on b.id = animals_search_mview.last_mating group by animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data where data.fate = ? and data.alive = ? and data.deleted = ? and (is_owner or is_editor or is_tourist) and (data.straindeleted = ? or data.straindeleted is null) order by data.cage_name, data.animal_id, data.name;Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 31 14 2 1s395ms 697ms [ User: labanimal - Total duration: 1s395ms - Times executed: 2 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1s395ms - Times executed: 2 ]
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-05-31 13:38:37 Duration: 697ms 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-31_000000.csv
-
SELECT DISTINCT * FROM ( SELECT animals_search_mview.*, b.unbreeding_date, fates.loc AS fate_name, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, strains.deleted as straindeleted, STRING_AGG(l."application_id" || ':' || l."title" || ' - ' || Date(lh."timestamp")::varchar, '; ') AS licensehistory, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview INNER JOIN fates ON fates.id = animals_search_mview.fate LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN licenses l ON l.id = lh.licid left join breedings b ON b.id = animals_search_mview.last_mating GROUP BY animals_search_mview.id, b.unbreeding_date, fates.loc, strains.cancel_criteria, strains.symtoms, strains.reduce_severity_by, strains.sym_immune, straindeleted) data WHERE data.fate = 5 AND data.alive = 't' AND data.deleted = 'f' AND (is_owner OR is_editor OR is_tourist) and (data.straindeleted = 'f' or data.straindeleted is null) ORDER BY data.cage_name, data.animal_id, data.name;
Date: 2026-05-31 13:38:47 Duration: 697ms 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-31_000000.csv
Normalized slowest queries (N)
Rank Min duration Max duration Avg duration Times executed Total duration Query 1 11s901ms 15s729ms 12s709ms 7 1m28s 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 #1
Day Hour Count Duration Avg duration May 31 11 1 12s71ms 12s71ms 12 6 1m16s 12s815ms [ User: monitoring_admin - Total duration: 1m28s - Times executed: 7 ]
-
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-28 11:35:51+02' AND collected_at <= '2026-05-30 11:35:51+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-30 11:35:51+02' AND '2026-05-31 11:35:51+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-30 11:35:51+02' AND '2026-05-31 11:35:51+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-31 11:36:06 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-28 23:35:37+02' AND collected_at <= '2026-05-30 23:35:37+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-30 23:35:37+02' AND '2026-05-31 11:35:37+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-30 23:35:37+02' AND '2026-05-31 11:35:37+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-31 11:35:51 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-29 04:53:02+02' AND collected_at <= '2026-05-31 04:53:02+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), fallback_start AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 04:53:02+02' AND '2026-05-31 10:53:02+02' ORDER BY tenant_key, fingerprint, collected_at ASC ), end_snap AS ( SELECT DISTINCT ON (tenant_key, fingerprint) tenant_key, fingerprint, query, total_time_ms, calls, rows_returned, collected_at FROM observability.db_top_queries WHERE tenant_key IN ('prod', 'live') AND collected_at BETWEEN '2026-05-31 04:53:02+02' AND '2026-05-31 10:53:02+02' ORDER BY tenant_key, fingerprint, collected_at DESC ), deltas AS ( SELECT e.tenant_key, e.fingerprint, e.query, e.collected_at AS last_seen, GREATEST (COALESCE(e.total_time_ms, 0) - COALESCE(s.total_time_ms, fs.total_time_ms, 0), 0) AS total_time_ms, GREATEST (COALESCE(e.calls, 0) - COALESCE(s.calls, fs.calls, 0), 0) AS calls, GREATEST (COALESCE(e.rows_returned, 0) - COALESCE(s.rows_returned, fs.rows_returned, 0), 0) AS rows_returned FROM end_snap e LEFT JOIN start_snap s ON s.tenant_key = e.tenant_key AND s.fingerprint = e.fingerprint LEFT JOIN fallback_start fs ON fs.tenant_key = e.tenant_key AND fs.fingerprint = e.fingerprint AND s.tenant_key IS NULL ) SELECT fingerprint, MAX(query) AS query, MAX(last_seen) AS last_seen, SUM(total_time_ms) AS total_time_ms, SUM(calls) AS calls, SUM(rows_returned) AS rows_returned, CASE WHEN SUM(calls) > 0 THEN SUM(total_time_ms) / SUM(calls) ELSE 0 END AS mean_time_ms, array_agg(DISTINCT tenant_key ORDER BY tenant_key) AS tenant_keys FROM deltas WHERE total_time_ms > 0 OR calls > 0 GROUP BY fingerprint ORDER BY total_time_ms DESC, calls DESC LIMIT '20' OFFSET '0';
Date: 2026-05-31 10:53:14 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
2 697ms 15s729ms 2s474ms 1,440 59m22s 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 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_metric ON observability.metrics_timeseries (metric_name);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
3 697ms 15s729ms 2s474ms 1,440 59m22s alter table observability.uptime_checks add column if not exists payload jsonb;Times Reported Time consuming queries #3
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS payload jsonb;
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
4 697ms 15s729ms 2s474ms 1,440 59m22s 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 #4
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.phpfpm_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
5 697ms 15s729ms 2s474ms 1,440 59m22s create index if not exists idx_app_events_type on observability.app_events (event_type);Times Reported Time consuming queries #5
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_type ON observability.app_events (event_type);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
6 697ms 15s729ms 2s474ms 1,440 59m22s 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 #6
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.nginx_counters ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
7 697ms 15s729ms 2s474ms 1,440 59m22s create index if not exists idx_metrics_timeseries_bucket on observability.metrics_timeseries (bucket_start);Times Reported Time consuming queries #7
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_metrics_timeseries_bucket ON observability.metrics_timeseries (bucket_start);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
8 697ms 15s729ms 2s474ms 1,440 59m22s alter table observability.uptime_checks add column if not exists label text;Times Reported Time consuming queries #8
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
ALTER TABLE observability.uptime_checks ADD COLUMN IF NOT EXISTS label text;
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
9 697ms 15s729ms 2s474ms 1,440 59m22s 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 #9
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.uptime_checks ( id bigserial PRIMARY KEY, endpoint text NOT NULL, status text NOT NULL, latency_ms double precision, checked_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
10 697ms 15s729ms 2s474ms 1,440 59m22s 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 #10
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.db_top_queries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, fingerprint text, query text, mean_time_ms double precision, total_time_ms double precision, calls bigint, rows_returned bigint, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
11 697ms 15s729ms 2s474ms 1,440 59m22s 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 #11
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.system_metrics ( id bigserial PRIMARY KEY, payload jsonb NOT NULL, collected_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
12 697ms 15s729ms 2s474ms 1,440 59m22s create index if not exists idx_app_events_tenant on observability.app_events (tenant_key, occurred_at desc);Times Reported Time consuming queries #12
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_app_events_tenant ON observability.app_events (tenant_key, occurred_at DESC);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
13 697ms 15s729ms 2s474ms 1,440 59m22s 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 #13
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_db_top_queries_tenant ON observability.db_top_queries (tenant_key, collected_at DESC);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
14 697ms 15s729ms 2s474ms 1,440 59m22s create table if not exists observability.app_events ( id bigserial primary key, tenant_key text not null, event_type text not null, severity text not null, message text not null, payload jsonb, occurred_at timestamptz not null default now(), created_at timestamptz not null default now() );Times Reported Time consuming queries #14
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.app_events ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, event_type text NOT NULL, severity text NOT NULL, message text NOT NULL, payload jsonb, occurred_at timestamptz NOT NULL DEFAULT NOW(), created_at timestamptz NOT NULL DEFAULT NOW() );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
15 697ms 15s729ms 2s474ms 1,440 59m22s create index if not exists idx_uptime_checks_endpoint on observability.uptime_checks (endpoint, checked_at desc);Times Reported Time consuming queries #15
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_endpoint ON observability.uptime_checks (endpoint, checked_at DESC);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
16 697ms 15s729ms 2s474ms 1,440 59m22s create index if not exists idx_uptime_checks_key on observability.uptime_checks (check_key, checked_at desc);Times Reported Time consuming queries #16
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE INDEX IF NOT EXISTS idx_uptime_checks_key ON observability.uptime_checks (check_key, checked_at DESC);
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
17 697ms 15s729ms 2s474ms 1,440 59m22s 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 #17
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE TABLE IF NOT EXISTS observability.metrics_timeseries ( id bigserial PRIMARY KEY, tenant_key text NOT NULL, metric_name text NOT NULL, bucket_start timestamptz NOT NULL, bucket_width_seconds integer NOT NULL DEFAULT 60, sum_value double precision NOT NULL DEFAULT 0, count_value bigint NOT NULL DEFAULT 0, histogram jsonb, created_at timestamptz NOT NULL DEFAULT NOW(), updated_at timestamptz NOT NULL DEFAULT NOW(), UNIQUE (tenant_key, metric_name, bucket_start, bucket_width_seconds) );
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_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-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
18 697ms 15s729ms 2s474ms 1,440 59m22s create schema if not exists observability;Times Reported Time consuming queries #18
Day Hour Count Duration Avg duration May 31 01 60 0ms 0ms 02 60 35s572ms 592ms 03 60 1m13s 1s226ms 04 60 1m13s 1s226ms 05 60 1m13s 1s226ms 06 60 1m13s 1s226ms 07 60 1m13s 1s226ms 08 60 1m13s 1s226ms 09 60 1m13s 1s226ms 10 60 1m13s 1s226ms 11 60 2m18s 2s311ms 12 60 13m26s 13s444ms 13 60 15m43s 15s729ms 14 60 10m28s 10s468ms 15 60 41s844ms 697ms 16 60 41s844ms 697ms 17 60 41s844ms 697ms 18 60 41s844ms 697ms 19 60 41s844ms 697ms 20 60 41s844ms 697ms 21 60 41s844ms 697ms 22 60 41s844ms 697ms 23 60 41s844ms 697ms 00 60 44s598ms 743ms [ User: monitoring_admin - Total duration: 59m22s - Times executed: 1349 ]
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-31 13:38:01 Duration: 15s729ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-31 11:36:01 Duration: 13s252ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
-
CREATE SCHEMA IF NOT EXISTS observability;
Date: 2026-05-31 11:03:01 Duration: 12s71ms Database: zemm_monitoring User: monitoring_admin Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
19 2s33ms 2s33ms 2s33ms 1 2s33ms copy public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) to stdout;Times Reported Time consuming queries #19
Day Hour Count Duration Avg duration May 31 00 1 2s33ms 2s33ms [ User: postgres - Total duration: 2s33ms - Times executed: 1 ]
[ Application: pg_dump - Total duration: 2s33ms - Times executed: 1 ]
-
COPY public.diary (id, "animalID", date, "entrybyID", "cageID", weight, temperature, "fDeprivation", "wDeprivation", "sDeprivation", "feedingClass", health, comments, "breedingInfo", deleted, "inOutDate", "inOutFlag", text, sdesc, treatment, tailcut_id, tailcut_result, file_name, file_content, file_type, upload_name, old_gene_type, old_gene_info, old_gene2_type, old_gene2_info, old_gene3_info, old_gene3_type, old_gene4_info, old_gene4_type, old_gene5_info, old_gene5_type) TO stdout;
Date: 2026-05-31 23:55:15 Duration: 2s33ms Database: zemm_produktiv_8 User: postgres Remote: [local] Application: pg_dump Bind query: yes Log file: /var/log/postgresql/postgresql-2026-05-31_000000.csv
20 749ms 754ms 752ms 2 1s504ms select count(distinct animal_id) AS "count" from ( select animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, ?) as is_owner, user_is_tgm (animals_search_mview.editor, ?) as is_editor, user_is_tgm (animals_search_mview.tourist, ?) as is_tourist, case when not exists ( select ? from scoresheet_diary sd where sd.animals_id = animals_search_mview.id) then ? else ? end as isscored from animals_search_mview left join strains on strains.name = animals_search_mview.strain left join license_history lh on lh.anid = animals_search_mview.id left join animals a on a."animalID" = animals_search_mview.animal_id left join breedings b on b.id = animals_search_mview.last_mating) data where fate = ? and alive = ? and deleted = ? and (is_owner or is_editor or is_tourist);Times Reported Time consuming queries #20
Day Hour Count Duration Avg duration May 31 14 2 1s504ms 752ms [ User: labanimal - Total duration: 1s504ms - Times executed: 2 ]
[ Application: _desktop_index.php_zemm_produktiv_8_localhost_5432 - Total duration: 1s504ms - Times executed: 2 ]
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-31 13:38:46 Duration: 754ms 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-31_000000.csv
-
SELECT COUNT(DISTINCT animal_id) AS "count" FROM ( SELECT animals_search_mview.*, b.unbreeding_date, a.id as animal, user_is_tgm (animals_search_mview.owner, 490) AS is_owner, user_is_tgm (animals_search_mview.editor, 490) AS is_editor, user_is_tgm (animals_search_mview.tourist, 490) AS is_tourist, CASE WHEN NOT EXISTS ( SELECT 1 FROM scoresheet_diary sd WHERE sd.animals_id = animals_search_mview.id) THEN 'f' ELSE 't' END AS isscored FROM animals_search_mview LEFT JOIN strains ON strains.name = animals_search_mview.strain LEFT JOIN license_history lh ON lh.anid = animals_search_mview.id LEFT JOIN animals a ON a."animalID" = animals_search_mview.animal_id LEFT JOIN breedings b ON b.id = animals_search_mview.last_mating) data WHERE fate = 5 AND alive = 't' AND deleted = 'f' AND (is_owner OR is_editor OR is_tourist);
Date: 2026-05-31 13:38:36 Duration: 749ms 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-31_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
- 83,095 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
- 0 ERROR entries
- 0 WARNING entries
- 0 EVENTLOG entries
Events per 5 minutes
NO DATASET
Most Frequent Errors/Events
Key values
- 0 Max number of times the same event was reported
- 0 Total events found
Rank Times reported Error NO DATASET