이 장에서는 디스크 토토 핫을 모니터링하는 방법에 대해 설명합니다.토토 핫데이터베이스 시스템.
각 테이블에는 대부분의 작업이 이루어지는 기본 힙 디스크 파일이 있습니다. 데이터가 저장됩니다. 테이블에 다음과 같은 열이 있는 경우 잠재적으로 넓은 값에는 다음도 있습니다.토스트테이블과 관련된 파일, 메인에 편안하게 들어갈 수 없을 정도로 넓은 값을 저장하는 데 사용됩니다. 테이블(참조섹션 49.2). 에 하나의 인덱스가 있습니다.토스트테이블(있는 경우). 또한 있을 수 있습니다 기본 테이블과 연관된 인덱스입니다. 각 테이블과 인덱스는 별도의 디스크 파일에 저장됨(두 개 이상의 파일 가능) 파일이 1GB를 초과하는 경우. 명명 규칙 이 파일은 다음에 설명되어 있습니다.섹션 49.1.
다음 세 곳에서 디스크 공간을 모니터링할 수 있습니다.psql사용 중진공정보, 출처psql도구 사용하기기여/dbsize, 명령줄에서 다음을 사용하여 도구contrib/oid2name. 사용psql최근에 진공청소기를 청소했거나 데이터베이스를 분석하면 쿼리를 실행하여 디스크 사용량을 확인할 수 있습니다. 모든 테이블 중:
선택 relfilenode, pg_class에서 relpages WHERE relname = '고객';
relfilenode | 다시 페이지
-----------+----------
16806 | 60
(1행)
각 페이지는 일반적으로 8KB입니다. (기억하다,relpages다음에 의해서만 업데이트됩니다.진공, 분석및 다음과 같은 몇 가지 DDL 명령만들기 색인.) 그relfilenode값 테이블의 디스크 파일을 검사하려는 경우 관심이 있습니다. 곧장.
사용된 공간을 표시하려면토스트테이블에 대해 다음과 같은 쿼리를 사용하세요. 수행원:
SELECT relname, relpages
pg_class에서,
(pg_class에서 reltoastrelid 선택
WHERE relname = '고객') ss
어디에서 oid = ss.reltoastrelid
또는 oid = (pg_class에서 reltoastidxid 선택
어디에서 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에서
WHERE c.relname = '고객'
AND c.oid = i.indrelid
AND c2.oid = i.indexrelid
c2.relname으로 주문;
이름 | 다시 페이지
-------+------------
고객_ID_색인덱스 | 26
다음을 사용하여 가장 큰 테이블과 색인을 쉽게 찾을 수 있습니다. 이 정보:
SELECT relname, relpages FROM pg_class ORDER BY relpages DESC;
이름 | 다시 페이지
-------+------------
빅테이블 | 3290
고객 | 3144
기여/dbsize함수 로드 테이블의 크기를 찾을 수 있는 데이터베이스에 또는 내부의 데이터베이스psql필요 없이진공또는분석.
또한 다음을 사용할 수 있습니다.contrib/oid2name디스크 토토 핫을 표시합니다. 보다README.oid2name예를 들어 해당 디렉토리에 있습니다. 각 디스크 토토 핫을 보여주는 스크립트가 포함되어 있습니다. 데이터 베이스.