이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 24 장. 일상 토토 사이트 유지 보수 작업버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

22장. 일상적인 사설 토토 사이트 유지 관리 작업

반드시 ​​수행해야 하는 몇 가지 일상적인 유지관리 작업이 있습니다. a를 유지하기 위해 정기적으로 수행됩니다.PostgreSQL서버가 원활하게 작동하고 있습니다. 그만큼 여기서 논의되는 작업은 본질적으로 반복적이며 쉽게 수행될 수 있습니다. 다음과 같은 표준 Unix 도구를 사용하여 자동화됨크론스크립트. 하지만 그것은 사설 토토 사이트입니다 적절한 스크립트를 설정하는 것은 관리자의 책임입니다. 성공적으로 실행되는지 확인합니다.

한 가지 확실한 유지 관리 작업은 다음의 백업 복사본을 생성하는 것입니다. 정기적인 일정에 따라 데이터를 수집합니다. 최근 백업이 없으면 재해(디스크 장애, 화재, 실수로 중요한 테이블을 삭제하는 등). 백업과 다음에서 사용 가능한 복구 메커니즘PostgreSQL에서 자세히 논의됩니다.PostgreSQL : 문서 : 8.1 : 젠 토토 및 젠 토토.

유지보수 작업의 또 다른 주요 범주는 주기적입니다."청소 중"사설 토토 사이트의. 이것 활동은에서 논의됩니다.섹션 22.1.

주기적인 주의가 필요한 또 다른 것은 로그 파일입니다 관리. 이에 대해서는에서 논의됩니다.섹션 22.3.

포스트그레SQL유지관리가 적습니다. 다른 데이터베이스 관리 시스템과 비교됩니다. 그래도 여전히, 이러한 작업에 대한 적절한 관심은 다음을 보장하는 방향으로 나아갈 것입니다. 시스템에 대한 즐겁고 생산적인 경험입니다.

22.1. 일상적인 진공 청소

PostgreSQL진공명령은 정기적으로 실행되어야 합니다. 여러 가지 이유로:

  1. 업데이트되거나 삭제된 디스크 공간을 복구하려면 행.

  2. 다음에서 사용하는 데이터 통계를 업데이트하려면PostgreSQL쿼리 플래너.

  3. 다음으로 인해 매우 오래된 데이터의 손실을 방지하기 위해거래 ID 랩어라운드.

의 빈도와 범위진공각각에 대해 수행된 작업 이유는 각 사이트의 요구 사항에 따라 다릅니다. 따라서 데이터베이스 관리자는 이러한 문제를 이해해야 합니다. 적절한 유지 관리 전략을 개발합니다. 이 섹션 높은 수준의 문제를 설명하는 데 집중합니다. 자세한 내용은 명령 구문 등에 대해서는 다음을 참조하세요.진공참조 페이지.

시작포스트그레SQL7.2, 의 표준 형식진공할 수 있다 일반 데이터베이스 작업과 병렬로 실행(선택, 삽입, 업데이트, 삭제는 가능하지만 테이블은 변경되지 않습니다. 정의). 따라서 일상적인 진공 청소는 거의 그렇지 않습니다. 이전 릴리스와 마찬가지로 방해가 되지만 하루 중 사용량이 적은 시간에 예약하는 것이 중요합니다.

시작PostgreSQL8.0에는 다음과 같이 조정할 수 있는 구성 매개변수가 있습니다. 백그라운드 진공 청소로 인해 성능에 미치는 영향이 더욱 줄어듭니다. 보다섹션 17.4.4.

필요한 작업을 수행하기 위한 자동화된 메커니즘진공작업이 추가되었습니다PostgreSQL8.1. 보다섹션 22.1.4.

22.1.1. 디스크 복구 중 공간

