Queries when you have a postgresql based system by Eduardo Bellani
Are you managing/developing a PostgreSQL based application? Here are some scripts that might make your life easier dealing with your installation:
select
schema_name,
relname,
pg_size_pretty(table_size)
from
(select
pg_catalog.pg_namespace.nspname as schema_name,
relname,
pg_total_relation_size(pg_catalog.pg_class.oid) as table_size
from pg_catalog.pg_class
join pg_catalog.pg_namespace on relnamespace = pg_catalog.pg_namespace.oid
) t
where schema_name not like 'pg_%'
order by table_size desc
limit 5;
Code Snippet 1:
Check the 5 largests tables (courtesy of Supabase's dashboard)
select * from cron.job_run_details order by start_time desc limit 5;
Code Snippet 2:
Check the current running cron jobs
select act.query,
act.datname,
act.query_start,
nspname as schema_name,
relname as object_name,
l.pid
from pg_locks l
join pg_class c on (relation = c.oid)
join pg_namespace nsp on (c.relnamespace = nsp.oid)
join pg_stat_activity act on (l.pid = act.pid)
where l.pid in
(select pid
from pg_stat_activity
where datname = current_database()
and query != current_query())
order by pid;
Code Snippet 3:
See what is being locked by what (pg_terminate can unlock things)