이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다메이저 토토 사이트 : 문서 : 17 : F.28. PG_PREWARM - Buffer Caches 로의 예압 관계 데이터버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

F.30. PG_PREWARM - 배트맨 토토 Caches 로의 예압 관계 데이터#

thepg_prewarm모듈은 운영 체제 버퍼 캐시 또는에 관계 배트맨 토토를로드하는 편리한 방법을 제공합니다.postgresql버퍼 캐시. Prewarming은를 사용하여 수동으로 수행 할 수 있습니다.pg_prewarm함수를 포함 시키거나 reclude를 통해 자동으로 수행 할 수 있습니다pg_prewarminshared_preload_libraries. 후자의 경우, 시스템은 공유 버퍼의 내용을에 주기적으로 기록하는 백그라운드 작업자를 실행합니다.autoprewarm.blocks2 명의 배경 작업자를 사용하여 재시작 후 동일한 블록을 다시로드합니다.

F.30.1. 기능#

pg_prewarm (regclass, 모드 텍스트 기본값 '버퍼', 포크 텍스트 기본 'main',
           First_Block int8 기본 널,
           last_block int8 default null) int8을 반환합니다.

첫 번째 인수는 전진하는 관계입니다. 두 번째 인수는 아래에 추가로 논의 된 바와 같이 사용될 예정인 방법이다. 세 번째는 관계 포크가 전리품입니다. 일반적으로Main. 네 번째 인수는 Prewarm (의 첫 번째 블록 번호입니다.null0과 동의어로 받아 들여집니다). 다섯 번째 인수는 Prewarm의 마지막 블록 번호입니다 (NULL관계의 마지막 블록을 통한 전조를 의미합니다). 반환 값은 사전 블록의 수입니다.

사용 가능한 세 가지 예비 방법이 있습니다.prefetch이것이 지원되는 경우 운영 체제에 비동기 프리 페치 요청을 발행하거나 그렇지 않으면 오류를 던지는 경우읽기요청 된 블록 범위를 읽습니다. 같지 않은prefetch, 이것은 동기식이며 모든 플랫폼과 빌드에서 지원되지만 느리게 될 수 있습니다.버퍼요청 된 블록 범위를 데이터베이스 버퍼 캐시에 읽습니다.

이러한 방법 중 하나를 사용하면 CACHED보다 더 많은 블록을 예비하려고 시도합니다.prefetch또는읽기또는PostgreSQL사용시버퍼-더 많은 번호가 매겨진 블록이 읽히기 때문에 더 낮은 수준의 블록이 퇴거 될 수 있습니다. 사전 워진 데이터는 캐시 퇴거로부터 특별한 보호를받지 않으므로 다른 시스템 활동이 읽기 직후 새로 사전 무장 한 블록을 퇴거시킬 수 있습니다. 반대로, 사전 무장하면 캐시에서 다른 데이터를 퇴거시킬 수도 있습니다. 이러한 이유로, 사전은 캐시가 크게 비어있을 때, 스타트 업에서 가장 유용합니다.

autoprewarm_start_worker () 반환 void

주요 AutoPrewarm Worker를 시작하십시오. 이것은 일반적으로 자동으로 발생하지만 서버 시작 시간에 자동 Prewarm이 구성되지 않고 나중에 작업자를 시작하려는 경우 유용합니다..

autoprewarm_dump_now () reture int8

업데이트autoprewarm.blocks즉시. AutoPrewarm 작업자가 실행되지 않지만 다음 재시작 후에 실행할 것으로 예상됩니다. 반환 값은에 기록 된 레코드 수입니다.autoprewarm.blocks.

F.30.2. 구성 매개 변수#

pg_prewarm.autoprewarm(부울)

서버가 AutoPrewarm Worker를 실행 해야하는지 여부를 제어합니다. 이것은 기본적으로 켜져 있습니다. 이 매개 변수는 서버 시작에서만 설정할 수 있습니다.

pg_prewarm.autoprewarm_interval(Integer)

이것은 업데이트 간의 간격입니다autoprewarm.blocks. 기본값은 300 초입니다. 0으로 설정하면 파일은 정기적으로 덤프되지 않지만 서버가 종료 된 경우에만 파일이 덤프되지 않습니다.

이 매개 변수를 설정해야합니다postgresql.conf. 일반적인 사용법은 다음과 같습니다.

# postgresql.conf
shared_preload_libraries = 'pg_prewarm'

pg_prewarm.autoprewarm = true
pg_prewarm.autoprewarm_interval = 300s

F.30.3. 작가#

Robert Haas