정상적으로PostgreSQL작업, an업데이트또는삭제행의 즉시 제거되지 않음 행의 이전 버전입니다. 이 접근 방식은 다음을 위해 필요합니다. 다중 버전 동시성 제어의 이점을 얻습니다(참조PostgreSQL : 문서 : 8.1 : 스포츠 토토 결과 제어): 행 버전은 다음과 같아야 합니다. 잠재적으로 다른 사람에게 표시되는 동안 삭제됩니다. 업무. 하지만 결국에는 오래되었거나 삭제된 행이 버전은 더 이상 어떤 거래에도 관심이 없습니다. 그만큼 새 행에서 재사용하려면 차지하는 공간을 회수해야 합니다. 디스크 공간 요구 사항이 무한정 증가하는 것을 방지합니다. 이것은 실행하여 완료진공.

분명히 자주 업데이트되거나 삭제되는 테이블입니다 테이블보다 더 자주 진공청소기를 청소해야 합니다. 거의 업데이트되지 않습니다. 주기적으로 설정하는 것이 유용할 수 있습니다.크론할 일진공선택한 테이블만, 테이블 건너뛰기 자주 바뀌지 않는 것으로 알려져 있습니다. 이것은 아마도 크게 업데이트된 대규모 테이블과 자주 업데이트되지 않는 대형 테이블 — 테이블을 청소하는 데 드는 추가 비용 작은 테이블은 걱정할 만큼 충분하지 않습니다.

다음에는 두 가지 변형이 있습니다.진공명령. 첫 번째 형식은"게으른 진공"또는 그냥진공, 테이블에 만료된 데이터를 표시하고 향후 재사용을 위한 인덱스 그렇죠아님복원을 시도합니다. 공간이 다음 위치에 있지 않는 한 만료된 데이터가 사용하는 공간 테이블 끝부분과 테이블 전용 잠금 장치를 쉽게 사용할 수 있습니다. 획득. 파일의 시작이나 중간에 사용되지 않은 공간 파일이 짧아지고 공간이 발생하지 않습니다. 운영 체제로 돌아왔습니다. 이 변형은진공정상과 동시에 실행 가능 사설 토토 사이트 작업.

두 번째 형태는진공 가득한명령. 이는 보다 공격적인 알고리즘을 사용합니다. 만료된 행 버전에서 소비한 공간을 회수합니다. 어느 다음으로 해제된 공간진공 가득 참즉시 운영 체제로 반환됩니다. 불행하게도 이 변형은진공명령이 다음에 대한 독점 잠금을 획득합니다. 각 테이블 동안진공이 가득 참이다 그것을 처리합니다. 따라서 자주 사용하는진공 가득 참매우 부정적일 수 있음 동시 사설 토토 사이트 쿼리의 성능에 영향을 미칩니다.

의 표준 형식진공입니다 상당히 수준을 유지하려는 목적으로 사용하는 것이 가장 좋습니다. 디스크 공간의 안정적인 상태 사용. 디스크를 반납해야 하는 경우 사용할 수 있는 운영 체제 공간진공 가득 참— 그런데 요점이 뭐죠? 할당만 하면 되는 디스크 공간을 해제합니다. 곧 또? 보통 빈도 표준진공실행은 다음보다 더 나은 접근 방식입니다. 드문진공 가득 참다음을 위해 실행됩니다. 많이 업데이트된 테이블을 유지 관리합니다.

대부분의 사이트에서 권장되는 방법은 사설 토토 사이트 전체진공하루에 한 번 하루 중 사용량이 적은 시간, 더 자주 보충 필요한 경우 많이 업데이트된 테이블을 진공 청소기로 청소합니다. (일부 데이터 전송률이 매우 높은 설치 가감진공사용 중인 테이블 몇 분에 한 번씩 자주 발생합니다.) 클러스터의 사설 토토 사이트, 잊지 마세요진공각각; 프로그램PostgreSQL : 문서 : 8.1 : 메이저 토토 사이트도움이 될 것 같습니다.

