이 장에서는 a의 디스크 사용을 모니터링하는 방법에 대해 설명합니다.사설 토토 사이트데이터베이스 시스템.
각 테이블에는 기본 힙 디스크 파일이 있습니다. 데이터가 저장됩니다. 테이블에 열이있는 경우 잠재적으로 전체적으로 값이 있습니다.토스트테이블과 관련된 파일 메인에 편안하게 맞을 수 없을 정도로 값을 너무 넓게 저장하는 데 사용됩니다. 표 (참조섹션 50.2). 에 하나의 인덱스가있을 것입니다.토스트테이블, 존재하는 경우. 또한있을 수도 있습니다 기본 테이블과 관련된 인덱스. 각 테이블과 인덱스입니다 별도의 디스크 파일에 저장 - 아마도 둘 이상의 파일, 파일이 하나의 기가 바이트를 초과하는 경우. 이름 지정 규칙 이 파일은에 설명되어 있습니다.섹션 50.1.
세 가지 방법에서 디스크 공간을 모니터링 할 수 있습니다 : SQL 사용 나열된 기능표 9-47, 사용진공정보 및 도구를 사용하는 명령 줄Contrib/Oid2Name. SQL 함수는 다음과 같습니다 테이블, 테이블에 대한 정보를 사용하고보고하기가 가장 쉽습니다. 인덱스 및 긴 가치 저장 (토스트), 데이터베이스 및 테이블 스페이스.
사용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 주문에서 Relname을 선택하십시오. Relname | 재선 --------------------------------------- bigtable | 3290 고객 | 3144
당신도 사용할 수 있습니다Contrib/Oid2Name디스크 사용을 표시하려면. 보다readme.oid2name예제의 해당 디렉토리에서. 각각에 대한 디스크 사용을 표시하는 스크립트가 포함되어 있습니다. 데이터 베이스.