SELECT *,
pg_size_pretty(tablesize+indexsize+toastsize+toastindexsize) AS totalsize
FROM
(SELECT pg_relation_size(cl.oid) AS tablesize,
COALESCE((SELECT SUM(pg_relation_size(indexrelid))::bigint
FROM pg_index WHERE cl.oid=indrelid), 0) AS indexsize,
CASE WHEN reltoastrelid=0 THEN 0
ELSE pg_relation_size(reltoastrelid)
END AS toastsize,
CASE WHEN reltoastrelid=0 THEN 0
ELSE pg_relation_size((SELECT reltoastidxid FROM pg_class ct
WHERE ct.oid = cl.reltoastrelid))
END AS toastindexsize
FROM pg_class cl
WHERE relname = 'atm0001m') ss;
위와 같은 DB 용량 확인하는 쿼리를 찾아서 사용하려고 하는데요.... 질문이 있습니다.
예를 들어 DB에 7월 / 8월 / 9월 / 10월 / 11월 이렇게 정보가 있다고하면
위에 쿼리문은 전체 용량을 확인을 하는걸로 알고있습니다.
저는 월별로 용량을 알고싶은데요 어떻게 해야 가능한지 질문드려봅니다.
아직 DB 초보라 모르는게 너무 많아서 공부하면서 질문올려보게 되었네요..ㅠ.ㅠ |