F.33. pgstattuple

thepgstattuple모듈은 토토 사이트 순위 레벨 통계를 얻기위한 다양한 기능을 제공합니다.

이러한 함수는 자세한 페이지 수준 정보를 반환하기 때문에 기본적으로 액세스가 제한됩니다. 기본적으로 역할 만PG_STAT_SCAN_TABLEhasexecute특권. 물론 슈퍼업자들은이 제한을 우회합니다.grant다른 사람들이 그것을 실행할 수 있도록 함수의 권한을 변경하도록 명령합니다. 그러나 해당 사용자를에 추가하는 것이 바람직 할 수 있습니다.PG_STAT_SCAN_TABLE대신 역할.

F.33.1. 기능

pgstattuple (regclass) 레코드를 반환

pgstattuple관계의 물리적 길이를 반환합니다.죽은토토 사이트 순위 및 기타 정보. 이는 사용자가 진공이 필요한지 여부를 결정하는 데 도움이 될 수 있습니다.

test => select * from pgstattuple ( 'pg_catalog.pg_proc');

출력 열은에 설명되어 있습니다.테이블 F.22.

표 F.22. pgstattuple출력 열

타입 설명
table_len bigint 바이트의 물리적 관계 길이
tuple_count bigint 라이브 토토 사이트 순위 수
tuple_len bigint 바이트의 살아있는 토토 사이트 순위의 총 길이
tuple_percent float8 살아있는 토토 사이트 순위의 백분율
dead_tuple_count bigint 죽은 튜플 수
​​dead_tuple_len bigint 바이트의 죽은 튜플의 총 길이
dead_tuple_percent float8 죽은 튜플의 비율
free_space bigint 바이트의 총 여유 공간
free_percent float8 여유 공간 비율

note

thetable_len항상의 합보다 클 것입니다tuple_len, ​​dead_tuple_lenfree_space. 차이는 고정 된 페이지 오버 헤드, PAGE 당 포인터의 튜플 테이블 및 튜플이 올바르게 정렬되도록 패딩에 의해 설명됩니다..

pgstattuple관계에 대한 읽기 잠금 만 취득합니다. 따라서 결과는 즉각적인 스냅 샷을 반영하지 않습니다.

pgstattuple토토 사이트 순위을 판단합니다죽은ifHeaptuplesatisdirty거짓을 반환합니다.

pgstattuple (텍스트) 레코드를 반환

이것은와 동일합니다.pgstattuple (regclass)- 대상 관계가 텍스트로 지정된다는 점을 제외하고. 이 기능은 지금까지 후진 호환성으로 인해 유지되며 향후 릴리스에서는 더 이상 사용되지 않습니다.

pgstatindex (regclass) 레코드를 반환

pgstatindexB-Tree 지수에 대한 정보를 보여주는 레코드를 반환합니다. 예를 들어:

test => select * from pgstatindex ( 'pg_cast_oid_index');

출력 열은 다음과 같습니다.

타입 설명
버전 정수 B- 트리 버전 번호
Tree_Level 정수 루트 페이지의 트리 레벨
index_size bigint 바이트의 총 인덱스 크기
root_block_no bigint 루트 페이지의 위치 (제로이면 없음)
Internal_Pages bigint 내부(상위 레벨) 페이지
Leaf_Pages bigint 잎 페이지 수
empty_pages bigint 빈 페이지 수
deleted_pages bigint 삭제 된 페이지 수
avg_leaf_density float8 잎 페이지의 평균 밀도
Leaf_Fragmentation float8 잎 페이지 조각화

보고 된index_size일반적으로에 의해 설명되는 것보다 하나의 페이지에 해당합니다Internal_Pages + Leaf_Pages + empty_pages + deleted_pages, 인덱스의 메타지도 포함되기 때문에

withpgstattuple, 결과는 페이지별로 축적되며 전체 인덱스의 순간 스냅 샷을 나타내지 않아야합니다.

pgstatindex (텍스트) 레코드를 반환

이것은와 동일합니다.pgstatindex (regclass)18911_19074

pgstatginindex (regclass) 레코드를 반환

pgstatginindex진 지수에 대한 정보를 보여주는 레코드를 반환합니다. 예를 들어:

test => select * from pgstatginindex ( 'test_gin_index');

출력 열은 다음과 같습니다.