진공 가득 참권장 대상: 대부분의 행을 삭제했음을 알고 있는 경우 테이블의 안정된 상태 크기가 다음과 같이 크게 줄어들었습니다.진공 가득한의 더욱 공격적인 접근 방식입니다. 일반 사용진공, 아님진공 가득한, 공간 복구를 위한 일상적인 진공 청소용.

다음에 내용이 삭제된 테이블이 있는 경우 주기적으로 수행하는 것을 고려하십시오.잘라내기사용하는 것보다삭제다음에 이어진공. 잘라내기없이 테이블의 전체 내용을 즉시 제거합니다. 후속 조치가 필요함진공또는진공 가득 참을 되찾기 위해 현재 사용되지 않은 디스크 공간입니다.

22.1.2. 플래너 업데이트 중 통계

포스트그레SQL질의 기획자는 콘텐츠에 대한 통계정보에 의존합니다. 쿼리에 대한 좋은 계획을 생성하기 위해 테이블을 만듭니다. 이것들 통계는 다음에 의해 수집됩니다.분석다음에 의해 호출될 수 있는 명령 자체적으로 또는 선택적인 단계로진공. 합리적으로 갖는 것이 중요하다 정확한 통계가 없으면 잘못된 계획 선택이 발생할 수 있습니다. 사설 토토 사이트 성능이 저하됩니다.

공간 복구를 위한 진공 청소와 마찬가지로 자주 업데이트되는 통계는 데이터보다 자주 업데이트되는 테이블에 더 유용합니다. 거의 업데이트되지 않는 것들에 대해. 하지만 대규모 업데이트에도 불구하고 테이블의 경우 통계 업데이트가 필요하지 않을 수 있습니다. 데이터의 통계적 분포는 크게 변하지 않습니다. 에이 간단한 경험 법칙은 최소 금액이 얼마인지 생각하는 것입니다. 테이블에 있는 열의 최대값이 변경됩니다. 을 위한 예를 들어, a타임스탬프그 열 행 업데이트 시간을 포함합니다. 행이 추가됨에 따라 지속적으로 증가하는 최대값 업데이트됨; 그러한 열은 아마도 더 자주 필요할 것입니다 예를 들어 URL이 포함된 열보다 통계가 업데이트됩니다. 웹사이트에서 액세스한 페이지. URL 열은 다음을 수신할 수 있습니다. 자주 변경되지만 통계적 분포는 그 값은 아마도 상대적으로 느리게 변할 것입니다.

실행이 가능합니다분석켜짐 특정 테이블, 심지어는 테이블의 특정 열만 일부 통계를 더 많이 업데이트할 수 있는 유연성이 존재합니다. 애플리케이션에 필요한 경우 다른 것보다 자주. ~ 안에 그러나 실제로 이 기능의 유용성은 못 미더운. 다음에서 시작됨PostgreSQL 7.2, 분석다음에서도 상당히 빠른 작업입니다. 통계적 무작위 샘플링을 사용하기 때문에 큰 테이블 모든 단일 행을 읽는 대신 테이블의 행을 읽습니다. 따라서 전체에 걸쳐 실행하는 것이 아마도 훨씬 간단할 것입니다. 데이터베이스를 자주 사용하세요.

팁:열별로 조정했지만분석빈도가 그리 높지 않을 수 있습니다. 생산적이라면, 당신은 그 일을 할 가치가 있다고 생각할 수도 있습니다 열별로 세부 수준 조정 통계 수집자:분석. 에서 많이 사용되는 열어디에서절이 있으며 매우 불규칙합니다. 데이터 배포에는 더 세분화된 데이터가 필요할 수 있습니다. 다른 열보다 히스토그램. 보다테이블 세트 통계 변경.

