그pg_buffercache모듈은 공유 스포츠 토토 캐시에서 일어나는 일을 실시간으로 검사하는 수단을 제공합니다.
모듈은 C 함수를 제공합니다pg_buffercache_pages레코드 세트와 보기를 반환합니다.pg_buffercache편리한 사용을 위해 함수를 래핑합니다.
기본적으로 수퍼유저와 회원만 사용이 제한됩니다.pg_monitor역할. 다음을 사용하여 다른 사람에게 액세스 권한을 부여할 수 있습니다.부여.
pg_buffercache보기뷰에 의해 노출된 열의 정의는 다음에 표시됩니다.표 F.15.
표 F.15. pg_buffercache열
| 이름 | 유형 | 참고자료 | 설명 |
|---|---|---|---|
스포츠 토토리드 |
정수 |
ID, 범위 1..shared_buffers |
|
relfilenode |
oid |
pg_class.relfilenode |
관계의 파일노드 번호 |
reltablespace |
oid |
pg_tablespace.oid |
관계의 테이블스페이스 OID |
reldatabase |
oid |
pg_database.oid |
관계의 데이터베이스 OID |
relforknumber |
smallint |
관계 내의 포크 번호; 참조include/common/relpath.h |
|
relblocknumber |
비긴트 |
관계 내의 페이지 번호 | |
더러워요 |
부울 |
페이지가 더럽습니까? | |
사용량 |
smallint |
클럭 스윕 액세스 횟수 | |
pinning_backends |
정수 |
이 스포츠 토토를 고정하는 백엔드 수 |
공유 캐시에는 각 버퍼마다 하나의 행이 있습니다. 사용되지 않은 버퍼는 다음을 제외한 모든 필드가 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