데이터베이스 객체 크기 쿼리
이 단계에서는 PostgreSQL 데이터베이스에 연결하고 테이블 및 해당 인덱스의 크기를 쿼리합니다. 데이터베이스 객체의 크기를 이해하는 것은 성능 튜닝 및 용량 계획에 매우 중요합니다.
먼저 터미널을 엽니다. postgres 사용자로 PostgreSQL 서버에 연결하고 mydatabase 데이터베이스에 액세스하려면 다음 명령을 실행합니다.
sudo -u postgres psql mydatabase
psql 프롬프트 (mydatabase=#) 가 표시되어 mydatabase 데이터베이스에 연결되었음을 나타냅니다. 이 랩의 후속 SQL 명령은 별도로 지정하지 않는 한 이 psql 셸에서 실행해야 합니다.
이제 mytable의 크기를 결정해 보겠습니다. pg_size_pretty 및 pg_relation_size 함수를 사용합니다. pg_relation_size는 테이블 크기를 바이트 단위로 반환하고, pg_size_pretty는 이를 사람이 읽을 수 있는 형식 (예: KB, MB) 으로 포맷합니다.
mytable의 크기를 얻으려면 다음 SQL 쿼리를 실행합니다.
SELECT pg_size_pretty(pg_relation_size('mytable'));
테이블 데이터가 사용하는 디스크 공간을 보여주는 다음과 유사한 출력이 표시됩니다.
pg_size_pretty
----------------
56 kB
(1 row)
다음으로 name 열에 생성된 인덱스 idx_mytable_name의 크기를 확인합니다.
SELECT pg_size_pretty(pg_relation_size('idx_mytable_name'));
출력은 인덱스가 소비하는 공간을 보여줍니다.
pg_size_pretty
----------------
48 kB
(1 row)
마지막으로 테이블과 모든 인덱스를 포함한 총 크기를 얻으려면 pg_total_relation_size 함수를 사용합니다.
SELECT pg_size_pretty(pg_total_relation_size('mytable'));
이 출력은 테이블과 해당 인덱스의 결합된 크기를 보여줍니다.
pg_size_pretty
----------------
176 kB
(1 row)