PostgreSQL데이터베이스는로 알려진주기적인 유지 보수가 필요합니다.토토 사이트 순위 청소기. 많은 설치의 경우에 의해 토토 사이트 순위 청소기를 수행하도록하기에 충분합니다.autovacuum daemon,섹션 24.1.6. 상황에 대한 최상의 결과를 얻으려면 설명 된 자동화 매개 변수를 조정해야 할 수도 있습니다. 일부 데이터베이스 관리자는 데몬 활동을 수동 관리로 보충하거나 교체하려고합니다토토 사이트 순위
명령, 일반적으로 일정에 따라 실행됩니다.Cron또는작업 스케줄러스크립트. 수동으로 관리되는 토토 사이트 순위 청소기를 올바르게 설정하려면 다음 몇 가지 하위 섹션에서 논의 된 문제를 이해해야합니다. 자가 보증에 의존하는 관리자는 여전히 자산을 이해하고 조정하는 데 도움이되도록이 자료를 훑어 보길 원할 수 있습니다.
PostgreSQL's토토 사이트 순위
명령은 여러 가지 이유로 각 테이블을 정기적으로 처리해야합니다.
이러한 각 이유는 수행을 지시합니다토토 사이트 순위
다음 하위 섹션에서 설명한대로 다양한 주파수 및 범위의 작동.
두 가지 변형이 있습니다토토 사이트 순위
: 표준토토 사이트 순위
and토토 사이트 순위 Full
. 토토 사이트 순위 Full
더 많은 디스크 공간을 되 찾을 수 있지만 훨씬 더 느리게 작동합니다. 또한 표준 형태의토토 사이트 순위
생산 데이터베이스 작업과 병렬로 실행할 수 있습니다. (와 같은 명령select
, 삽입
, 업데이트
및삭제
|와 같은 명령으로 테이블의 정의를 수정할 수는 없지만 정상적으로 계속 작동합니다.Alter Table
토토 사이트 순위 청소기가있는 동안.)토토 사이트 순위 Full
필요액세스 독점
작업중 인 테이블을 잠그므로 테이블의 다른 사용과 병렬로 수행 할 수 없습니다. 따라서 일반적으로 관리자는 표준을 사용하기 위해 노력해야합니다토토 사이트 순위
그리고 피하기토토 사이트 순위 Full
.
토토 사이트 순위
상당한 양의 I/O 트래픽을 생성하여 다른 활성 세션의 성능이 저하 될 수 있습니다. 배경 토토 사이트 순위의 성능 영향을 줄이기 위해 조정할 수있는 구성 매개 변수가 있습니다. 참조섹션 19.10.2.
inpostgresql, an업데이트
또는삭제
행의 행은 즉시 기존 행 버전을 제거하지 않습니다. 이 접근법은 Multiversion Concurrency Control (의 이점을 얻기 위해 필요합니다.MVCC, 참조13 장) : 다른 트랜잭션이 여전히 보이는 동안 행 버전을 삭제해서는 안됩니다. 그러나 결국 구식 또는 삭제 된 행 버전은 더 이상 거래에 관심이 없습니다. 디스크 공간 요구 사항의 무한한 성장을 피하기 위해 새로운 행으로 재사용하려면 차지하는 공간을 재생해야합니다. 이것은 실행하여 이루어집니다토토 사이트 순위
.
표준 형태토토 사이트 순위
테이블 및 인덱스에서 Dead Row 버전을 제거하고 향후 재사용에 사용할 수있는 공간을 표시합니다. 그러나 테이블 끝의 하나 이상의 페이지가 완전히 무료로되고 독점 테이블 잠금을 쉽게 얻을 수있는 특별한 경우를 제외하고는 공간을 운영 체제로 반환하지 않습니다. 대조적으로,토토 사이트 순위 Full
죽은 공간이없는 완전한 새 버전의 테이블 파일을 작성하여 테이블을 적극적으로 압축합니다. 이것은 테이블의 크기를 최소화하지만 오랜 시간이 걸릴 수 있습니다. 또한 작업이 완료 될 때까지 새 테이블 사본을위한 추가 디스크 공간이 필요합니다.
일상 토토 사이트 순위 청소기의 일반적인 목표는 표준을 수행하는 것입니다토토 사이트 순위
필요를 피하기에 충분히 충분히토토 사이트 순위 Full
. Autovacuum 데몬은 이런 식으로 일하려고 시도하며 실제로는 결코 발행하지 않을 것입니다토토 사이트 순위 Full
. 이 접근법 에서이 아이디어는 테이블을 최소 크기로 유지하는 것이 아니라 디스크 공간의 정상 상태 사용을 유지하는 것입니다. 각 테이블은 최소 크기와 동등한 공간을 차지하지만 토토 사이트 순위 실행 사이에 많은 공간이 사용됩니다. 하지만토토 사이트 순위 Full
최소 크기로 테이블을 축소하고 디스크 공간을 운영 체제로 반환하는 데 사용될 수 있습니다. 테이블이 향후 다시 자라 면서이 점이 많지 않습니다. 따라서 적당히 프레시트 표준토토 사이트 순위
Runs는 드물게 더 나은 접근 방식입니다토토 사이트 순위 Full
심하게 업데이트 된 테이블을 유지하기 위해 실행됩니다.
일부 관리자는 부하가 낮을 때 밤에 모든 작업을 수행하는 등 스스로 토토 사이트 순위 청소기를 예약하는 것을 선호합니다. 고정 된 일정에 따라 토토 사이트 순위 청소기를 수행하는 데 어려움이있는 것은 테이블에 업데이트 활동이 예기치 않은 스파이크가 있으면 지점까지 부풀어 질 수 있다는 것입니다.토토 사이트 순위 Full
공간을 되찾기 위해서는 실제로 필요합니다. Autovacuum 데몬을 사용하면 업데이트 활동에 대한 반응으로 동적으로 토토 사이트 순위 상태를 유지하기 때문에이 문제가 완화됩니다. 매우 예측 가능한 워크로드가 없다면 데몬을 완전히 비활성화하는 것은 현명하지 않습니다. 가능한 타협은 데몬 매개 변수를 설정하여 비정상적으로 무거운 업데이트 활동에만 반응하여 일이 손을 떼지 못하게하는 것입니다.토토 사이트 순위
부하가 전형적인 경우 대부분의 작업을 수행 할 것으로 예상됩니다.
autovacuum을 사용하지 않는 사람들의 경우 일반적인 접근 방식은 데이터베이스 전체를 예약하는 것입니다토토 사이트 순위
필요한 경우 상당한 업데이트 된 테이블을보다 빈번한 토토 사이트 순위 청소기로 보완되는 저용 기간 동안 하루에 한 번. (매우 높은 업데이트 속도를 가진 일부 설치는 몇 분마다 가장 바쁜 테이블을 토토 사이트 순위 청소기로 토토 사이트 순위 청소기에 토토 사이트 순위화합니다.) 클러스터에 여러 데이터베이스가있는 경우토토 사이트 순위
각각; 프로그램Vacuumdb도움이 될 수 있습니다.
일반토토 사이트 순위
테이블에 대규모 업데이트 또는 삭제 활동의 결과로 많은 수의 Dead Row 버전이 포함되어있을 때 만족스럽지 않을 수 있습니다. 그러한 테이블이 있고 점유하는 과도한 디스크 공간을 되 찾아야하는 경우 사용해야합니다.토토 사이트 순위 Full
또는 대안클러스터
Alter Table
. 이 명령은 완전히 새로운 테이블 사본을 다시 작성하고 새로운 색인을 작성합니다. 이 모든 옵션에는액세스 독점
잠금. 테이블의 오래된 사본과 인덱스는 새 새로운 것들이 완료 될 때까지 해제 할 수 없기 때문에 테이블 크기와 거의 같은 여분의 디스크 공간을 일시적으로 사용합니다..
전체 내용이 정기적으로 삭제되는 테이블이있는 경우를 고려하십시오.Truncate
사용하기보다는삭제
그 이하토토 사이트 순위
. Truncate
후속을 필요로하지 않고 즉시 테이블의 전체 내용을 제거합니다토토 사이트 순위
또는토토 사이트 순위 Full
현재 사용되지 않은 디스크 공간을 되 찾으려면. 단점은 엄격한 MVCC 시맨틱이 위반된다는 것입니다.
thePostgreSQL쿼리 플래너는 쿼리에 대한 좋은 계획을 생성하기 위해 테이블 내용에 대한 통계 정보에 의존합니다. 이 통계는에 의해 수집됩니다.분석
명령, 자체적으로 또는 선택적 단계로 촉진 할 수 있습니다토토 사이트 순위
. 합리적으로 정확한 통계를 보유하는 것이 중요합니다. 그렇지 않으면 계획의 열악한 선택은 데이터베이스 성능을 저하시킬 수 있습니다.
Autovacuum 데몬이 활성화되면 자동으로 발행됩니다분석
테이블 내용이 충분히 변경 될 때마다 명령합니다. 그러나 관리자는 수동 예약에 의존하는 것을 선호 할 수 있습니다분석
운영, 특히 테이블의 업데이트 활동이의 통계에 영향을 미치지 않는다고 알려진 경우“흥미로운”열. 데몬 일정분석
삽입 또는 업데이트 된 행 수의 함수로서 엄격하게; 그것이 의미있는 통계적 변화로 이어질지 여부는 알 수 없습니다.
튜플은 파티션에서 변경되었으며 상속 자녀는 부모 테이블에서 분석을 트리거하지 않습니다. 상위 테이블이 비어 있거나 거의 변경되지 않은 경우 Autovacuum에 의해 처리되지 않을 수 있으며 상속 트리의 통계는 전체적으로 수집되지 않습니다. 실행할 필요가 있습니다분석
통계를 최신 상태로 유지하기 위해 수동으로 부모 테이블에서.
공간 복구를위한 토토 사이트 순위 청소기와 마찬가지로, 통계의 빈번한 업데이트는 거의 업데이트 된 테이블보다 무거운 업데이트 된 테이블에 더 유용합니다. 그러나 업데이트 된 테이블의 경우에도 데이터의 통계 분포가 크게 변경되지 않으면 통계 업데이트가 필요하지 않을 수 있습니다. 간단한 경험 법칙은 테이블의 열의 최소 및 최대 값이 얼마나 많이 변경되는지 생각하는 것입니다. 예를 들어, A타임 스탬프
행 업데이트 시간이 포함 된 열은 행이 추가되고 업데이트 될 때 지속적으로 증가하는 최대 값을 갖습니다. 이러한 열은 아마도 웹 사이트에 액세스 할 수있는 페이지에 대한 URL이 포함 된 열보다 더 빈번한 통계 업데이트가 필요할 것입니다. URL 열은 자주 변경을받을 수 있지만 그 값의 통계적 분포는 아마도 비교적 느리게 변할 것입니다.
실행할 수 있습니다분석
특정 테이블 및 테이블의 특정 열만 있으므로 응용 프로그램에 필요한 경우 다른 통계보다 일부 통계를 더 자주 업데이트하는 유연성이 존재합니다. 그러나 실제로는 빠른 작업이기 때문에 전체 데이터베이스를 분석하는 것이 가장 좋습니다.분석
모든 행을 읽지 않고 테이블 행의 통계적으로 임의의 샘플링을 사용합니다.
콜럼 당 조정이지만분석
주파수는 생산적이지 않을 수 있습니다.분석
. 크게 사용되는 열여기서
조항과 불규칙한 데이터 분포는 다른 열보다 더 미세한 데이터 히스토그램이 필요할 수 있습니다. 보다Alter Table Set Statistics
또는를 사용하여 데이터베이스 전체 기본값을 변경하십시오.default_statistics_target구성 매개 변수.
또한 기본적으로 함수 선택성에 대한 정보가 제한되어 있습니다. 그러나 함수 호출을 사용하는 통계 개체 또는 표현식 색인을 작성하면 기능에 대한 유용한 통계가 수집되어 표현식 인덱스를 사용하는 쿼리 계획을 크게 향상시킬 수 있습니다..
autovacuum 데몬이 발행되지 않습니다분석
외국 테이블에 대한 명령은 얼마나 자주 유용한지를 결정할 수단이 없기 때문에. 쿼리에 적절한 계획을 위해 외국 테이블에 대한 통계가 필요한 경우 수동으로 관리하는 것이 좋습니다분석
적절한 일정에 따라 해당 테이블의 명령.
autovacuum 데몬이 발행되지 않습니다분석
분할 된 테이블에 대한 명령. 상속 성 부모는 부모 자체가 변경된 경우에만 분석됩니다. 부모 테이블에서 자녀 테이블의 변경 사항은자가 분석을 트리거하지 않습니다. 적절한 계획을 위해 부모 테이블에 대한 통계가 필요한 경우 정기적으로 설명서를 실행해야합니다분석
통계를 최신 상태로 유지하려면 해당 테이블에서.
토토 사이트 순위 유지 관리토토 사이트 순위 꽁 머니 : 문서 : 18 : 66.4. 가시성 맵각 테이블의 경우 모든 활성 거래에 보이는 것으로 알려진 튜플 만 포함하는 페이지 (및 페이지가 다시 수정 될 때까지 모든 미래의 트랜잭션)를 추적합니다. 이것은 두 가지 목적이 있습니다. 먼저, 청소할 것이 없기 때문에 토토 사이트 순위 청소기 자체는 다음 달리기에서 그러한 페이지를 건너 뛸 수 있습니다.
둘째, 허용PostgreSQL기본 테이블을 참조하지 않고 인덱스 만 사용하여 일부 쿼리에 응답합니다. 부터PostgreSQL인덱스에는 튜플 가시성 정보가 포함되어 있지 않으며, 정상 인덱스 스캔은 각 일치하는 인덱스 항목에 대한 힙 튜플을 가져와 현재 트랜잭션에서 볼 수 있는지 확인합니다.인덱스 전용 스캔28051_28396
PostgreSQL's토토 사이트 순위 캔 : 문서 : 18 : 13.1. 소개트랜잭션 시맨틱은 트랜잭션 ID (를 비교할 수있는 것에 달려 있습니다.xid) 숫자 : 현재 트랜잭션의 XID보다 큰 삽입 XID가있는 행 버전“미래”현재 트랜잭션에 보이지 않아야합니다. 그러나 트랜잭션 ID는 크기가 제한되어 있기 때문에 (32 비트) 오랫동안 실행되는 클러스터 (40 억 개 이상의 거래)가 어려움을 겪기 때문에트랜잭션 ID 랩 어라운드: XID 카운터는 0으로 감싸고 과거에 있었던 갑작스런 트랜잭션은 미래에있는 것처럼 보입니다. 이는 출력이 보이지 않는다는 것을 의미합니다. 요컨대, 치명적인 데이터 손실. (실제로 데이터는 여전히 존재하지만, 얻을 수 없다면 냉담한 편안함입니다.)이를 피하려면 모든 데이터베이스의 모든 테이블의 모든 테이블을 적어도 20 억 개의 거래마다 토토 사이트 순위 청소해야합니다..
정기 토토 사이트 순위 청소기가 문제를 해결하는 이유는입니다.토토 사이트 순위
줄을 표시 할 것입니다냉동, 과거에 거래 삽입의 영향이 모든 현재 및 미래의 거래에 눈에 띄게 될 수 있도록 과거에 충분히 저지른 거래에 의해 삽입되었음을 나타냅니다. 정상 XID는 Modulo-2를 사용하여 비교됩니다32산술. 이것은 모든 정상적인 XID에 대해 20 억 개의 XID가 있음을 의미합니다.“구식”및 20 억“최신”; 또 다른 방법은 정상적인 XID 공간이 엔드 포인트가없는 원형이라는 것입니다. 따라서 특정 일반 XID로 행 버전이 생성되면 행 버전이로 나타납니다.“과거”다음 20 억 건의 거래의 경우 어떤 정상적인 XID에 관계없이. 20 억 건 이상의 거래 후에 행 버전이 여전히 존재하면 갑자기 앞으로 나올 것입니다. 이를 방지하려면PostgreSQL특별 XID를 보유합니다.fozentRansactionID
, 이것은 정상적인 XID 비교 규칙을 따르지 않으며 항상 모든 정상 XID보다 오래된 것으로 간주됩니다. 냉동 행 버전은 삽입 XID가 인 것처럼 취급됩니다.fozentRansactionID
“과거”31480_31624
inPostgreSQL9.4 이전의 버전에서, 실제로 행의 삽입 xid를 대체하여 냉동은 구현되었습니다.FozentRansactionID
, 행에서 볼 수있는xmin
시스템 열. 최신 버전은 플래그 비트를 설정하여 행의 원본을 보존합니다xmin
가능한 법의학 사용. 그러나xmin
동일FozentRansactionID
(2) 여전히 데이터베이스에서 찾을 수 있습니다pg_upgrade'D Pre-9.4 버전에서.
또한 시스템 카탈로그에는 행이 포함될 수 있습니다.xmin
동일bootstraptransactionID
(1), 첫 번째 단계에서 삽입되었음을 나타냅니다.initdb. 좋다frozentRansactionID
,이 특수 XID는 모든 정상 XID보다 오래된 것으로 취급됩니다.
VACUUM_FREEZE_MIN_AGEXID가 얼어 붙을 행 전에 XID 값이 얼마나 오래되어야하는지 제어합니다. 이 설정을 늘리면 얼어 붙을 행이 곧 다시 수정 될 경우 불필요한 작업을 피할 수 있지만,이 설정을 줄이면 테이블을 다시 청소하기 전에 경과 할 수있는 트랜잭션의 수가 증가합니다..
토토 사이트 순위
사용토토 사이트 순위 꽁 머니 : 문서 : 18 : 66.4. 가시성 맵테이블의 어떤 페이지를 스캔 해야하는지 결정하려면. 일반적으로 해당 페이지에 오래된 XID 값이있는 행 버전이있을 경우에도 Dead Row 버전이없는 페이지를 건너 뜁니다. 따라서 정상토토 사이트 순위
s는 항상 테이블의 모든 오래된 행 버전을 얼지 않습니다. 그런 일이 발생하면토토 사이트 순위
결국 수행해야합니다공격적인 토토 사이트 순위, 모든 자격이없는 XID 및 MXID 값을 동결시킬 수는 있지만 모든 가시화되지는 않지만 모든 냉동 페이지..
테이블이 all-visible의 백 로그를 구축하지만 모든 냉동 페이지가 아닌 경우, 일반적인 토토 사이트 순위 상태에서는 스카이프 가능한 페이지를 스캔하기 위해 스캔 할 수 있습니다. 이렇게하면 다음 공격적인 토토 사이트 순위이 스캔 해야하는 페이지 수가 줄어 듭니다. 이것들은라고합니다.간절히 스캔페이지. 열망 스캔은 증가하여 더 많은 가시 가능한 페이지를 동결시키기 위해 조정할 수 있습니다VACUUM_MAX_EGER_FREEZE_FAILUE_RATE. 열망하는 스캔이 모두 가시 가능하지만 모든 냉동 페이지의 수를 최소로 유지하더라도 대부분의 테이블은 여전히 정기적 인 공격적인 토토 사이트 순위 청소기가 필요합니다. 그러나 공격적인 토토 사이트 순위 상태에서 성공적으로 열망하는 페이지를 심을 수 있으므로 열망하는 동결은 공격적인 토토 사이트 순위의 오버 헤드를 최소화 할 수 있습니다..
VACUUM_FREEZE_TABLE_AGE테이블이 적극적으로 토토 사이트 순위 청소 된 경우 제어합니다. 마지막 스캔 이후 통과 한 트랜잭션의 수가보다VACUUM_FREEZE_TABLE_AGE
마이너스VACUUM_FREEZE_MIN_AGE
. 환경Vacuum_Freeze_table_age
~ 0 세력토토 사이트 순위
항상 공격적인 전략을 사용하려면
테이블이 바이러스되지 않은 최대 시간은 20 억의 거래입니다.VACUUM_FREEZE_MIN_AGE
마지막 공격적인 토토 사이트 순위 당시의 가치. 그것이 그보다 더 오랫동안 발행되지 않으면 데이터 손실이 발생할 수 있습니다. 이런 일이 발생하지 않도록 Autovacuum은 구성 매개 변수로 지정된 연령보다 오래된 XID가있는 XID가 포함되지 않은 행을 포함 할 수있는 모든 테이블에서 호출됩니다.autovacuum_freeze_max_age. (Autovacuum이 비활성화되어 있어도 발생합니다.)
이것은 테이블이 토토 사이트 순위 청소기가 아닌 경우 Autovacuum이 대략 한 번에 호출 될 것임을 의미합니다.autovacuum_freeze_max_age
마이너스VACUUM_FREEZE_MIN_AGE
거래. 우주 교정 목적으로 정기적으로 토토 사이트 순위 청소기의 경우, 이것은 거의 중요하지 않습니다. 그러나 정적 테이블 (삽입물을받지 만 업데이트 또는 삭제가없는 테이블 포함)의 경우 우주 교정을 위해 토토 사이트 순위 청소기를 청소할 필요가 없으므로 매우 큰 정적 테이블의 강제 오토바 쿠움 사이의 간격을 최대화하는 데 유용 할 수 있습니다. 분명히 하나는 증가함으로써 이것을 할 수 있습니다autovacuum_freeze_max_age
또는 감소VACUUM_FREEZE_MIN_AGE
.
유효 최대VACUUM_FREEZE_TABLE_AGE
is 0.95 *autovacuum_freeze_max_age
; 그보다 높은 설정이 최대 값으로 제한됩니다. 값보다 높은 값autovacuum_freeze_max_age
어쨌든 raparound autovacuum이 그 시점에서 트리거되고 0.95 승수는 수동을 운영하기 위해 약간의 호흡 공간을 남겨두기 때문에 의미가 없습니다.토토 사이트 순위
그 전에. 경험상Vacuum_Freeze_table_age
아래에서 약간 아래의 값으로 설정해야합니다autovacuum_freeze_max_age
토토 사이트 순위
또는 정상 삭제 및 업데이트 활동에 의해 트리거 된 Autovacuum이 해당 창에서 실행됩니다. 테이블이 최근에 공간을 되찾기 위해 토토 사이트 순위 청소 되었음에도 불구하고 너무 가깝게 설정할 수 있지만, 더 낮은 값은 더 빈번한 공격적인 토토 사이트 순위 청소기로 이어집니다..
증가하는 유일한 단점autovacuum_freeze_max_age
(및VACUUM_FREEZE_TABLE_AGE
와 함께)입니다.PG_XACT
및PG_COMMIT_TS
데이터베이스 클러스터의 하위 디렉토리는 커밋 상태를 저장해야하기 때문에 더 많은 공간을 차지합니다 (iftrack_commit_timestamp
활성화 됨) 모든 트랜잭션의 타임 스탬프autovacuum_freeze_max_age
Horizon. 커밋 상태는 거래 당 두 비트를 사용하므로 ifautovacuum_freeze_max_age
최대 허용 된 값으로 설정되어 있습니다.PG_XACT
약 절반의 기가 바이트로 성장할 수 있습니다.PG_COMMIT_TS
약 20GB. 이것이 총 데이터베이스 크기에 비해 사소한 경우autovacuum_freeze_max_age
최대 허용 값을 권장합니다. 그렇지 않으면 기꺼이 허용하는 것에 따라 설정PG_XACT
및PG_COMMIT_TS
스토리지. (기본값, 2 억 건의 거래는 약 50MB의로 변환됩니다.PG_XACT
스토리지 및 약 2GBPG_COMMIT_TS
스토리지.)
감소의 한 가지 단점VACUUM_FREEZE_MIN_AGE
원인이 될 수 있다는 것입니다토토 사이트 순위
쓸모없는 작업을 수행하려면 : 행 버전을 동결시키는 것은 곧 행이 수정되면 시간 낭비입니다 (새 XID를 얻게됩니다). 따라서 설정은 더 이상 변경 될 가능성이 높아질 때까지 행이 얼어 붙지 않을 정도로 커야합니다.
데이터베이스에서 가장 오래된 XID의 나이를 추적하려면토토 사이트 순위
시스템 테이블에 XID 통계를 저장PG_CLASS
andpg_database
. 특히relfrozenxid
테이블의 열PG_CLASS
행은 가장 최근의 끝에서 가장 오래된 남은 XID를 포함합니다토토 사이트 순위
성공적으로 발전relfrozenxid
(일반적으로 가장 최근의 공격적인 토토 사이트 순위). 마찬가지로datfrozenxid
데이터베이스 열pg_database
Row는 해당 데이터베이스에 나타나는 XID가 표시되지 않은 XID의 하한입니다. 테이블 당 최소의 최소입니다relfrozenxid
데이터베이스 내의 값. 이 정보를 조사하는 편리한 방법은 다음과 같은 쿼리를 실행하는 것입니다.
c.oid :: regclass as table_name을 선택하십시오. 연령으로 가장 큰 (연령 (C.Relfrozenxid), 연령 (T.Relfrozenxid)) pg_class에서 c C.ReltoastRelid = T.Oid에서 PG_CLASS T를 왼쪽으로 결합하십시오 여기서 c.relkind에서 ( 'r', 'm'); pg_database에서 datname, age (datfrozenxid)를 선택하십시오.
theAge
열은 컷오프 XID에서 현재 트랜잭션의 XID 로의 트랜잭션 수를 측정합니다.
언제토토 사이트 순위
Command 'sVerbose
매개 변수가 지정되어 있습니다.토토 사이트 순위
테이블에 대한 다양한 통계를 인쇄합니다. 여기에는 방법에 대한 정보가 포함됩니다relfrozenxid
및relminmxid
고급 및 새로 얼어 붙은 페이지의 수. Autovacuum 로깅 (컨트롤 일 때 서버 로그에 동일한 세부 사항이 나타납니다.log_autovacuum_min_duration) A에 대한 보고서토토 사이트 순위
Autovacuum에 의해 실행 된 작동.
while토토 사이트 순위
마지막 토토 사이트 순위 이후 수정 된 대부분의 페이지를 스캔하면, 냉동 시도에서 모든 가시성이지만 모든 면적 페이지를 간절히 스캔 할 수 있지만.relfrozenxid
XID를 포함 할 수있는 테이블의 모든 페이지가 스캔 될 때만 고급됩니다. 이것은 발생할 때 발생합니다relfrozenxid
더 이상VACUUM_FREEZE_TABLE_AGE
옛날,토토 사이트 순위
's동결
옵션이 사용되거나 이미 전혀없는 모든 페이지가 Dead Row 버전을 제거하기 위해 토토 사이트 순위 청소기가 필요할 때. 언제토토 사이트 순위
아직 전혀없는 테이블의 모든 페이지를 스캔하면 설정해야합니다Age (RelfrozenxID)
VACUUM_FREEZE_MIN_AGE
사용 된 설정 ( 이후 시작된 트랜잭션 수에 따라토토 사이트 순위
시작).토토 사이트 순위
설정relfrozenxid
테이블에 남아있는 가장 오래된 XID에 대한 최종 값이 엄격하게 필요한 것보다 훨씬 최근에있을 수 있습니다. 그렇지 않은 경우relfrozenxid
-밸런싱토토 사이트 순위
| 표에서 발행 될 때까지autovacuum_freeze_max_age
도달하면, 오토바 쿠움이 곧 테이블을 위해 강요 될 것입니다.
어떤 이유로 autovacuum이 테이블에서 오래된 XID를 제거하지 못하면 데이터베이스의 가장 오래된 XID가 랩 어라운드에서 4 천만 건의 트랜잭션에 도달 할 때 시스템이 이와 같은 경고 메시지를 방출하기 시작합니다.
경고 : 데이터베이스 "MyDB"는 39985967 트랜잭션 내에서 청소해야합니다 힌트 : XID 할당 실패를 피하려면 해당 데이터베이스에서 데이터베이스 전체 토토 사이트 순위을 실행하십시오.
(매뉴얼토토 사이트 순위
힌트가 제안한대로 문제를 해결해야합니다. 하지만토토 사이트 순위
슈퍼 사용자가 수행해야합니다. 그렇지 않으면 시스템 카탈로그를 처리하지 않아 데이터베이스의 발전을 방해하지 않습니다.datfrozenxid
.) 이러한 경고가 무시되면, 랩 어라운드까지 3 백만 대 미만의 거래가 남아 있으면 새로운 XID를 지정하는 것을 거부합니다 :
오류 : 데이터베이스는 데이터베이스 "mydb"의 랩 어라운드 데이터 손실을 피하기 위해 새 XIDS를 지정하는 명령을 수락하지 않습니다. 힌트 : 해당 데이터베이스에서 데이터베이스 전체 토토 사이트 순위을 실행하십시오.
이 조건에서 이미 진행중인 거래는 계속 될 수 있지만 읽기 전용 트랜잭션 만 시작할 수 있습니다. 데이터베이스 레코드를 수정하거나 관계를 자르는 작업은 실패합니다. 그만큼토토 사이트 순위
명령은 여전히 정상적으로 실행할 수 있습니다. 이전 릴리스에서 때때로 권장되는 것과는 달리 정상 작동을 복원하기 위해 우체국 장을 중지하거나 단일 사용자 모드를 입력하는 것은 필요하거나 바람직하지 않습니다. 대신 다음 단계를 따르십시오.
Age (TransactionId)
크다. 이러한 거래는 커밋되거나 롤백되어야합니다.Age (backend_xid)
또는Age (Backend_xmin)
이러한 거래는 커밋되거나 롤백되어야합니다. 또는 세션은를 사용하여 종료 할 수 있습니다.pg_terminate_backend
.age (xmin)
또는Age (Catalog_Xmin)
크다. 많은 경우에, 이러한 슬롯은 더 이상 존재하지 않거나 오랫동안 다운 된 서버에 대한 복제를 위해 생성되었습니다. 여전히 존재하고 여전히 해당 슬롯에 연결하려고 할 수있는 서버의 슬롯을 삭제하면 해당 복제본을 재건해야 할 수도 있습니다.토토 사이트 순위
대상 데이터베이스에서. 데이터베이스 전체토토 사이트 순위
가장 간단합니다. 필요한 시간을 줄이려면 매뉴얼을 발행하는 것도 가능합니다토토 사이트 순위
테이블의 명령RelminxID
가장 오래되었습니다. 사용하지 마십시오토토 사이트 순위 Full
이 시나리오에서는 XID가 필요하므로 슈퍼 사용자 모드를 제외하고 XID를 소비하여 트랜잭션 ID 랩 어라운드의 위험을 증가시키기 때문에 실패합니다. 사용하지 마십시오토토 사이트 순위 동결
정상 작동을 복원하는 데 필요한 최소 작업량보다 더 많은 작업을 수행하기 때문입니다.이전 버전에서는 때때로 우체국을 중지해야했습니다.토토 사이트 순위
단일 사용자 모드의 데이터베이스. 일반적인 시나리오에서는 더 이상 필요하지 않으며 시스템을 중단하기 때문에 가능할 때마다 피해야합니다. 또한 데이터 손실을 방지하도록 설계된 트랜잭션 ID 랩 어라운드 보호 장치를 비활성화하기 때문에 위험합니다. 이 시나리오에서 단일 사용자 모드를 사용하는 유일한 이유는 원하는 경우입니다.Truncate
또는드롭
필요하지 않도록 불필요한 테이블토토 사이트 순위
그들. 관리자가이를 수행 할 수 있도록 3 백만 번의 이동 안전 마진이 존재합니다. 참조Postgres단일 사용자 모드 사용에 대한 자세한 내용은 참조 페이지
Multixact ID여러 거래로 ROW LOCKING을 지원하는 데 사용됩니다. 잠금 정보를 저장하기 위해 튜플 헤더에 공간이 제한되어 있으므로 해당 정보는 A로 인코딩됩니다.“다중 거래 ID”또는 간단한 경우, 한 번 이상의 트랜잭션이 동시에 행을 잠그고있을 때마다 다중 공장 ID. 특정 다중 공장 ID에 포함 된 트랜잭션 ID에 대한 정보는에 별도로 저장됩니다.pg_multixact
하위 디렉토리, 그리고 다중 공장 ID 만에 나타납니다.xmax
튜플 헤더의 필드. 트랜잭션 ID와 마찬가지로 다중 공장 ID는 32 비트 카운터 및 해당 스토리지로 구현되며, 모두 신중한 노화 관리, 스토리지 정리 및 랩 어라운드 처리가 필요합니다. 32 비트 카운터를 사용하고 관리 해야하는 각 다변량에 멤버 목록을 보유하는 별도의 스토리지 영역이 있습니다. 시스템 기능pg_get_multixact_members ()
설명표 9.84다중 공장 ID와 관련된 트랜잭션 ID를 검사하는 데 사용할 수 있습니다.
언제든지토토 사이트 순위
테이블의 모든 부분을 스캔하면보다 오래된 다단계 ID를 대체합니다VACUUM_MULTIXACT_FREEZE_MIN_AGE다른 값으로 0 값, 단일 트랜잭션 ID 또는 새로운 다중 공장 ID 일 수 있습니다. 각 테이블에 대해PG_CLASS
.relminmxid
해당 테이블의 튜플에 여전히 나타나는 가장 오래된 다단계 ID를 저장합니다. 이 값이 더 오래된 경우VACUUM_MULTIXACT_FREEZE_TABLE_AGE, 공격적인 토토 사이트 순위이 강요됩니다. 이전 섹션에서 논의한 바와 같이, 공격적인 토토 사이트 순위 청소기는 모든 냉동으로 알려진 페이지 만 건너 뛸 것임을 의미합니다.mxid_age ()
사용 가능pg_class
.relminmxid
나이를 찾으려면
공격적인토토 사이트 순위
s, 원인에 관계없이보장테이블을 발전시킬 수 있으려면relminmxid
. 결국, 모든 데이터베이스의 모든 테이블이 스캔되고 가장 오래된 다중 공장 값이 발전되므로 구형 멀티 팩트를위한 온 디스크 스토리지를 제거 할 수 있습니다.
안전 장치로서, 다중 공장 연령대가 큰 테이블에 대해 공격적인 토토 사이트 순위 스캔이 발생합니다.autovacuum_multixact_freeze_max_age. 또한, MultixActs 구성원이 점유하는 스토리지가 약 10GB를 초과하는 경우, 가장 오래된 다중 공장 연령이 가장 오래된 테이블에 대해 공격적인 토토 사이트 순위 스캔이 모든 테이블에 대해 더 자주 발생합니다. Autovacuum이 명목상 장애가있는 경우에도 이러한 종류의 공격적인 스캔이 모두 발생합니다. 회원 보관 영역은 랩 어라운드에 도달하기 전에 최대 약 20GB까지 자랄 수 있습니다.
XID 사례와 유사하게, Autovacuum이 표에서 오래된 MXID를 제거하지 못하면 데이터베이스의 가장 오래된 MXID가 랩 어라운드 지점에서 4 천만 건의 트랜잭션에 도달하면 시스템이 경고 메시지를 방출하기 시작합니다. XID의 경우와 마찬가지로 이러한 경고가 무시되면 랩 어라운드까지 3 백만 미만이 남은 일단 새로운 MXID를 생성하는 것을 거부합니다..
MXID가 소진 될 때의 정상 작동은 XID가 소진 될 때와 거의 같은 방식으로 복원 할 수 있습니다. 이전 섹션에서 동일한 단계를 따르지만 다음과 같은 차이점이 있습니다.
pg_stat_activity
; 그러나 오래된 XID를 찾는 것은 여전히 MXID 랩 어라운드 문제를 일으키는 트랜잭션을 결정하는 좋은 방법입니다.PostgreSQL선택 사항이 있지만 적극 권장되는 기능이 있습니다.autovacuum.토토 사이트 순위
및분석
명령. 활성화되면 Autovacuum은 많은 수의 삽입, 업데이트 또는 삭제 된 튜플이있는 테이블을 확인합니다. 이 수표는 통계 수집 시설을 사용합니다. 따라서 autovacuum을 사용할 수 없습니다track_counts로 설정되었습니다true
. 기본 구성에서는 자동화 장치가 활성화되고 관련 구성 매개 변수가 적절하게 설정됩니다.
the“autovacuum daemon”실제로 여러 프로세스로 구성됩니다. 라고 불리는 지속적인 데몬 프로세스가 있습니다.Autovacuum 런처, 시작을 담당하는Autovacuum Worker모든 데이터베이스의 프로세스. 런처는 시간이 지남에 따라 작업을 배포하여 각 데이터베이스 내에서 한 명의 작업자를 시작하려고 시도합니다.autovacuum_naptime초. (따라서 설치에n
데이터베이스, 새로운 작업자가 매번 출시됩니다autovacuum_naptime
/n
초) 최대autovacuum_max_workers작업자 프로세스는 동시에 실행할 수 있습니다. 이상이있는 경우autovacuum_max_workers
처리 할 데이터베이스를 처리 할 데이터베이스는 첫 번째 작업자가 완료 되 자마자 처리됩니다. 각 작업자 프로세스는 데이터베이스 내의 각 테이블을 확인하고 실행합니다토토 사이트 순위
및/또는분석
필요에 따라.log_autovacuum_min_durationAutovacuum 근로자의 활동을 모니터링하도록 설정할 수 있습니다.
몇 개의 큰 테이블이 짧은 시간 안에 토토 사이트 순위 청소기를 청소할 수있게되면 모든 Autovacuum 작업자는 오랫동안 테이블을 토토 사이트 순위 청소기로 토토 사이트 순위 청소기로 점령 할 수 있습니다. 이로 인해 다른 테이블과 데이터베이스가 작업자가 사용할 수있을 때까지 토토 사이트 순위 청소기가 발생하지 않습니다. 단일 데이터베이스에 얼마나 많은 근로자가있을 수 있는지에는 제한이 없지만 근로자는 다른 근로자가 이미 수행 한 작업을 반복하지 않으려 고 노력합니다. 달리는 근로자의 수는에 포함되지 않습니다.max_connections또는SuperUser_Reserved_Connections한계.
테이블의relfrozenxid
값은 이상입니다.autovacuum_freeze_max_age오래된 트랜잭션은 항상 토토 사이트 순위 청소기입니다 (이는 스토리지 매개 변수를 통해 동결 최대 연령이 수정 된 테이블에도 적용됩니다. 아래 참조). 그렇지 않으면, 튜플의 수가 마지막 이후 쓸모없는 경우토토 사이트 순위
초과“토토 사이트 순위 임계 값”, 테이블은 토토 사이트 순위 청소기입니다. 토토 사이트 순위 임계 값은 다음과 같이 정의됩니다.
토토 사이트 순위 임계 값 = 최소 (토토 사이트 순위 최대 임계 값, 토토 사이트 순위베이스 임계 값 + 토토 사이트 순위 스케일 팩터 * 튜플 수)
토토 사이트 순위 최대 임계 값이있는 곳autovacuum_vacuum_max_threshold, 토토 사이트 순위베이스 임계 값은입니다.autovacuum_vacuum_threshold, 토토 사이트 순위 스케일 계수는입니다.autovacuum_vacuum_scale_factor그리고 튜플 수는PG_CLASS
.Reltuples
.
마지막 토토 사이트 순위이 정의 된 삽입 임계 값을 초과 한 이후 삽입 된 튜플의 수가 다음과 같이 정의 된 경우 테이블도 청소됩니다.
토토 사이트 순위 삽입 임계 값 = 토토 사이트 순위베이스 인서트 임계 값 + 토토 사이트 순위 삽입 스케일 팩터 * 튜플 수
토토 사이트 순위 삽입 기본 임계 값이autovacuum_vacuum_insert_threshold및 토토 사이트 순위 삽입 스케일 팩터는autovacuum_vacuum_insert_scale_factor. 이러한 토토 사이트 순위 청소기는 테이블의 일부를로 표시 할 수 있습니다.모든 가시적튜플이 얼어 붙을 수 있도록하여 후속 토토 사이트 순위 청소기에 필요한 작업을 줄일 수 있습니다. 받는 테이블 용삽입
운영이지만 거의 없거나 거의 없음업데이트
/삭제
운영, 테이블을 낮추는 데 도움이 될 수 있습니다autovacuum_freeze_min_age이것은 이전 토토 사이트 순위에 의해 튜플을 얼릴 수 있으므로. 쓸모없는 튜플의 수와 삽입 된 튜플의 수는 누적 통계 시스템으로부터 얻어진다; 결국 각에 의해 업데이트 된 결국 일관된 수입니다.업데이트
, 삭제
and삽입
작동. 인 경우relfrozenxid
테이블의 가치는 이상입니다.VACUUM_FREEZE_TABLE_AGE
트랜잭션 구식, 오래된 튜플을 얼리기 위해 공격적인 토토 사이트 순위이 수행됩니다relfrozenxid
.
분석의 경우 유사한 조건이 사용됩니다. 임계 값은 다음과 같습니다.
임계 값 분석 = 기본 임계 값 분석 + 척도 계수 분석 * 튜플 수
마지막 이후 삽입, 업데이트 또는 삭제 된 총 튜플 수와 비교됩니다분석
.
파티션 된 테이블은 튜플을 직접 저장하지 않으므로 결과적으로 Autovacuum에 의해 처리되지 않습니다. (Autovacuum은 다른 테이블과 마찬가지로 테이블 파티션을 처리합니다.) 불행히도 이것은 Autovacuum이 실행되지 않음을 의미합니다.분석
파티션 된 테이블에서, 이로 인해 파티션 된 테이블 통계를 참조하는 쿼리에 대한 차선 계획이 발생할 수 있습니다. 수동으로 실행 하여이 문제를 해결할 수 있습니다분석
처음 인구가 채워질 때 파티션 된 테이블에서, 그리고 파티션에 데이터의 분포가 크게 변경 될 때마다
Autovacuum은 임시 테이블에 액세스 할 수 없습니다. 따라서 세션 SQL 명령을 통해 적절한 토토 사이트 순위 및 분석 작업을 수행해야합니다.
기본 임계 값 및 스케일 요인은에서 가져옵니다.postgresql.conf
, 그러나 테이블 별 기준으로 그것들 (및 다른 많은 Autovacuum 제어 매개 변수)을 무시할 수 있습니다. 보다스토리지 매개 변수자세한 내용. 테이블의 스토리지 매개 변수를 통해 설정이 변경된 경우 해당 테이블을 처리 할 때 해당 값이 사용됩니다. 그렇지 않으면 전역 설정이 사용됩니다. 보다섹션 19.10.1글로벌 설정에 대한 자세한 내용은
여러 근로자가 달리면 Autovacuum 비용 지연 매개 변수 (참조섹션 19.10.2) are“밸런스”모든 달리는 근로자 중에서 시스템에 대한 총 I/O 영향은 실제로 실행되는 근로자 수에 관계없이 동일합니다. 그러나 테이블 당 테이블을 처리하는 근로자autovacuum_vacuum_cost_delay
또는autovacuum_vacuum_cost_limit
스토리지 매개 변수가 설정되어 밸런싱 알고리즘에서 고려되지 않습니다.
Autovacuum 근로자는 일반적으로 다른 명령을 차단하지 않습니다. 프로세스가와 충돌하는 자물쇠를 획득하려는 경우독점 업데이트 공유
Autovacuum에서 보유한 잠금, 잠금 획득은 Autovacuum을 방해합니다. 충돌하는 잠금 모드는 참조표 13.2. 그러나 Autovacuum이 트랜잭션 ID 랩 어라운드를 방지하기 위해 실행중인 경우 (즉,의 Autovacuum 쿼리 이름pg_stat_activity
보기가 끝납니다(랩 어라운드 방지)
), Autovacuum이 자동으로 중단되지 않습니다.
잠금을 획득하는 명령을 정기적으로 실행하는공유 업데이트 독점
잠금 (예 : 분석)