대부분의 사이트에서 권장되는 방법은 사설 토토 사이트 전체분석하루에 한 번 하루 중 사용량이 적은 시간; 이는 다음과 유용하게 결합될 수 있습니다. 매일 밤진공. 그러나 다음과 같은 사이트는 상대적으로 느리게 변화하는 테이블 통계는 다음과 같은 사실을 알 수 있습니다. 이건 과잉이고 빈도도 낮습니다.분석실행이면 충분합니다.

22.1.3. 거래 ID 방지 랩어라운드 실패

PostgreSQL의 MVCC 트랜잭션 의미론은 비교 능력에 달려 있습니다. 거래 ID(XID) 숫자: 삽입 XID가 다음보다 큰 행 버전 현재 거래의 XID는"안에 미래"현재는 볼 수 없어야 합니다. 거래. 하지만 트랜잭션 ID의 크기가 제한되어 있으므로(32개) 이 글을 쓰는 시점의 비트) 오랫동안 실행되는 클러스터 (40억 건 이상의 거래)가 어려움을 겪을 것입니다.트랜잭션 ID 랩어라운드: XID 카운터 0으로 돌아가고 갑자기 거래가 발생합니다. 과거에는 미래에 있는 것처럼 보였습니다. 즉, 그 결과는 보이지 않게 됩니다. 한마디로 재앙적인 데이터다. 손실. (사실 데이터는 아직 남아있는데 그게 차갑네요. 할 수 없다면 위로가 됩니다.)

이전PostgreSQL7.2, XID 랩어라운드에 대한 유일한 방어는 다시-initdb적어도 40억 건의 거래마다. 물론 이것은 트래픽이 많은 환경에서는 그다지 만족스럽지 않았습니다. 더 나은 솔루션이 고안되었습니다. 새로운 접근 방식을 사용하면 서버가 다음 없이 무기한 작동 상태를 유지할 수 있습니다.initdb또는 모든 종류의 재시작. 그만큼 가격은 유지 관리 요구 사항입니다.데이터베이스의 모든 테이블은 다음과 같아야 합니다. 10억 건의 거래마다 최소 한 번씩 진공 처리됨.

실제로 이는 부담스러운 요구 사항은 아니지만 이후 이를 충족하지 못하면 완전한 데이터가 될 수 있습니다. 손실(디스크 공간 낭비나 성능 저하뿐만 아니라), 일부 사설 토토 사이트를 돕기 위해 특별 조항이 만들어졌습니다. 관리자는 재난을 방지합니다. 각 사설 토토 사이트에 대해 무리,포스트그레SQL지키다 사설 토토 사이트 전체의 마지막 시간 추적진공. 어떤 데이터베이스가 접근하면 10억 거래 위험 수준, 시스템이 방출하기 시작합니다. 경고 메시지. 아무 조치도 취하지 않으면 결국 종료됩니다. 적절한 수동 유지보수가 완료될 때까지 정상적인 운영을 중단합니다. 완료되었습니다. 이 섹션의 나머지 부분에서 세부정보를 제공합니다.

XID 비교에 대한 새로운 접근 방식은 두 가지를 구별합니다. 특수 XID, 숫자 1 및 2(부트스트랩XID그리고FrozenXID). 이 두 XID는 항상 모든 일반 XID보다 오래된 것으로 간주됩니다. 일반 XID( 2보다 큼)은 modulo-2를 사용하여 비교됩니다.31산술. 이는 모든 일반 XID에 대해 다음이 있음을 의미합니다. 20억 개의 XID가 있습니다."나이가 많은"그리고 20억이"최신"; 다르게 말하면 일반 XID 공간은 다음과 같습니다. 끝이 없는 원형. 따라서 행 버전이 일단 특정 일반 XID(행 버전)로 생성되었습니다. 될 것 같습니다"과거에"다음 20억 거래의 경우, 정상 여부에 관계없이 우리가 말하는 XID입니다. 행 버전이 아직 존재하는 경우 20억 개가 넘는 거래 후에 갑자기 미래에 있을 것 같습니다. 데이터 손실을 방지하기 위해 이전 행 버전에는 XID를 다시 할당해야 합니다.FrozenXID언젠가 그들이 도착하기 전에 20억 거래의 오래된 기록입니다. 일단 할당되면 이 특별한 XID는 다음과 같습니다."과거에"모든 일반 거래에 랩어라운드 문제와 관계없이 이러한 행 버전 기간에 관계없이 삭제될 때까지는 괜찮습니다. 이것 XID 재할당은 다음에서 처리됩니다.진공.

