프로그래밍/DB SQL

[PostgreSQL] DB 용량 확인

ellyee 2021. 2. 16. 01:17

DB 용량이 자꾸 많이 사용되어 어느 테이블에 데이터가 많이 쌓이는지 확인하기 위해 찾아본 쿼리

 

데이터베이스 총 용량 확인

select datname, pg_size_pretty(pg_database_size(datname)) from pg_database;

 

DB 전체 스키마 조회

select nspname from pg_catalog.pg_namespace pn;

 

특정 스키마의 테이블 별 사이즈 확인

 SELECT nspname || '.' || relname AS "relation",
 pg_size_pretty(pg_relation_size(C.oid)) AS "size",
    pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
  FROM pg_class C
  LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  WHERE nspname IN ('스키마 명') 
    AND C.relkind <> 'i'
    AND nspname !~ '^pg_toast'
  ORDER BY pg_relation_size(C.oid) desc;