F.25. pg_buffercache — 검사PostgreSQL스포츠 토토 사이트 캐시 상태#

pg_buffercache모듈은 공유 스포츠 토토 사이트 캐시에서 일어나는 일을 실시간으로 검사하는 수단을 제공합니다. 또한 테스트 목적으로 데이터를 제거하는 낮은 수준의 방법도 제공합니다.

이 모듈은 다음을 제공합니다.pg_buffercache_pages()함수(다음에 래핑됨pg_buffercache보기),pg_buffercache_numa_pages()함수(에 래핑됨)pg_buffercache_numa보기),pg_buffercache_summary()함수,pg_buffercache_usage_counts()함수, 그pg_buffercache_evict()함수, 그pg_buffercache_evict_relation()함수 및pg_buffercache_evict_all()함수.

pg_buffercache_pages()함수는 레코드 세트를 반환하며, 각 행은 하나의 공유 스포츠 토토 사이트 항목의 상태를 설명합니다.pg_buffercacheview는 편리한 사용을 위해 함수를 래핑합니다.

pg_buffercache_numa_pages()함수 제공NUMA공유 스포츠 토토 사이트 항목에 대한 노드 매핑. 이 정보는 다음의 일부가 아닙니다.pg_buffercache_pages()자체, 검색 속도가 훨씬 느리기 때문입니다. 그만큼pg_buffercache_numaview는 편리한 사용을 위해 함수를 래핑합니다.

pg_buffercache_summary()함수는 공유 스포츠 토토 사이트 캐시의 상태를 요약하는 단일 행을 반환합니다.

pg_buffercache_usage_counts()함수는 레코드 세트를 반환하며, 각 행은 주어진 사용 횟수와 함께 스포츠 토토 사이트 수를 설명합니다.

기본적으로 위 기능의 사용은 수퍼유저 및 다음 권한을 가진 역할로 제한됩니다.pg_monitor역할. 다음을 사용하여 다른 사람에게 액세스 권한을 부여할 수 있습니다.그랜트.

pg_buffercache_evict()함수를 사용하면 스포츠 토토 사이트 식별자가 지정된 스포츠 토토 사이트 풀에서 블록을 제거할 수 있습니다. 이 기능은 슈퍼유저만 사용할 수 있습니다.

pg_buffercache_evict_relation()함수를 사용하면 관계 식별자가 지정된 스포츠 토토 사이트 풀에서 해당 관계의 고정 해제된 모든 공유 스포츠 토토 사이트를 제거할 수 있습니다. 이 기능은 슈퍼유저만 사용할 수 있습니다.

pg_buffercache_evict_all()함수를 사용하면 고정되지 않은 모든 공유 스포츠 토토 사이트를 스포츠 토토 사이트 풀에서 제거할 수 있습니다. 이 기능은 슈퍼유저만 사용할 수 있습니다.

F.25.1. pg_buffercache보기#

뷰에 의해 노출된 열의 정의는 다음에 표시됩니다.표 F.14.

표 F.14. pg_buffercache

열 유형

설명

스포츠 토토 사이트리드 정수

ID, 범위 1..shared_buffers

relfilenode oid(참조pg_class.relfilenode)

관계의 파일 노드 번호

reltablespace oid(참조pg_tablespace.oid)

관계의 테이블스페이스 OID

reldatabase oid(참조pg_database.oid)

관계의 데이터베이스 OID

relforknumber 작은인트

관계 내의 포크 번호; 참조common/relpath.h

relblocknumber 비긴트

관계 내의 페이지 번호

더러워요 부울

페이지가 더럽습니까?

사용량 작은int

클럭 스윕 액세스 횟수

pinning_backends 정수

이 스포츠 토토 사이트를 고정하는 백엔드 수


공유 캐시의 각 스포츠 토토 사이트에는 하나의 행이 있습니다. 사용되지 않은 스포츠 토토 사이트는 다음을 제외한 모든 필드가 null로 표시됩니다.스포츠 토토 사이트리드. 공유 시스템 카탈로그는 데이터베이스 0에 속하는 것으로 표시됩니다.

