본문 바로가기
Database/SQL

PostgreSQL, MariaDB/MySQL 테이블 별 용량 확인 하기

by 홍띠 2023. 12. 17.

각 DB엔진 별로 데이터베이스의 테이블 별 용량을 가져오는 쿼리이다.

아래 쿼리의 결과는 KB단위로 출력되나, 필요에 따라서 수식을 수정해서 MB나 GB로 고쳐서 사용하면 된다.

PostgreSQL

SELECT
    table_name,
    ROUND(pg_relation_size(table_name::regclass) / (1024), 2) AS data_size_kb,
    ROUND(pg_indexes_size(table_name::regclass) / (1024), 2) AS index_size_kb,
    ROUND(pg_total_relation_size(table_name::regclass) / (1024), 2) AS total_size_kb
FROM
    information_schema.tables
WHERE
    table_schema = 'public'; -- 테이블 스키마 지정 필요. 다른 스키마를 생성해서 사용하지 않는 경우 public

 

MySQL / MariaDB

select TABLE_NAME,
    ROUND(DATA_LENGTH/ 1024, 2) AS data_size_kb,
    ROUND(INDEX_LENGTH/ 1024, 2) AS index_size_kb,
    ROUND((DATA_LENGTH + INDEX_LENGTH)/ 1024, 2) AS total_size_kb
from information_schema.TABLES
where TABLE_SCHEMA = '{스키마 명}'