이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.현재버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

28.1. 디스크 사용량 확인

각 테이블에는 대부분의 데이터가 저장되는 기본 힙 디스크 파일이 있습니다. 저장됩니다. 테이블에 잠재적으로 넓은 범위의 열이 있는 경우 값이 있을 수도 있습니다.토스트테이블과 관련된 파일입니다. 기본 테이블에 편안하게 들어갈 수 없을 정도로 넓은 값을 저장하는 데 사용됩니다. (참조섹션 58.2). 있을 것이다 에 하나의 색인이 있습니다.토스트테이블, 만약 현재. 기본과 관련된 인덱스도 있을 수 있습니다. 테이블. 각 테이블과 인덱스는 별도의 디스크 파일에 저장됩니다. 파일이 1GB를 초과하는 경우 두 개 이상의 파일이 있을 수 있습니다. 이러한 파일의 명명 규칙은 다음 항목에 설명되어 있습니다.섹션 58.1.

세 가지 방법으로 디스크 공간을 모니터링할 수 있습니다: SQL 사용 에 나열된 함수표 9-65, 사용 중롤 토토 : 문서 : 9.3 : OID2NAME모듈 또는 수동 사용 시스템 카탈로그 검사. SQL 함수는 사용하기 가장 쉽고 일반적으로 권장됩니다. 이것의 나머지 섹션에서는 시스템 검사를 통해 이를 수행하는 방법을 보여줍니다. 카탈로그.

사용 중psql최근에 데이터베이스를 비우거나 분석한 경우 쿼리를 실행하여 모든 테이블의 디스크 사용량:

SELECT pg_relation_filepath(oid), pg_class에서 relpages WHERE relname = '고객';

 pg_relation_filepath | 다시 페이지 
-------+------------
 베이스/16384/16806 |       60
(1행)

각 페이지는 일반적으로 8KB입니다. (기억하세요,relpages다음에 의해서만 업데이트됩니다.진공, 분석및 몇 가지 다음과 같은 DDL 명령색인 생성.) 테이블의 내용을 조사하려면 파일 경로 이름이 중요합니다. 디스크 파일을 직접 저장합니다.

사용된 공간을 표시하려면토스트테이블에 대해 다음과 같은 쿼리를 사용하세요. 다음:

SELECT relname, relpages
pg_class에서,
     (SELECT reltoastrelid
      pg_class에서
      WHERE relname = '고객') AS ss
어디에서 oid = ss.reltoastrelid OR
      oid = (reltoastidxid 선택
             pg_class에서
             어디에서 oid = ss.reltoastrelid)
relname으로 주문;

       이름 | 다시 페이지 
-------+------------
 pg_toast_16806 |        0
 pg_toast_16806_index |        1

색인 크기도 쉽게 표시할 수 있습니다.

SELECT c2.relname, c2.relpages
pg_class c, pg_class c2, pg_index i에서
여기서 c.relname = '고객' AND
      c.oid = i.indrelid AND
      c2.oid = i.indexrelid
c2.relname으로 주문;

       이름 | 다시 페이지 
-------+------------
 고객_ID_색인덱스 |       26

이를 사용하면 가장 큰 테이블과 색인을 쉽게 찾을 수 있습니다 정보:

SELECT relname, relpages
pg_class에서
ORDER BY relpages DESC;

       이름 | 다시 페이지 
-------+------------
 빅테이블 |     3290
 고객 |     3144