그스포츠 토토 베트맨모듈은 관계 데이터를 운영 체제 버퍼 캐시 또는포스트그레SQL버퍼 캐시. 사전 예열은 다음을 사용하여 수동으로 수행할 수 있습니다.스포츠 토토 베트맨기능 또는 다음을 포함하여 자동으로 수행될 수 있습니다.스포츠 토토 베트맨inshared_preload_libraries. 후자의 경우 시스템은 공유 버퍼의 내용을 주기적으로 파일에 기록하는 백그라운드 작업자를 실행합니다.autoprewarm.blocks그리고 2개의 백그라운드 워커를 사용하여 재시작 후 동일한 블록을 다시 로드합니다.
스포츠 토토 베트맨(regclass, 모드 텍스트 기본값 '버퍼', 포크 텍스트 기본값 'main',
first_block int8 기본값은 null,
last_block int8 기본값 null) RETURNS int8
첫 번째 인수는 미리 데울 관계입니다. 두 번째 주장은 아래에서 자세히 설명하는 것처럼 사용할 예열 방법입니다. 세 번째는 일반적으로 미리 데워질 관계 포크입니다.메인. 네 번째 인수는 사전 준비할 첫 번째 블록 번호입니다(NULL0의 동의어로 허용됩니다). 다섯 번째 인수는 사전 준비할 마지막 블록 번호입니다(NULL관계의 마지막 블록을 통해 prewarm을 의미합니다). 반환 값은 미리 예열된 블록 수입니다.
세 가지 사전 예열 방법이 있습니다.프리페치지원되는 경우 운영 체제에 비동기 프리패치 요청을 발행하고, 지원되지 않으면 오류를 발생시킵니다.읽기요청된 블록 범위를 읽습니다. 달리프리패치, 이는 동기식이며 모든 플랫폼과 빌드에서 지원되지만 속도가 느려질 수 있습니다.버퍼요청된 블록 범위를 데이터베이스 버퍼 캐시로 읽어옵니다.
이 방법 중 하나를 사용하면 캐시할 수 있는 것보다 더 많은 블록을 예열하려고 시도한다는 점에 유의하세요. — 사용 시 OS에 의해프리페치또는읽기또는 작성자:포스트그레SQL사용 시버퍼— 더 높은 번호의 블록을 읽으면 더 낮은 번호의 블록이 제거될 가능성이 높습니다. 또한 사전 워밍업된 데이터는 캐시 축출로부터 특별한 보호를 받지 못하므로 읽은 직후에 다른 시스템 활동으로 인해 새로 워밍업된 블록이 제거될 수도 있습니다. 반대로 사전 준비로 인해 캐시에서 다른 데이터가 제거될 수도 있습니다. 이러한 이유로 사전 준비는 일반적으로 캐시가 거의 비어 있는 시작 시 가장 유용합니다.
autoprewarm_start_worker() 반환 무효
주 autoprewarm 작업자를 실행합니다. 이는 일반적으로 자동으로 발생하지만 서버 시작 시 자동 사전 준비가 구성되지 않았고 나중에 작업자를 시작하려는 경우 유용합니다.
autoprewarm_dump_now() 반환 int8
업데이트autoprewarm.blocks즉시. 이는 autoprewarm 작업자가 실행 중이 아니지만 다음에 다시 시작한 후 실행할 것으로 예상되는 경우 유용할 수 있습니다. 반환 값은 기록된 레코드 수입니다.autoprewarm.blocks.
이 매개변수는 다음에서 설정되어야 합니다.postgresql.conf. 일반적인 사용법은 다음과 같습니다:
# postgresql.conf shared_preload_libraries = '스포츠 토토 베트맨' 스포츠 토토 베트맨.autoprewarm = true 스포츠 토토 베트맨.autoprewarm_interval = 300초
로버트 하스<rhaas@postgresql.org