이 문서는 지원되지 않는 버전의 토토 결과을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다사설 토토 PostgreSQL : 문서 : 17 : 19.4. 자원버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

17.4. 자원 토토 결과

17.4.1. 메모리

shared_buffers(정수)

데이터베이스 서버. 기본값은 일반적으로 1000이지만 5 월입니다 커널 설정이 지원하지 않으면 더 적습니다 ( 결정initdb). 각 버퍼는 8192 바이트이며 다른 값이 아니라면blcksz서버를 구축 할 때 선택되었습니다. 이 설정은 최소한 16 이상이어야합니다. 값의 두 배max_connections; 그러나 설정은 최소보다 훨씬 높습니다 일반적으로 좋은 성능을 위해 필요합니다. 몇 가지 값 생산 설치에는 천 명이 권장됩니다. 이 옵션은 서버 시작시에만 설정할 수 있습니다.

이 매개 변수를 높이면토토 결과더 많은 요청System V공유 메모리 운영 체제의 기본 구성보다 허용. 보다섹션 16.4.1해당 매개 변수를 조정하는 방법에 대한 정보 필요한.

temp_buffers(정수)

사용 된 임시 버퍼의 최대 수를 설정합니다 각 데이터베이스 세션. 이들은 세션-로컬 버퍼입니다 임시 테이블에 대한 액세스에만 사용됩니다. 기본값은입니다 1000. 설정은 개인 내에서 변경 될 수 있습니다 세션,하지만 임시 첫 번째 사용까지 세션 내 테이블; 후속 변경 시도 값은 해당 세션에 영향을 미치지 않습니다.

세션은 필요에 따라 임시 버퍼를 할당합니다 에 의해 주어진 한계까지temp_buffers. 큰 설정 비용 실제로 많은 것을 필요로하지 않는 세션의 가치 임시 버퍼는 버퍼 디스크립터 일뿐입니다 64 바이트, 증분 당temp_buffers. 그러나 버퍼가있는 경우 실제로 추가로 사용 된 8192 바이트가 토토 결과됩니다 그것을 위해 (또는 일반적으로blcksz바이트).

max_prepared_transactions(정수)

그만큼"준비"상태 동시에 (참조거래 준비). 이 매개 변수를 0으로 설정하면 비활성화됩니다 준비된 전환 기능. 기본값은 5입니다 옵션은 서버 시작에서만 설정할 수 있습니다.

준비된 트랜잭션을 사용하지 않는 경우 매개 변수는 0으로 설정 될 수 있습니다. 사용중인 경우 그들, 당신은 아마 원할 것입니다max_prepared_transactions적어도 큰max_connection, 준비 단계에서 원치 않는 실패를 피하려면

이 매개 변수를 높이면토토 결과더 많은 요청System V공유 메모리 운영 체제의 기본 구성보다 허용. 보다섹션 16.4.1해당 매개 변수를 조정하는 방법에 대한 정보 필요한.

work_mem(Integer)

내부에서 사용할 메모리의 양을 지정합니다. 전환하기 전에 작업 및 해시 테이블을 정렬하십시오 임시 디스크 파일. 값은 지정되어 있습니다 킬로 바이트 및 기본값은 1024 킬로 바이트 (1MB)까지. 메모 복잡한 쿼리의 경우 여러 종류 또는 해시 작업 병렬로 실행 중일 수 있습니다. 각각은 허용됩니다 이 값이 지정된만큼 많은 메모리를 사용하십시오. 데이터를 임시 파일에 넣기 시작합니다. 또한 몇몇 실행 세션은 그러한 작업을 수행 할 수 있습니다 동시에. 따라서 사용 된 총 기억은 많을 수 있습니다 값의 시간work_mem; 그것 선택할 때이 사실을 명심해야합니다. 값. 정렬 작업은에 사용됩니다.주문 by, 별도의및 합병 조인. 해시 테이블입니다 해시 조인, 해시 기반 집계 및 해시 기반 처리in서브 쿼리.

maintenance_work_mem(Integer)

사용할 최대 메모리 양을 지정합니다. 와 같은 유지 보수 작업진공, 생성 색인ALTER 테이블 추가 외국 키. 값은 킬로바이트로 지정되어 있으며 16384 킬로 바이트 (16MB)까지 기본값. 단 하나이기 때문에 이러한 작업 중 하나는 한 번에 실행할 수 있습니다. 데이터베이스 세션 및 설치는 일반적으로 그렇지 않습니다 그들 중 많은 사람들이 동시에 일어나고 있습니다. 안전합니다 이 값이보다 훨씬 큰 값을 설정하려면work_mem. 더 큰 설정이 향상 될 수 있습니다 진공 청소기 및 데이터베이스 복원을위한 성능 우울.

