1. DB LEVEL XID 확인 

SELECT  concat(datname,':', substr((age(datfrozenxid)/1000000000.0)::text,0,5), 'billion') AS msg 
FROM    pg_database 
where   datname = current_database() 
and     age(datfrozenxid) >= 1000000000 (20억 초과시 에러) 
ORDER BY  
        age(datfrozenxid) desc ; 


2. TABLE LEVEL XID 확인  

select  
        concat(current_database(), '.', c.relname, ':', substr((greatest( age(c.relfrozenxid) 

        , age(t.relfrozenxid) )/ 1000000000.0) ::text, 0, 5), 'billion' ) as msg , 
        greatest(age(c.relfrozenxid), age(t.relfrozenxid)) as get_stat_disk_usge 
from    pg_class c 
left join pg_class t  
        on ( c.reltoastrelid = t.oid ) 
where   c.relkind in ('r','m') 
and     c.oid::regclass::text not like 'pg_%' 
and     c.oid::regclass::text not like 'public%' 
and     c.oid::regclass::text not like 'information_schema_%' 
and     greatest(age(c.relfrozenxid), age(t.relfrozenxid))  >= 1000000000 (20억 초과시 에러)

 

블로그 이미지

운명을바꾸는자

IT와 함께 살아가는 삶

,