이 장에서는 a의 디스크 사용을 모니터링하는 방법에 대해 설명합니다.토토 핫데이터베이스 시스템.
각 테이블에는 기본 힙 디스크 파일이 있습니다. 데이터가 저장됩니다. 테이블에 열이있는 경우 잠재적으로 전체적으로 값이 있습니다.토스트테이블과 관련된 파일 메인에 편안하게 맞을 수 없을 정도로 값을 너무 넓게 저장하는 데 사용됩니다. 표 (참조섹션 49.2). 에 하나의 인덱스가있을 것입니다.토스트테이블, 존재하는 경우. 또한있을 수도 있습니다 기본 테이블과 관련된 인덱스. 각 테이블과 인덱스입니다 별도의 디스크 파일에 저장 - 아마도 둘 이상의 파일, 파일이 하나의 기가 바이트를 초과하는 경우. 이름 지정 규칙 이 파일은에 설명되어 있습니다.섹션 49.1.
세 곳에서 디스크 공간을 모니터링 할 수 있습니다.PSQL사용진공정보,PSQL도구 사용Contrib/dbsize, 그리고 사용하는 명령 줄에서 도구Contrib/Oid2Name. 사용PSQL최근 진공 청소기에서 또는 분석 된 데이터베이스, 디스크 사용을보기 위해 쿼리를 발행 할 수 있습니다. 모든 테이블의 :
relfilenode를 선택, pg_class의 Relname = 'customer'; Relfilenode | 재선 ------------+--------- 16806 | 60 (1 행)
각 페이지는 일반적으로 8 킬로 바이트입니다. (기억하다,Relpages진공, 분석및 a 와 같은 DDL 명령은 거의 없습니다.생성 색인.)relfilenode값 테이블의 디스크 파일을 검사하려면 관심이 있습니다. 곧장.
토스트테이블과 같은 쿼리를 사용하십시오 수행원:
Relname, Relpages를 선택하십시오 pg_class에서 (pg_class에서 reltoastrelid를 선택하십시오 여기서 relname = 'customer') ss 여기서 oid = ss.ReltoastRelid 또는 oid = (pg_class에서 reltoastidxid를 선택하십시오 여기서 oid = ss.ReltoastRelid) Relname의 주문; Relname | 재선 --------------------------------------- PG_TOAST_16806 | 0 pg_toast_16806_index | 1
인덱스 크기도 쉽게 표시 할 수 있습니다.
C2.RelName, C2.RelPages를 선택하십시오 pg_class c, pg_class c2, pg_index i 여기서 c.relname = '고객' 및 C.Oid = i.indrelid 및 c2.oid = i.indexrelid c2.relname의 주문; Relname | 재선 --------------------------------------- customer_id_indexdex | 26
가장 큰 테이블과 인덱스를 사용하는 것은 쉽습니다. 이 정보 :
Relname, Relpages Desc의 PG_CLASS ORDER에서 RelName을 선택하십시오. Relname | 재선 --------------------------------------- bigtable | 3290 고객 | 3144
Contrib/dbsize함수로드 테이블의 크기를 찾을 수있는 데이터베이스에 또는 내부 데이터베이스PSQL필요없이진공또는분석.
당신도 사용할 수 있습니다Contrib/Oid2Name디스크 사용을 표시하려면. 보다readme.oid2name예제의 해당 디렉토리에서. 각각에 대한 디스크 사용을 표시하는 스크립트가 포함되어 있습니다. 데이터 베이스.