타입 설명
버전 정수 진 버전 번호
pending_pages 정수 보류중인 목록의 페이지 수
pending_tuples bigint 보류중인 목록의 토토 사이트 순위 수
pgstathashIndex (regclass) 레코드를 반환

pgstathashindex해시 지수에 대한 정보를 보여주는 레코드를 반환합니다. 예를 들어:

test => select * from pgstathashIndex ( 'con_hash_index');

출력 열은 다음과 같습니다.

타입 설명
버전 정수 해시 버전 번호
Bucket_Pages bigint 버킷 페이지 수
OverFlow_Pages bigint 오버플로 페이지 수
bitmap_pages bigint 비트 맵 페이지 수
UNUSED_PAGES bigint 사용하지 않은 페이지 수
live_items bigint 라이브 토토 사이트 순위 수
dead_tuples bigint 죽은 튜플 수
free_percent float 여유 공간 비율
pg_relpages (regclass) bigint를 반환

PG_RELPAGES관계의 페이지 수를 반환합니다.

PG_RELPAGES (텍스트) BIGINT를 반환

이것은와 동일합니다.pg_relpages (regclass)- 대상 관계가 텍스트로 지정된다는 점을 제외하고. 이 기능은 지금까지 후진 호환성으로 인해 유지되며 향후 릴리스에서는 더 이상 사용되지 않습니다.

pgstattuple_Approx (regclass) 레코드를 반환

pgstattuple_Approx더 빠른 대안입니다pgstattuple대략적인 결과를 반환합니다. 인수는 대상 관계의 이름 또는 OID입니다.

test => select * from pgstattuple_Approx ( 'pg_catalog.pg_proc':: regclass);

출력 열은에 설명되어 있습니다.테이블 F.23.

wherepgstattuple항상 전체 테이블 스캔을 수행하고 정확한 살아있는 토토 사이트 순위 (및 크기)과 여유 공간의 정확한 수를 반환합니다.pgstattuple_Approx전체 테이블 스캔을 피하려고 시도하고 살아있는 토토 사이트 순위 및 여유 공간의 수와 크기의 근사와 함께 정확한 데드 토토 사이트 순위 통계를 반환합니다..

가시성 맵에 따라 보이는 튜플 만있는 페이지를 건너 뛰면이 작업을 수행합니다 (페이지에 해당 VM 비트 세트가있는 경우 죽은 튜플이 포함되지 않은 것으로 가정합니다). 이러한 페이지의 경우 여유 공간 맵에서 여유 공간 값을 도출하고 페이지의 나머지 공간이 라이브 튜플에 의해 채택된다고 가정합니다..

건너 뛸 수없는 페이지의 경우 각 튜플을 스캔하고 적절한 카운터에 존재와 크기를 기록하고 페이지의 여유 공간을 추가합니다. 결국, 그것은 스캔 한 페이지 수와 튜플을 기준으로 총 살아있는 튜플 수를 추정합니다 (진공 청소기는 pg_class.reltuples를 추정하는 것과 같은 방식으로)..

표 F.23. pgstattuple_Approx출력 열

타입 설명
table_len bigint 바이트의 물리적 관계 길이 (정확한)
스캔 _percent float8 테이블 스캔 백분율
대략 _tuple_count bigint 살아있는 토토 사이트 순위 수 (추정)
대략 bigint 바이트의 살아있는 토토 사이트 순위의 총 길이 (추정)
대략 _tuple_percent float8 살아있는 토토 사이트 순위의 백분율
dead_tuple_count bigint 죽은 튜플 수 (정확한)
​​dead_tuple_len bigint 바이트의 죽은 튜플의 총 길이 (정확한)
dead_tuple_percent float8 죽은 튜플의 비율
asto_free_space bigint 바이트의 총 여유 공간 (추정)
대략적인 float8 여유 공간 비율

위의 출력에서 ​​여유 공간 수치는와 일치하지 않을 수 있습니다.pgstattuple정확히 출력 - 여유 공간 맵은 우리에게 정확한 수치를 제공하지만 바이트에 정확하지는 않기 때문에..

F.33.2. 저자

Tatsuo Ishii, Satoshi Nagayasu 및 Abhijit Menon-Sen

정정 제출

문서에 올바른 것이 없으면 일치하지 않습니다.이 양식문서 문제를보고하려면