the윈 토토
모듈은 운영 체제 버퍼 캐시 또는에 관계 데이터를로드하는 편리한 방법을 제공합니다.PostgreSQL버퍼 캐시.
윈 토토 (regclass, 모드 텍스트 기본값 '버퍼', 포크 텍스트 기본 'main',
첫 번째 논쟁은 전화되는 관계입니다. 두 번째 인수는 아래에 추가로 논의 된 바와 같이 사용될 예정인 방법이다.Main
. 네 번째 인수는 Prewarm (의 첫 번째 블록 번호입니다.NULL
0과 동의어로 받아 들여집니다). 다섯 번째 인수는 Prewarm의 마지막 블록 번호입니다 (NULL
관계의 마지막 블록을 통한 전조를 의미합니다). 반환 값은 사전 블록의 수입니다.
사용 가능한 세 가지 예비 방법이 있습니다.prefetch
운영 체제에 비동기 프리 페치 요청이 지원되거나 그렇지 않으면 오류가 발생합니다..읽기
요청 된 블록 범위를 읽습니다. 같지 않은prefetch
, 이것은 동기식이며 모든 플랫폼과 빌드에서 지원되지만 느리게 될 수 있습니다.버퍼
요청 된 블록 범위를 데이터베이스 버퍼 캐시에 읽습니다.
이러한 방법 중 하나를 사용하면 캐시를 사용할 수있는 것보다 더 많은 블록을 예비하려고 시도합니다.prefetch
또는읽기
또는PostgreSQL사용시버퍼
-더 많은 번호가 매겨진 블록이 읽히면 수준이 낮은 블록이 퇴거 될 수 있습니다. 사전 무장 한 데이터도 캐시 퇴거로부터 특별한 보호를받지 않으므로 다른 시스템 활동이 읽은 직후 새로 사전 무장 한 블록을 퇴거시킬 수 있습니다. 반대로, 사전 무장하면 캐시에서 다른 데이터를 퇴거시킬 수도 있습니다.
Robert Haas<rhaas@postgresql.org