이 장에서는 a의 디스크 사용을 사설 토토하는 방법에 대해 설명합니다.postgresql데이터베이스 시스템. ~ 안에 현재 릴리스 인 데이터베이스 관리자는 가지고 있지 않습니다 온 디스크 스토리지 레이아웃을 많이 제어 하므로이 장은 다음과 같습니다. 대부분 유익하며 관리하는 방법 몇 가지 아이디어를 줄 수 있습니다. 운영 체제 도구를 사용한 디스크 사용.
각 테이블에는 기본 힙 디사설 토토 파일이 있습니다. 데이터가 저장됩니다. 긴 열 값을 저장하려면 A도 있습니다.토스트관련 파일 테이블의 OID를 기반으로 명명 된 테이블 (실제로pg_class.relfilenode) 및의 색인토스트테이블. 또한 5 월도 있습니다 기본 테이블과 관련된 인덱스가됩니다.
세 곳에서 디스크 공간을 사설 토토 할 수 있습니다.PSQL사용진공정보,PSQL도구 사용contrib/dbsize, 그리고 사용하는 명령 줄에서 도구Contrib/Oid2Name. 사용PSQL최근 진공 청소기에서 또는 분석 된 데이터베이스, 디스크 사용을보기 위해 쿼리를 발행 할 수 있습니다. 모든 테이블의 :
relfilenode를 선택, pg_class의 Relname = 'customer'; Relfilenode | 재선 ------------+--------- 16806 | 60 (1 행)
각 페이지는 일반적으로 8 킬로 바이트입니다. (기억하다,Relpages|진공and분석.)
토스트테이블과 같은 쿼리를 사용하십시오 다음에, 대체relfilenode힙 수 (결정됨 위의 쿼리) :
Relname, Relpages를 선택하십시오 pg_class에서 여기서 relname = 'pg_toast_16806'또는 relname = 'pg_toast_16806_index' 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의 RelPAGE를 선택하십시오. Relname | 재선 --------------------------------------- bigtable | 3290 고객 | 3144
Contrib/dbsize함수로드 테이블의 크기를 찾을 수있는 데이터베이스에 또는 내부 데이터베이스PSQL필요없이진공또는분석.
당신도 사용할 수 있습니다Contrib/Oid2Name디스크 사용을 표시하려면. 보다readme.oid2name예제의 해당 디렉토리에서. 각각에 대한 디스크 사용을 표시하는 스크립트가 포함되어 있습니다. 데이터 베이스.