진공의 일반적인 정책은 다음과 같습니다. 재할당FrozenXID모든 행에 10억 건 이상의 거래가 발생한 일반 XID 버전 과거에. 이 정책은 원래 삽입 XID를 보존합니다. 더 이상 관심이 없을 때까지. (사실은, 대부분의 행 버전은 아마도 한 번도 없이 살다가 죽을 것입니다. 존재"냉동".) 이 정책을 사용하면 사이의 최대 안전 간격진공모든 테이블에서 실행되는 것은 정확히 하나입니다. 10억 건의 거래: 더 오래 기다리면 재할당할 만큼 오래되지 않은 행 버전 지난 번 거래는 이제 20억 건이 넘었고 미래로 포장되었습니다. 즉, 당신에게 상실되었습니다. (물론 20억이 더 지나면 다시 등장하겠지만) 거래가 가능하지만 도움이 되지 않습니다.)

주기적 이후진공실행은 어쨌든 앞서 설명한 이유로 필요합니다. 테이블이 오랫동안 진공 청소되지 않을 가능성은 거의 없습니다. 10억 건의 거래. 하지만 관리자가 이를 보장할 수 있도록 돕기 위해 이 제약 조건이 충족되었습니다.진공시스템 테이블에 트랜잭션 ID 통계를 저장합니다.pg_database. 특히,datfrozenxid사설 토토 사이트의 열pg_database행이 다음에서 업데이트됩니다. 데이터베이스 전체의 완료진공작업(예:진공특정 테이블의 이름을 지정하지 않음). 이 필드에 저장된 값은 동결 컷오프 XID입니다. 그것에 의해 사용되었습니다진공명령. 모두 이 컷오프 XID보다 오래된 일반 XID는 다음을 갖습니다. 다음으로 대체되었습니다.FrozenXID내부 그 데이터베이스. 이 정보를 검사하는 편리한 방법 쿼리를 실행하는 것입니다.

pg_database에서 datname, 나이(datfrozenxid) 선택;

나이열은 다음을 측정합니다. 컷오프 XID부터 현재까지의 트랜잭션 수 거래의 XID.

표준 동결 정책에 따르면,나이열은 10억부터 시작됩니다. 새로 비워진 데이터베이스. 때나이20억에 가까워지면 데이터베이스가 필요합니다. 랩 어라운드 실패의 위험을 피하기 위해 다시 진공 청소하십시오. 권장되는 방법은 다음과 같습니다.진공각 사설 토토 사이트는 적어도 5억(500 백만) 거래를 통해 충분한 안전을 제공합니다. 여유. 이 규칙을 충족하기 위해 각 사설 토토 사이트 전체에서진공다음의 경우 자동으로 경고를 전달합니다. 있어요pg_database항목 표시됨나이1.5 이상 10억 건의 거래 예:

play=# 진공;
경고: 데이터베이스 "mydb"는 177009986 트랜잭션 내에서 정리되어야 합니다.
힌트: 데이터베이스 종료를 방지하려면 "mydb"에서 전체 데이터베이스 VACUUM을 실행하세요.
진공

다음에 의해 경고가 발생하는 경우진공무시하고 가세요.PostgreSQL매번 위와 같은 경고를 표시하기 시작합니다. 1,000만 개 미만이 되면 거래가 시작됩니다. 랩어라운드까지 남은 트랜잭션입니다. 만약 그 경고도 무시되면 시스템이 종료되고 실행이 거부됩니다. 100만 건 미만인 경우 새로운 거래 랩어라운드까지 남은 거래 수:

