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

28.1. 디스크 사용량 확인

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

세 가지 방법으로 디스크 공간을 모니터링할 수 있습니다: SQL 사용 에 나열된 함수표 9-60, 를 사용하여PostgreSQL : 문서 : 9.1 : 스포츠 토토모듈 또는 사용 시스템 카탈로그를 수동으로 검사합니다. 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

112PostgreSQL: 문서: 9.1: 디스크 사용량 결정85

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