캐시는 모든 데이터베이스에 의해 공유되기 때문에 일반적으로 현재 데이터베이스에 속하지 않는 관계의 페이지가 있습니다. 이는 일치하는 조인 행이 없을 수 있음을 의미합니다.pg_class일부 행의 경우 또는 잘못된 조인이 있을 수도 있습니다. 반대하여 가입하려는 경우pg_class, 다음이 있는 행으로 조인을 제한하는 것이 좋습니다.reldatabase현재 데이터베이스의 OID 또는 0과 같습니다.

뷰에 표시될 스포츠 토토 사이트 상태 데이터를 복사하는 데 스포츠 토토 사이트 관리자 잠금이 사용되지 않으므로 액세스pg_buffercache뷰는 일반 스포츠 토토 사이트 활동에 미치는 영향이 적지만 모든 스포츠 토토 사이트에 걸쳐 일관된 결과 세트를 제공하지는 않습니다. 그러나 우리는 각 스포츠 토토 사이트의 정보가 일관성을 유지하도록 보장합니다.

F.25.2. pg_buffercache_numa보기#

뷰에 의해 노출된 열의 정의는 다음에 표시됩니다.표 F.15.

표 F.15. pg_buffercache_numa

열 유형

설명

스포츠 토토 사이트리드 정수

ID, 범위 1..shared_buffers

os_page_num 비긴트

이 스포츠 토토 사이트에 대한 OS 메모리 페이지 수

numa_node int

ID의NUMA노드


다음과 같이NUMA각 페이지에 대한 노드 ID를 조회하려면 메모리 페이지를 페이지 인해야 하며, 이 기능을 처음 실행하는 데 상당한 시간이 걸릴 수 있습니다. 모든 경우(첫 번째 실행 여부)에서 이 정보를 검색하는 데는 비용이 많이 들며 높은 빈도로 뷰를 쿼리하는 것은 권장되지 않습니다.

경고

결정할 때NUMA노드, 보기는 공유 메모리 세그먼트에 대한 모든 메모리 페이지에 닿습니다. 이는 아직 할당되지 않은 경우 공유 메모리를 강제로 할당하며 메모리는 단일 메모리에 할당될 수 있습니다.NUMA노드(시스템 구성에 따라 다름).

F.25.3. pg_buffercache_summary()기능#

함수에 의해 노출된 열의 정의는 다음에 표시됩니다.표 F.16.

표 F.16. pg_buffercache_summary()출력 열

열 유형

설명

buffers_used int4

사용된 공유 스포츠 토토 사이트 수

buffers_unused int4

미사용 공유 스포츠 토토 사이트 수

buffers_dirty int4

더티 공유 스포츠 토토 사이트 수

buffers_pinned int4

고정된 공유 스포츠 토토 사이트 수

usagecount_avg float8

사용된 공유 스포츠 토토 사이트의 평균 사용 횟수


pg_buffercache_summary()함수는 모든 공유 스포츠 토토 사이트의 상태를 요약하는 단일 행을 반환합니다. 유사하고 더 자세한 정보는 다음에서 제공됩니다.pg_buffercache보기, 하지만pg_buffercache_summary()훨씬 저렴합니다.

좋아요pg_buffercache보기,pg_buffercache_summary()스포츠 토토 사이트 관리자 잠금을 획득하지 않습니다. 따라서 동시 활동으로 인해 결과가 약간 부정확해질 수 있습니다.

F.25.4. pg_buffercache_usage_counts()기능#

함수에 의해 노출된 열의 정의는 다음에 표시됩니다.표 F.17.

표 F.17. pg_buffercache_usage_counts()출력 열

열 유형

설명

usage_count int4

가능한 스포츠 토토 사이트 사용 횟수

스포츠 토토 사이트 int4

사용 횟수가 포함된 스포츠 토토 사이트 수

더러운 int4

사용 횟수가 포함된 더티 스포츠 토토 사이트 수

고정 int4

사용 횟수가 포함된 고정된 스포츠 토토 사이트 수


pg_buffercache_usage_counts()함수는 가능한 사용 횟수 값에 대해 집계된 모든 공유 스포츠 토토 사이트의 상태를 요약하는 일련의 행을 반환합니다. 유사하고 더 자세한 정보는 다음에서 제공됩니다.pg_buffercache보기, 하지만pg_buffercache_usage_counts()훨씬 저렴합니다.