play=# 2+2 선택;
오류: 사설 토토 사이트 "mydb"의 랩어라운드 데이터 손실을 방지하기 위해 사설 토토 사이트가 종료되었습니다.
힌트: 포스트마스터를 중지하고 "mydb"에서 VACUUM에 대한 독립형 백엔드를 사용하십시오.

1백만 거래의 안전 마진은 다음을 허용하기 위해 존재합니다. 관리자가 수동으로 데이터 손실 없이 복구 필수 실행진공명령. 그러나 시스템은 명령을 실행하지 않으므로 안전 종료 모드로 전환되면 유일한 방법은 이렇게 하려면 포스트마스터를 중지하고 독립 실행형을 사용하는 것입니다. 실행할 백엔드진공. 그만큼 종료 모드는 독립형 백엔드에서 시행되지 않습니다. 보다 그만큼포스트그레스자세한 내용은 참조 페이지 독립형 백엔드 사용에 대해 알아보세요.

진공와 함께정지옵션은 보다 공격적인 동결을 사용합니다. 정책: 행 버전이 충분히 오래되면 고정됩니다. 모든 공개 거래에서 좋은 것으로 간주됩니다. 특히 만약에 a진공 동결다음에서 수행됩니다. 그렇지 않으면 유휴 데이터베이스인 경우 다음이 보장됩니다.모두그 행 버전 데이터베이스가 동결됩니다. 따라서 데이터베이스가 있는 한 어떤 식으로든 수정되지 않았으므로 후속 작업이 필요하지 않습니다. 트랜잭션 ID 랩어라운드 문제를 피하기 위해 진공 청소기로 청소합니다. 이것 기술은 다음에서 사용됩니다.initdb에 준비하세요템플릿0사설 토토 사이트. 그것 사용자가 만든 사설 토토 사이트를 준비하는 데에도 사용해야 합니다. 표시해야 할 것dataallowconn = 거짓inpg_database, 편리한 게 없으니까 가는 길진공당신이 만든 사설 토토 사이트 연결할 수 없습니다.

경고

표시된 사설 토토 사이트dataallowconn = 거짓pg_database제대로 가정됩니다 언; 자동 경고 및 랩어라운드 보호 종료는 그러한 데이터베이스를 가져오지 않습니다. 계정. 그러므로 다음 사항을 확인하는 것은 귀하에게 달려 있습니다. 다음으로 표시하기 전에 데이터베이스를 올바르게 고정했습니다.dataallowconn = 거짓.

22.1.4. 자동 진공 데몬

시작포스트그레SQL8.1, 다음과 같은 별도의 선택적 서버 프로세스가 있습니다.autovacuum 데몬, 그 목적은 다음과 같습니다. 실행을 자동화하기 위해진공그리고분석명령. 활성화되면, autovacuum 데몬은 주기적으로 실행되어 테이블을 확인합니다. 다수의 삽입, 업데이트 또는 삭제가 있었던 것 튜플. 이러한 검사에서는 행 수준 통계 컬렉션을 사용합니다. 시설; 따라서 autovacuum 데몬을 사용할 수 없습니다. 하지 않는 한stats_start_collector그리고stats_row_level다음으로 설정됨. 또한 그것은 Autovacuum 프로세스를 위한 슬롯을 허용하는 것이 중요합니다. 값 선택superuser_reserved_connections.

