Tablespace란?

Tablespace는 PostgreSQL에서 데이터베이스 객체(테이블, 인덱스 등)가 저장될 물리적 디렉토리 경로를 의미

  • 데이터 파일을 여러 디스크에 분산 → 성능 향상
  • 특정 테이블만 고속 저장소에 따로 배치 가능
  • 용량/속도 요구사항에 따라 스토리지 관리 최적화

Tablespace별 I/O 통계 보기

  • PostgreSQL은 pg_stat_io 뷰를 통해 tablespace 단위로 읽기/쓰기 통계를 제공
  • PostgreSQL 15 이상 → pg_stat_io 제공
  • PostgreSQL 14 이하 → 직접 OS 툴(iostat 등) 사용해야 함

pg_stat_io에서 보는 주요 컬럼

SELECT *
FROM pg_stat_io
WHERE obj_type = 'tablespace';
컬럼명설명
tablespace대상 tablespace 명
reads읽기 I/O 요청 횟수
writes쓰기 I/O 요청 횟수
read_time읽기 작업에 소요된 총 시간 (밀리초)
write_time쓰기 작업에 소요된 총 시간 (밀리초)
bytes_read읽은 총 바이트 수
bytes_written기록한 총 바이트 수

예시

  • Tablespace I/O 사용량 보기
SELECT
  tablespace,
  SUM(reads) AS total_reads,
  SUM(writes) AS total_writes,
  SUM(bytes_read) AS total_bytes_read,
  SUM(bytes_written) AS total_bytes_written
FROM pg_stat_io
WHERE obj_type = 'tablespace'
GROUP BY tablespace
ORDER BY total_bytes_written DESC;

profile
안녕하세요. 엔텔스 TarzanDB 공식계정입니다.

0개의 댓글