max_stack_depth(정수)

서버의 최대 안전 깊이를 지정합니다 실행 스택. 이 매개 변수의 이상적인 설정은 다음과 같습니다 커널에 의해 시행되는 실제 스택 크기 한계 ( 설정ulimit -s또는 로컬 동등한), 메가 바이트의 안전 마진이 적습니다. 스택 깊이가이므로 안전 마진이 필요합니다. 서버의 모든 루틴에서 확인되지 않고 표현과 같은 주요 잠재적 인 루틴 평가. 매개 변수를 실제보다 높게 설정합니다 커널 제한은 런 어웨이 재귀 기능을 의미합니다 개별 백엔드 프로세스를 충돌시킬 수 있습니다. 기본값 설정은 2048 KB (2 메가 바이트)입니다 보수적으로 작고 위험 충돌이 발생할 가능성은 거의 없습니다. 그러나 실행을 허용하기에는 너무 작을 수 있습니다. 복잡한 기능.

17.4.2. 여유 공간 지도

이 매개 변수는 공유 크기를 제어합니다여유 공간지도, 위치를 추적합니다 데이터베이스에서 사용되지 않은 공간. 소형 크기의 여유 공간지도는 5 월입니다 데이터베이스가 증가하는 디스크 공간을 소비하게합니다. 시간이 지남에 따라지도에없는 여유 공간은 재사용; 대신에토토 결과운영 체제에서 더 많은 디스크 공간을 요청합니다. 새로운 데이터를 저장해야합니다. 마지막 몇 줄은 a 데이터베이스 전체진공 장점명령 현재 설정이 적절한 지 확인하는 데 도움이 될 수 있습니다. 에이통지메시지도 인쇄됩니다 현재 설정이 너무 낮은 경우 이러한 작업.

이러한 매개 변수를 늘리면토토 결과더 많은 요청System V운영보다 공유 메모리 시스템의 기본 구성이 허용됩니다. 보다섹션 16.4.1해당 매개 변수를 조정하는 방법에 대한 정보 필요한.

max_fsm_pages(Integer)

무료 디스크 페이지 수를 설정합니다. 공간은 공유 프리 스페이스 맵에서 추적됩니다. 육 각 페이지 슬롯마다 공유 메모리의 바이트가 토토 결과됩니다. 이 설정은 16 * 이상이어야합니다.max_fsm_relations. 기본값은 20000입니다. 이 옵션은 서버 시작시에만 설정할 수 있습니다.

max_fsm_relations(Integer)

최대 관계 수를 설정합니다 (표 및 여유 공간이 추적 될 인덱스) 공유 무료 공간지도. 약 70 바이트의 공유 각 슬롯마다 메모리가 토토 결과됩니다. 기본값은 1000입니다. 이 옵션은 서버 시작시에만 설정할 수 있습니다.

17.4.3. 커널 리소스 용법

max_files_per_process(정수)

동시에 열린 파일의 최대 수를 설정합니다 각 서버 하위 프로세스에 허용됩니다. 기본값은 1000입니다. 커널이 프로세스 당 안전한 한도를 시행하는 경우 이 설정에 대해 걱정할 필요가 없습니다. 그러나 일부에 플랫폼 (특히 대부분의 BSD 시스템)은 커널이 있습니다 개별 프로세스가 더 많은 파일을 열 수 있도록합니다 많은 수의 프로세스는 모두 많은 파일을 열려고합니다. 당신이 찾으면 너 자신"너무 많은 개방 파일 "실패,이 설정을 줄이십시오. 이것 옵션은 서버 시작에서만 설정할 수 있습니다.

preload_libraries(String)

이 변수는 하나 이상의 공유 라이브러리를 지정합니다 서버 시작시 전부해야합니다. 매개 변수가 없습니다 초기화 함수는 선택적으로 각각을 호출 할 수 있습니다 도서관. 이를 지정하려면 결장과 이름을 추가하십시오. 라이브러리 이름 다음에 초기화 함수. 을 위한 예'$ libdir/mylib : mylib_init'원인mylib사전로드 및mylib_init실행됩니다. 만약에 둘 이상의 라이브러리를로드하고 분리해야합니다. 쉼표가있는 이름.