autovacuum 데몬은 활성화되면 다음 주기마다 실행됩니다.autovacuum_naptime초이며 처리할 데이터베이스를 결정합니다. 어느 트랜잭션 ID 랩어라운드에 가까운 데이터베이스는 즉시 처리됩니다. 이 경우 autovacuum은 다음을 실행합니다. 데이터베이스 전체진공전화 또는진공 동결템플릿인 경우 데이터베이스를 종료한 후 종료됩니다. 이를 충족하는 데이터베이스가 없는 경우 기준은 가장 최근에 처리된 기준입니다. 자동 진공이 선택됩니다. 이 경우 선택한 테이블의 각 테이블은 데이터베이스가 확인되고 개별진공또는분석필요에 따라 명령이 실행됩니다.

각 테이블에 대해 두 가지 조건을 사용하여 어느 테이블을 결정할지 결정합니다. 적용할 작업입니다. 그 이후로 사용되지 않는 튜플의 수가 마지막진공초과"진공 임계값", 테이블은 진공청소기. 진공 임계값은 다음과 같이 정의됩니다.

진공 임계값 = 진공 기본 임계값 + 진공 배율 인수 * 튜플 수

여기서 진공 베이스 임계값은autovacuum_vacuum_threshold, 진공 스케일 팩터는autovacuum_vacuum_scale_factor및 튜플 수 이다pg_class.reltuples. 쓸모없는 튜플의 수 통계 수집기에서 가져옵니다. 그것은 각각 업데이트된 준정확 카운트업데이트그리고삭제작업. (몇몇 정보는 정확하지 않습니다. 부하가 심한 경우 손실될 수 있습니다.) 분석을 위해 유사한 조건이 사용됩니다: 임계값은 다음과 같이 정의됩니다.

임계값 분석 = 기본 임계값 분석 + 배율 인자 분석 * 튜플 수

은 삽입된 총 튜플 수와 비교됩니다. 마지막 이후 업데이트 또는 삭제되었습니다.분석.

기본 임계값 및 배율 인수는 다음에서 가져옵니다.postgresql.conf, 하지만 가능합니다 항목을 만들어 테이블별로 재정의합니다. 시스템 카탈로그에서pg_autovacuum. 만약에pg_autovacuum행이 특정 항목에 대해 존재합니다. 테이블에서 지정한 설정이 적용됩니다. 그렇지 않으면 전역 설정이 사용됩니다. 보다섹션 17.9더 보기 전역 설정에 대한 세부정보입니다.

기본 임계값과 배율 인수 외에도 각 테이블에 대해 설정할 수 있는 세 가지 매개변수가 더 있습니다.pg_autovacuum. 첫 번째,pg_autovacuum.활성화, 다음으로 설정할 수 있습니다.거짓autovacuum 데몬에게 다음을 지시합니다. 해당 특정 테이블을 완전히 건너뜁니다. 이 경우 자동 진공 전체 데이터베이스를 비울 때만 테이블에 닿습니다. 트랜잭션 ID 랩어라운드를 방지합니다. 나머지 두 개 매개변수, 진공 비용 지연(pg_autovacuum.vac_cost_delay) 및 진공 비용 한도 (pg_autovacuum.vac_cost_limit)는 설정하는 데 사용됩니다. 에 대한 테이블별 값비용 기반 진공 지연기능.

다음 값 중 하나라도pg_autovacuum음수로 설정되어 있습니다. 또는 행이 전혀 존재하지 않는 경우pg_autovacuum특정 테이블의 경우 해당 값은postgresql.conf사용됩니다.

현재 제작에 대한 지원은 없습니다pg_autovacuum항목(다음을 수행하는 경우 제외) 수동삽입s를 카탈로그에 추가합니다. 이 기능은 향후 릴리스에서 개선될 예정입니다. 카탈로그 정의가 변경될 가능성이 높습니다.

주의

다음의 내용pg_autovacuum시스템 카탈로그는 현재는 생성된 데이터베이스 덤프에 저장되지 않습니다. 도구pg_dump그리고pg_dumpall. 보존하고 싶다면 덤프/다시 로드 주기에 걸쳐 덤프해야 합니다. 카탈로그를 수동으로 작성합니다.