Vacuum Task

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

[6:12 pm, 10/01/2024] Akshay Clouddbtech: As discussed in the call we have shared

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;

---------------(shows tables and deadtuples count greater then


zero)------------------------------------------------------------------------------
-
select relname, n_live_tup, n_dead_tup
from pg_stat_all_tables where relname not like 'pg_%' and n_dead_tup > 0
group by 1, 2, 3
order by 2, 3 desc;

select schemaname, relname, n_tup_upd,n_dead_tup from pg_stat_user_tables where


n_dead_tup >=100 order by n_dead_tup desc limit(10);
---------------------------------------------------------------------------

-------------------------(command to create manual vaccuming


deadtuples)--------------------------------------------------
select 'VACUUM VERBOSE ANALYZE ' ||schemaname||'.'||relname|| ';' from
pg_stat_all_tables where relname not like 'pg_%' and n_dead_tup > 0;

------------------------- (Auto_vacuum_freeze) ------------------


autovacuum_vacuum_scale_factor=0.2;
autovacuum_analyze_scale_factor=0.01;
autovacuum_freeze_max_age=6000000000;
-----------------------------------------------------------------

===========================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';
-----------------------------------------------------------------------------------
---------------------------

ALTER SYSTEM SET max_connections = 100;

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;

You might also like