좋아요pg_buffercache보기,pg_buffercache_usage_counts()스포츠 토토 사이트 관리자 잠금을 획득하지 않습니다. 따라서 동시 활동으로 인해 결과가 약간 부정확해질 수 있습니다.

F.25.5. pg_buffercache_evict()기능#

pg_buffercache_evict()함수는 다음과 같이 스포츠 토토 사이트 식별자를 사용합니다.스포츠 토토 사이트리드pg_buffercache보기. 스포츠 토토 사이트가 제거되고 플러시되었는지 여부에 대한 정보를 반환합니다. buffer_evicted 열은 성공 시 true이고, 스포츠 토토 사이트가 유효하지 않거나 고정되어 제거할 수 없거나 쓰기 시도 후 다시 더러워진 경우 false입니다. buffer_flushed 열은 스포츠 토토 사이트가 플러시된 경우 true입니다. 이는 반드시 우리가 스포츠 토토 사이트를 플러시했다는 의미는 아니며 다른 사람이 플러시할 수도 있습니다. 스포츠 토토 사이트는 동시 활동으로 인해 언제든지 다시 유효해질 수 있으므로 반환 즉시 결과가 최신이 아닙니다. 이 함수는 개발자 테스트 전용입니다.

F.25.6. pg_buffercache_evict_relation()기능#

pg_buffercache_evict_relation()함수는 다음과 매우 유사합니다.pg_buffercache_evict()함수. 차이점은 다음과 같습니다.pg_buffercache_evict_relation()스포츠 토토 사이트 식별자 대신 관계 식별자를 사용합니다. 해당 관계에 있는 모든 포크에 대한 모든 스포츠 토토 사이트를 제거하려고 시도합니다. 제거된 스포츠 토토 사이트 수, 플러시된 스포츠 토토 사이트 수 및 제거할 수 없는 스포츠 토토 사이트 수를 반환합니다. 플러시된 스포츠 토토 사이트는 반드시 우리가 플러시한 것은 아니며, 다른 사람이 플러시했을 수도 있습니다. 동시 활동으로 인해 스포츠 토토 사이트를 즉시 다시 읽을 수 있으므로 결과는 반환 즉시 최신이 아닙니다. 이 함수는 개발자 테스트 전용입니다.

F.25.7. pg_buffercache_evict_all()기능#

pg_buffercache_evict_all()함수는 다음과 매우 유사합니다.pg_buffercache_evict()함수. 차이점은 다음과 같습니다.pg_buffercache_evict_all()함수는 인수를 취하지 않습니다. 대신 스포츠 토토 사이트 풀의 모든 스포츠 토토 사이트를 제거하려고 시도합니다. 제거된 스포츠 토토 사이트 수, 플러시된 스포츠 토토 사이트 수 및 제거할 수 없는 스포츠 토토 사이트 수를 반환합니다. 플러시된 스포츠 토토 사이트는 반드시 우리가 플러시한 것은 아니며, 다른 사람이 플러시했을 수도 있습니다. 동시 활동으로 인해 스포츠 토토 사이트를 즉시 다시 읽을 수 있으므로 결과는 반환 즉시 최신이 아닙니다. 이 함수는 개발자 테스트 전용입니다.

F.25.8. 샘플 출력#

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행)

회귀=# SELECT * FROM pg_buffercache_summary();
 스포츠 토토 사이트 사용 | 스포츠 토토 사이트_미사용 | 스포츠 토토 사이트_더티 | 스포츠 토토 사이트_고정 | 사용량_평균
--------------+---+---------------+---+----------------
          248 |        2096904 |            39 |              0 |       3.141129
(1줄)

회귀=# SELECT * FROM pg_buffercache_usage_counts();
 사용량_횟수 | 스포츠 토토 사이트 | 더러운 | 고정된
------------+---------+---------+--------
           0 |   14650 |     0 |      0
           1 |    1436 |   671 |      0
           2 |     102 |    88 |      0
           3 |      23 |    21 |      0
           4 |       9 |     7 |      0
           5 |     164 |   106 |      0
(6행)

F.25.9. 저자#

마크 커크우드

디자인 제안: Neil Conway

디버깅 조언: 톰 레인

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.