지정된 라이브러리 또는 초기화 함수가있는 경우 찾을 수 없으면 서버가 시작되지 않습니다.

토토 결과절차 언어 라이브러리는 이런 식으로 사전로드 될 수 있으며 일반적으로 구문을 사용하여'$ libdir/plxxx : plxxx_init'여기서xxxisPGSQL, Perl, TCL또는Python.

공유 라이브러리를 사전로드하여 (그리고 IF를 초기화합니다 적용 가능), 도서관 시작 시간은 라이브러리가 처음 사용됩니다. 그러나 각각을 시작할 시간입니다 새로운 서버 프로세스는 그럼에도 불구하고 약간 증가 할 수 있습니다 프로세스는 라이브러리를 사용하지 않습니다. 그래서이 옵션입니다 대부분의 경우에만 사용될 라이브러리에만 권장됩니다. 세션.

17.4.4. 비용 기반 진공 지연

실행 중진공and분석명령, 시스템이 유지됩니다 예상 비용을 추적하는 내부 카운터 수행되는 다양한 I/O 작업. 언제 누적 된 비용은 한도에 도달합니다 (VACUUM_COST_LIMIT), 작업은 잠시 잠을 자게됩니다 (VACUUM_COST_DELAY). 그런 다음 재설정됩니다 카운터 및 계속 실행.

이 기능의 의도는 관리자가 동시 데이터베이스에 대한 이러한 명령의 I/O 영향 감소 활동. 그다지 많지 않은 상황이 많이 있습니다. 유지 보수 명령이진공and분석신속하게 마무리하십시오. 그러나 일반적으로 매우 중요합니다 이 명령은 능력을 크게 방해하지 않습니다 다른 데이터베이스 작업을 수행하는 시스템의 비용 기반 진공 지연은 관리자가 달성 할 수있는 방법을 제공합니다 이것.

이 기능은 기본적으로 비활성화됩니다. 활성화하려면를 설정하십시오.VACUUM_COST_DELAY변수 a 0이 아닌 가치.

VACUUM_COST_DELAY(정수)

한 밀리 초의 시간은 그 과정입니다 비용 제한이 초과되면 잠을 자게됩니다. 그만큼 기본값은 0이므로 비용 기반 진공을 비활성화합니다 delay feature. 긍정적 인 가치는 비용 기반을 가능하게합니다 진공 청소기. 많은 시스템에서 효과적입니다 수면 지연의 해상도는 10 밀리 초입니다. 환경VACUUM_COST_DELAY값으로 그것은 10의 배수가 아닌 것과 같은 결과를 가질 수 있습니다. 다음으로 더 높은 배수로 설정하십시오.

VACUUM_COST_PAGE_HIT(Integer)

공유 버퍼 캐시. 잠금 비용을 나타냅니다 버퍼 풀, 공유 해시 테이블을 조회하고 페이지의 내용. 기본값은 1입니다.

VACUUM_COST_PAGE_MISS(Integer)

디스크에서 읽으십시오. 이것은 잠금 노력을 나타냅니다 버퍼 풀, 공유 해시 테이블을 조회하고 읽으십시오 디스크에서 원하는 블록을 사용하고 컨텐츠를 스캔합니다. 그만큼 기본값은 10입니다.

VACUUM_COST_PAGE_DIRTY(정수)

진공 청소기가 수정 될 때 요금이 청구 된 예상 비용 a 이전에 깨끗한 블록. 추가를 나타냅니다 더러운 블록을 다시 디스크로 플러시해야합니다. 기본값은 20입니다.

VACUUM_COST_LIMIT(Integer)

진공 청소기를 일으키는 축적 된 비용 잠을자는 과정. 기본값은 200입니다.

참고 :보유하는 특정 작업이 있습니다 치명적인 자물쇠가 있으므로 빨리 완료해야합니다 가능한. 비용 기반 진공 지연은이 중에 발생하지 않습니다 운영. 따라서 비용이 가능합니다 지정된 한계보다 훨씬 높습니다. 피하기 위해 그러한 경우에 쓸모 없게 긴 지연, 실제 지연은 로 계산VACUUM_COST_DELAY * Accumulated_balance / VACUUM_COST_LIMIT최대VACUUM_COST_DELAY * 4.

17.4.5. 배경 작가

