그pg_buffercache모듈은 공유 범퍼카 토토 캐시에서 무슨 일이 일어나고 있는지 실시간으로 검사하는 수단을 제공합니다.
모듈은 C 함수를 제공합니다pg_buffercache_pages레코드 세트와 보기를 반환합니다.pg_buffercache편리한 사용을 위해 함수를 래핑합니다.
기본적으로 수퍼유저와 회원만 사용이 제한됩니다.pg_monitor역할. 다음을 사용하여 다른 사람에게 액세스 권한을 부여할 수 있습니다.부여.
pg_buffercache보기뷰에 의해 노출된 열의 정의는 다음에 표시됩니다.표 F.15.
표 F.15. pg_buffercache열
|
열 유형 설명 |
|---|
|
ID, 범위 1.. |
|
관계의 파일 노드 번호 |
|
관계의 테이블스페이스 OID |
|
관계의 데이터베이스 OID |
|
관계 내의 포크 번호; 참조 |
|
관계 내의 페이지 번호 |
|
페이지가 더럽습니까? |
|
클럭 스윕 액세스 횟수 |
|
이 범퍼카 토토를 고정하는 백엔드 수 |
공유 캐시의 각 버퍼에는 하나의 행이 있습니다. 사용되지 않은 버퍼는 다음을 제외한 모든 필드가 null로 표시됩니다.범퍼카 토토리드. 공유 시스템 카탈로그는 데이터베이스 0에 속하는 것으로 표시됩니다.
캐시는 모든 데이터베이스에 의해 공유되기 때문에 일반적으로 현재 데이터베이스에 속하지 않는 관계의 페이지가 있습니다. 이는 일치하는 조인 행이 없을 수 있음을 의미합니다.pg_class일부 행의 경우 또는 잘못된 조인이 있을 수도 있습니다. 반대하여 가입하려는 경우pg_class, 다음이 있는 행으로 조인을 제한하는 것이 좋습니다.reldatabase현재 데이터베이스의 OID 또는 0과 같습니다.
뷰에 표시될 범퍼카 토토 상태 데이터를 복사하는 데 범퍼카 토토 관리자 잠금이 사용되지 않으므로 액세스pg_buffercache뷰는 일반 버퍼 활동에 미치는 영향이 적지만 모든 버퍼에 걸쳐 일관된 결과 세트를 제공하지는 않습니다. 그러나 우리는 각 버퍼의 정보가 일관성을 유지하도록 보장합니다.
regression=# SELECT n.nspname, c.relname, count(*) AS 버퍼
pg_buffercache b에서 JOIN pg_class c
ON b.relfilenode = pg_relation_filenode(c.oid) AND
b.reldatabase IN (0, (pg_database에서 oid 선택
WHERE datname = current_database()))
JOIN pg_namespace n ON n.oid = c.relnamespace
GROUP BY n.nspname, c.relname
3개 DESC로 주문
제한 10;
nsp이름 | 이름 | 버퍼
------------+------------+---------
공개 | delete_test_table | 593
공개 | delete_test_table_pkey | 494
pg_카탈로그 | pg_속성 | 472
공개 | 쿼드_폴리_tbl | 353
공개 | 텐크2 | 349
공개 | 텐크1 | 349
공개 | 진_테스트_idx | 306
pg_카탈로그 | pg_largeobject | 206
공개 | 진_테스트_tbl | 188
공개 | spgist_text_tbl | 182
(10행)
마크 커크우드<markir@paradise.net.nz
디자인 제안: Neil Conway<neilc@samurai.com
디버깅 조언: 톰 레인<tgl@sss.pgh.pa.us
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.