Professional Documents
Culture Documents
Vacuum Task
Vacuum Task
Vacuum Task
our observations and analysis of PostgreSQL database. And came over the point where
server has to be increased with additional resources for (RAM & CPU core)
[7:07 pm, 10/01/2024] Akshay Clouddbtech: select relname,last_vacuum,
last_autovacuum, last_analyze, last_autoanalyze from pg_stat_all_tables where
relname not like 'pg_%';
--------------------------------------------------
select relname,n_live_tup, n_dead_tup
from pg_stat_all_tables where relname not like 'pg_%'
group by 1, 2, 3
order by 2, 3 desc;
---------------------------------------------------------------------------(To see
last auto vacuum)----------------------------------------
select relname,schemaname, n_live_tup, n_dead_tup,last_vacuum, last_autovacuum,
last_analyze, last_autoanalyze
FROM pg_stat_all_tables
ORDER BY n_dead_tup DESC;
-----------------------------------------------------(specific
schema)----------------------------------------------------------------------------
-------------
SELECT
relname,
n_dead_tup,
last_vacuum,
last_autovacuum
FROM pg_stat_all_tables
WHERE schemaname = 'public'
ORDER BY n_dead_tup DESC;
===========================Table
blooting=====================================================================
select schemaname,
relname,
pg_size_pretty(pg_relation_size(schemaname|| '.' || relname)) as size,
n_live_tup,
n_dead_tup,
CASE WHEN n_live_tup > 0 THEN round((n_dead_tup::float /
n_live_tup::float)::numeric, 4) END AS dead_tup_ratio,
last_autovacuum,
last_autoanalyze
from pg_stat_user_tables
order by dead_tup_ratio desc NULLS LAST;
-----------------------------------------------------------------------------------
--------------------------
vacuum (full,analyze,verbose) dmc_ts_action_writers_s;
-----------------------------------------------------------------------------------
--------------------------
SELECT current_timestamp - pg_postmaster_start_time();
-----------------------------------------------------------------------------------
--------------------------
SELECT datname,usename,query FROM pg_stat_activity WHERE waiting;
-----------------------------------------------------------------------------------
--------------------------
select current_timestamp - query_start as runtime, datname, usename, current_query
from pg_stat_activity
where current_query != '<IDLE>'
order by 1 desc;
-----------------------------------------------------------------------------------
--------------------------
SELECT datname,usename,query FROM pg_stat_activity WHERE state != 'idle' ;
-----------------------------------------------------------------------------------
--------------------------
SELECT datname,usename,current_query FROM pg_stat_activity,current_timestamp -
query_start as runtime;
-----------------------------------------------------------------------------------
--------------------------
SELECT pid,user,pg_stat_activity.query_start,now() - pg_stat_activity.query_start
AS query_time,query,state,wait_event_type,wait_event FROM pg_stat_activity WHERE
(now() - pg_stat_activity.query_start) > interval '5 minutes';
-----------------------------------------------------------------------------------
---------------------------
526332kB
-----
SELECT 'vacuum plfaudit.' || tablename ||';' FROM pg_tables WHERE schemaname IN
('plfaudit');
select 'VACUUM VERBOSE ANALYZE plfaudit.' || tablename ||';' from
pg_stat_all_tables where tablename not like 'pg_%' and n_dead_tup > 0;