시작토토 결과8.0,이라는 별도의 서버 프로세스가 있습니다.배경 작가문제 발행"더러운"공유 버퍼. 의도는 서버가 사용자를 처리한다는 것입니다 쿼리는 쓰기를 거의 기다릴 필요가 없거나 절대 기다릴 필요가 없습니다. 배경 작가가 할 것이기 때문에 발생합니다. 이것 계약은 또한 관련 성과 페널티를 줄입니다 체크 포인트와 함께. 배경 작가는 지속적으로 할 것입니다 더러운 페이지를 디스크로 옮기면 몇 페이지 만 체크 포인트 시간이 도착하면 대신 강요해야합니다. 더러운 버퍼의 폭풍은 이전에 각각이 발생했다고 썼다. 검문소. 그러나 I/O의 전체 순간 증가가 있습니다 반복적으로 거만한 페이지가 이전에 가질 수 있기 때문에로드하십시오 체크 포인트 간격 당 배경에 따라 한 번만 작성되었습니다 작가는 같은 간격으로 여러 번 쓸 수 있습니다. ~ 안에 대부분의 상황은 연속 저하가 주기적보다 바람직합니다. 스파이크이지만이 하위 섹션에서 논의 된 매개 변수는 지역의 필요에 대한 행동을 조정하는 데 사용됩니다.

bgwriter_delay(정수)

활동 라운드 간의 지연을 지정합니다 배경 작가. 각 라운드에서 작가 문제는 쓴다 일부 더러운 버퍼의 경우 ( 다음 매개 변수). 그런 다음bgwriter_delay밀리 초 및 반복. 기본값은 200입니다. 많은 시스템에서 수면 지연의 효과적인 해상도는 10 밀리 초입니다. 환경bgwriter_delaya 10의 배수가 아닌 값은 동일 할 수 있습니다. 다음으로 설정하는 결과 10 of 10의 다음으로 설정됩니다. 이 옵션은 서버 시작 또는에서 설정할 수 있습니다.토토 결과.conf파일.

bgwriter_lru_percent(플로팅 포인트)

서버 프로세스의 확률을 줄이기 위해 배경 작가 인 자신의 글을 발행해야합니다 재활용 될 가능성이있는 버퍼를 작성하려고합니다. 곧. 각 라운드마다 최대를 검사합니다.bgwriter_lru_percent버퍼의 재활용되는 데 가장 가까우며 더러운. 기본값은 1.0입니다 (이것은 비율입니다. 공유 버퍼의 총 수). 이 옵션이 될 수 있습니다 서버 시작 또는에서 설정토토 결과.conf파일.

bgwriter_lru_maxpages(정수)

각 라운드 마다이 많은 버퍼가 곧 다시 사이클링 될 스캔 결과로 작성되었습니다 버퍼. 기본값은 5입니다.이 옵션을 설정할 수 있습니다. 서버 시작 또는토토 결과.conf파일.

bgwriter_all_percent(플로팅 포인트)

필요한 작업의 양을 줄이기 위해 체크 포인트 시간, 배경 작가도 a 전체 버퍼 풀을 통한 원형 스캔, 쓰기 더러워진 버퍼. 각 라운드에서 최대 검사bgwriter_all_percent이 목적. 기본값은 0.333입니다 (이것은 a입니다 공유 버퍼의 총 수의 백분율). 와 함께 기본값bgwriter_delay설정, 전체 공유 버퍼 풀이 분당 약 1 회 스캔하십시오. 이 옵션을 설정할 수 있습니다 서버 시작 또는토토 결과.conf파일.

bgwriter_all_maxpages(정수)

각 라운드 마다이 많은 버퍼가 전체 버퍼의 스캔 결과로 작성 수영장. (이 제한에 도달하면 스캔이 중지되고 다음 라운드에서 다음 버퍼에서 재개합니다.) 기본값은 5입니다.이 옵션은 서버에서 설정할 수 있습니다. 시작하거나토토 결과.conf파일.

작은 값bgwriter_all_percentandbgwriter_all_maxpages추가 I/O 부하를 줄입니다 배경 작가에 의해 발생하지만 더 많은 작업을 수행해야합니다. 체크 포인트 시간에. 체크 포인트에서로드 스파이크를 줄이려면 이 두 값을 늘리십시오. 마찬가지로, 작은 값의bgwriter_lru_percentbgwriter_lru_maxpages추가 I/O 부하를 줄입니다 배경 작가에 의해 발생하지만 더 가능성이 높습니다. 서버 프로세스는 스스로 쓰기를 발행해야합니다. 대화식 쿼리 지연. 배경 쓰기를 비활성화합니다 전적으로, 둘 다 설정MaxPages값 및/또는 둘 다%값으로 영.