Console Output
02:46:09 [2025-11-22T02:46:09.541Z] + export POSTGRES_DB=****
02:46:09 [2025-11-22T02:46:09.542Z] + export POSTGRES_USER=****
02:46:09 [2025-11-22T02:46:09.542Z] + export PGPASSWORD=****
02:46:09 [2025-11-22T02:46:09.542Z] + echo 📈 Running basic performance queries...
02:46:09 [2025-11-22T02:46:09.542Z] 📈 Running basic performance queries...
02:46:09 [2025-11-22T02:46:09.542Z] + docker exec -e PGPASSWORD=**** ****-**** psql -h localhost -U **** -d **** -c
02:46:09 [2025-11-22T02:46:09.542Z] -- Test basic query performance
02:46:09 [2025-11-22T02:46:09.542Z] EXPLAIN ANALYZE SELECT 1 as test_query;
02:46:09 [2025-11-22T02:46:09.542Z]
02:46:09 [2025-11-22T02:46:09.542Z] -- Test system catalog performance
02:46:09 [2025-11-22T02:46:09.542Z] EXPLAIN ANALYZE SELECT COUNT(*) FROM information_schema.tables;
02:46:09 [2025-11-22T02:46:09.542Z]
02:46:09 [2025-11-22T02:46:09.542Z] -- Test connection info
02:46:09 [2025-11-22T02:46:09.543Z] SELECT database_name, process_count FROM (
02:46:09 [2025-11-22T02:46:09.543Z] SELECT datname as database_name, COUNT(*) as process_count
02:46:09 [2025-11-22T02:46:09.543Z] FROM pg_stat_activity
02:46:09 [2025-11-22T02:46:09.543Z] GROUP BY datname
02:46:09 [2025-11-22T02:46:09.543Z] ) as activity_stats;
02:46:09 [2025-11-22T02:46:09.543Z]
02:46:09 [2025-11-22T02:46:09.794Z] QUERY PLAN
02:46:09 [2025-11-22T02:46:09.794Z] ---------------------------------------------------------------------------------------
02:46:09 [2025-11-22T02:46:09.794Z] Result (cost=0.00..0.01 rows=1 width=4) (actual time=0.005..0.011 rows=1.00 loops=1)
02:46:09 [2025-11-22T02:46:09.794Z] Planning:
02:46:09 [2025-11-22T02:46:09.794Z] Buffers: shared hit=3
02:46:09 [2025-11-22T02:46:09.794Z] Planning Time: 0.233 ms
02:46:09 [2025-11-22T02:46:09.794Z] Execution Time: 0.147 ms
02:46:09 [2025-11-22T02:46:09.794Z] (5 rows)
02:46:09 [2025-11-22T02:46:09.794Z]
02:46:09 [2025-11-22T02:46:09.795Z] QUERY PLAN
02:46:09 [2025-11-22T02:46:09.795Z] --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
02:46:09 [2025-11-22T02:46:09.795Z] Aggregate (cost=71.97..71.98 rows=1 width=8) (actual time=11.703..11.754 rows=1.00 loops=1)
02:46:09 [2025-11-22T02:46:09.795Z] Buffers: shared hit=28 read=12
02:46:09 [2025-11-22T02:46:09.795Z] -> Hash Left Join (cost=36.66..71.69 rows=112 width=0) (actual time=7.963..11.240 rows=215.00 loops=1)
02:46:09 [2025-11-22T02:46:09.795Z] Hash Cond: (c.reloftype = t.oid)
02:46:09 [2025-11-22T02:46:09.795Z] Buffers: shared hit=28 read=12
02:46:09 [2025-11-22T02:46:09.796Z] -> Hash Join (cost=1.09..34.58 rows=112 width=4) (actual time=0.687..2.964 rows=215.00 loops=1)
02:46:09 [2025-11-22T02:46:09.796Z] Hash Cond: (c.relnamespace = nc.oid)
02:46:09 [2025-11-22T02:46:09.796Z] Buffers: shared hit=22 read=1
02:46:09 [2025-11-22T02:46:09.796Z] -> Seq Scan on pg_class c (cost=0.00..32.67 rows=150 width=8) (actual time=0.109..1.324 rows=215.00 loops=1)
02:46:09 [2025-11-22T02:46:09.796Z] Filter: ((relkind = ANY ('{r,v,f,p}'::"char"[])) AND (pg_has_role(relowner, 'USAGE'::text) OR has_table_privilege(oid, 'SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER'::text) OR has_any_column_privilege(oid, 'SELECT, INSERT, UPDATE, REFERENCES'::text)))
02:46:09 [2025-11-22T02:46:09.796Z] Rows Removed by Filter: 202
02:46:09 [2025-11-22T02:46:09.796Z] Buffers: shared hit=13 read=1
02:46:09 [2025-11-22T02:46:09.796Z] -> Hash (cost=1.05..1.05 rows=3 width=4) (actual time=0.482..0.489 rows=4.00 loops=1)
02:46:09 [2025-11-22T02:46:09.797Z] Buckets: 1024 Batches: 1 Memory Usage: 9kB
02:46:09 [2025-11-22T02:46:09.797Z] Buffers: shared hit=9
02:46:09 [2025-11-22T02:46:09.797Z] -> Seq Scan on pg_namespace nc (cost=0.00..1.05 rows=3 width=4) (actual time=0.189..0.428 rows=4.00 loops=1)
02:46:09 [2025-11-22T02:46:09.797Z] Filter: (NOT pg_is_other_temp_schema(oid))
02:46:09 [2025-11-22T02:46:09.797Z] Buffers: shared hit=9
02:46:09 [2025-11-22T02:46:09.797Z] -> Hash (cost=27.29..27.29 rows=662 width=4) (actual time=7.200..7.221 rows=639.00 loops=1)
02:46:09 [2025-11-22T02:46:09.797Z] Buckets: 1024 Batches: 1 Memory Usage: 31kB
02:46:09 [2025-11-22T02:46:09.797Z] Buffers: shared hit=6 read=11
02:46:09 [2025-11-22T02:46:09.797Z] -> Hash Join (cost=1.09..27.29 rows=662 width=4) (actual time=0.288..5.416 rows=639.00 loops=1)
02:46:09 [2025-11-22T02:46:09.797Z] Hash Cond: (t.typnamespace = nt.oid)
02:46:09 [2025-11-22T02:46:09.797Z] Buffers: shared hit=6 read=11
02:46:09 [2025-11-22T02:46:09.798Z] -> Seq Scan on pg_type t (cost=0.00..22.62 rows=662 width=8) (actual time=0.062..1.819 rows=639.00 loops=1)
02:46:09 [2025-11-22T02:46:09.798Z] Buffers: shared hit=5 read=11
02:46:09 [2025-11-22T02:46:09.798Z] -> Hash (cost=1.04..1.04 rows=4 width=4) (actual time=0.173..0.180 rows=4.00 loops=1)
02:46:09 [2025-11-22T02:46:09.798Z] Buckets: 1024 Batches: 1 Memory Usage: 9kB
02:46:09 [2025-11-22T02:46:09.798Z] Buffers: shared hit=1
02:46:09 [2025-11-22T02:46:09.798Z] -> Seq Scan on pg_namespace nt (cost=0.00..1.04 rows=4 width=4) (actual time=0.116..0.129 rows=4.00 loops=1)
02:46:09 [2025-11-22T02:46:09.798Z] Buffers: shared hit=1
02:46:09 [2025-11-22T02:46:09.798Z] Planning:
02:46:09 [2025-11-22T02:46:09.798Z] Buffers: shared hit=332 read=14
02:46:09 [2025-11-22T02:46:09.798Z] Planning Time: 14.504 ms
02:46:09 [2025-11-22T02:46:09.798Z] Execution Time: 13.485 ms
02:46:09 [2025-11-22T02:46:09.798Z] (35 rows)
02:46:09 [2025-11-22T02:46:09.798Z]
02:46:09 [2025-11-22T02:46:09.798Z] database_name | process_count
02:46:09 [2025-11-22T02:46:09.799Z] ---------------+---------------
02:46:09 [2025-11-22T02:46:09.799Z] | 8
02:46:09 [2025-11-22T02:46:09.799Z] **** | 1
02:46:09 [2025-11-22T02:46:09.799Z] authentik | 5
02:46:09 [2025-11-22T02:46:09.799Z] (3 rows)
02:46:09 [2025-11-22T02:46:09.799Z]