롤 토토-쓰레기 수집 및 선택적으로 데이터베이스 분석
롤 토토 [(옵션
[, ...])] [table_and_columns
[, ...]]여기서옵션
중 하나 일 수 있습니다.전체 [부울
] 동결 [부울
] 말로 [부울
] 분석 [부울
] disable_page_skipping [부울
] skip_locked [부울
] index_cleanup auto | on | 끄다 process_main [부울
] process_toast [부울
] 절단 [부울
] 평행한정수
skip_database_stats [부울
] 전용 _database_stats [부울
] buffer_usage_limitsize
및table_and_columns
is :table_name
[(column_name
[, ...])
롤 토토
죽은 튜플이 차지하는 저장을 되 찾습니다. 정상PostgreSQL작동, 업데이트로 삭제하거나 쓸모없는 튜플은 테이블에서 물리적으로 제거되지 않습니다. 그들은 a까지 남아 있습니다.롤 토토
완료되었습니다. 그러므로해야 할 필요가 있습니다롤 토토
정기적으로, 특히 자주 업데이트 된 테이블에서.
atable_and_columns
List,롤 토토
현재 사용자가 롤 토토에 대한 허가를받는 현재 데이터베이스에서 모든 테이블과 구체화 된보기를 처리합니다. 목록과 함께롤 토토
해당 테이블 만 처리합니다.
롤 토토 분석
수행합니다롤 토토
그리고 an분석
선택한 각 테이블에 대해. 이것은 일상적인 유지 보수 스크립트를위한 편리한 조합 형식입니다. 보다분석처리에 대한 자세한 내용은
일반롤 토토
(Full
) 단순히 공간을 되 찾아 재사용 할 수 있도록합니다. 이 형태의 명령은 독점적 인 잠금을 얻지 못하므로 테이블의 정상적인 읽기 및 쓰기와 병렬로 작동 할 수 있습니다. 그러나 추가 공간은 운영 체제 (대부분의 경우)로 반환되지 않습니다. 동일한 테이블 내에서 재사용 할 수 있습니다. 또한 인덱스를 처리하기 위해 여러 CPU를 활용할 수 있습니다. 이 기능은로 알려져 있습니다.병렬 롤 토토. 이 기능을 비활성화하려면 사용할 수 있습니다병렬
옵션 및 병렬 작업자를 0으로 지정합니다.롤 토토 Full
테이블의 전체 내용을 추가 공간이없는 새 디스크 파일로 다시 작성하여 사용하지 않은 공간을 운영 체제로 반환 할 수 있습니다. 이 양식은 훨씬 느리고 필요합니다액세스 독점
처리되는 동안 각 테이블을 잠그십시오.
Full
selects“full”더 많은 공간을 되 찾을 수 있지만 훨씬 더 길고 독점적으로 테이블을 잠그는 롤 토토. 이 방법에는 추가 디스크 공간이 필요합니다. 테이블의 새 사본을 작성하고 작업이 완료 될 때까지 이전 사본을 해제하지 않기 때문입니다. 일반적으로 이것은 테이블 내에서 상당한 양의 공간을 되 찾아야 할 때만 사용해야합니다.
동결
공격적 선택“냉동”튜플. 지정동결
수행과 동일합니다롤 토토
withVACUUM_FREEZE_MIN_AGEandVacuum_Freeze_table_age매개 변수는 0으로 설정되었습니다. 테이블을 다시 작성할 때 공격적인 동결은 항상 수행 되므로이 옵션은이 중복됩니다.full
지정되어 있습니다.
Verbose
각 표에 대한 자세한 롤 토토 활동 보고서를 인쇄합니다.
분석
쿼리를 실행하는 가장 효율적인 방법을 결정하기 위해 플래너가 사용한 통계를 업데이트합니다.
disable_page_skipping
정상적으로,롤 토토
가시성 맵. 모든 튜플이 동결 된 것으로 알려진 페이지는 항상 건너 뛸 수 있으며 모든 튜플이 모든 트랜잭션에 보이는 것으로 알려진 페이지는 공격적인 롤 토토을 수행 할 때를 제외하고 건너 뛸 수 있습니다. 또한 공격적인 롤 토토 청소기를 수행 할 때를 제외하고는 다른 세션이 사용을 완료하기를 기다리지 않기 위해 일부 페이지를 건너 뛸 수 있습니다. 이 옵션은 모든 페이지를 자르는 동작을 비활성화하며 가시성 맵의 내용이 의심되는 경우에만 사용되도록 의도되며, 이는 데이터베이스 손상을 일으키는 하드웨어 또는 소프트웨어 문제가있는 경우에만 발생해야합니다..
skip_locked
이를 지정합니다롤 토토
관계에 대한 작업을 시작할 때 충돌하는 잠금이 해제 될 때까지 기다리지 말아야합니다. 이 옵션을 사용하더라도롤 토토
관계의 색인을 열 때 여전히 차단 될 수 있습니다. 또한,롤 토토 분석
파티션, 테이블 상속 어린이 및 일부 유형의 외국 테이블에서 샘플 행을 획득 할 때 여전히 차단 될 수 있습니다. 또한롤 토토
보통 지정된 파티션 된 테이블의 모든 파티션을 보통 처리하면이 옵션이 발생합니다롤 토토
분할 된 테이블에 충돌하는 잠금 장치가있는 경우 모든 파티션을 건너 뛰려면
index_cleanup
정상적으로,롤 토토
테이블에 죽은 튜플이 거의 없을 때 인덱스 롤 토토 청소기를 건너 뜁니다. 모든 테이블의 인덱스를 처리하는 비용은이 경우 죽은 색인 튜플을 제거 할 때의 이점을 크게 초과 할 것으로 예상됩니다. 이 옵션은 강제로 사용될 수 있습니다롤 토토
죽은 튜플이없는 경우 인덱스를 처리합니다. 기본값은auto
, 허용17999_18007
적절한 경우 인덱스 롤 토토 청소기를 건너 뜁니다. 만약에index_cleanup
로 설정되었습니다on
, 롤 토토
지수에서 모든 죽은 튜플을 보수적으로 제거합니다. 이것은 이전의 릴리스와의 거꾸로 호환성에 유용 할 수 있습니다.PostgreSQL이것이 표준 행동 인 곳.
index_cleanup
off
강제롤 토토
to항상테이블에 죽은 튜플이 많은 경우에도 인덱스 롤 토토 청소기를 건너 뛰십시오. 이것은 만들 필요가있을 때 유용 할 수 있습니다롤 토토
임박한 트랜잭션 ID 랩 어라운드를 피하기 위해 가능한 빨리 실행하십시오 (참조섹션 24.1.5). 그러나 랩 어라운드가 제어하는 안전 메커니즘VACUUM_FAILSAFE_AGE일반적으로 트랜잭션 ID 랩 어라운드 실패를 피하기 위해 자동으로 트리거되며 선호해야합니다. 인덱스 정리가 정기적으로 수행되지 않으면 테이블이 수정되므로 인덱스가 죽은 튜플을 축적하고 테이블 자체가 인덱스 정리가 완료 될 때까지 제거 할 수없는 데드 라인 포인터가 축적되기 때문에 성능이 어려울 수 있습니다..
이 옵션은 색인이없는 테이블에 영향을 미치지 않으며이면 무시됩니다.Full
옵션이 사용됩니다. 또한 트랜잭션 ID 랩 어라운드 실패 메커니즘에 영향을 미치지 않습니다. 트리거되면이라도 인덱스 롤 토토 청소기를 건너 뛸 수 있습니다.index_cleanup
로 설정되었습니다on
.
Process_Main
지정롤 토토
주요 관계를 처리하려고 시도해야합니다. 이것은 일반적으로 원하는 동작이며 기본값입니다. 이 옵션을 False로 설정하면 관계의 해당 대응이 필요한 경우에만 유용 할 수 있습니다토스트
테이블.
Process_Toast
지정롤 토토
해당 처리를 시도해야토스트
하나가 존재하는 경우 각 관계에 대한 테이블. 이것은 일반적으로 원하는 동작이며 기본값입니다. 이 옵션을 False로 설정하는 것은 주요 관계를 롤 토토 청소기로 롤 토토해야 할 때 유용 할 수 있습니다. 이 옵션은 일 때 필요합니다.full
옵션이 사용됩니다.
Truncate
이를 지정합니다롤 토토
테이블 끝에서 빈 페이지를 자르고 잘린 페이지가 운영 체제로 반환 될 수있는 디스크 공간을 허용해야합니다. 이것은 일반적으로 원하는 동작이며이 아니라면 기본값입니다.Vacuum_truncate
옵션이 테이블을 청소할 수 있도록 false로 설정되었습니다. 이 옵션을 False로 설정하면 피하는 데 유용 할 수 있습니다액세스 독점
잘린 테이블에서 잘라. 이 옵션은이면 무시됩니다.full
옵션이 사용됩니다.
병렬
지수 롤 토토 및 인덱스 청소 단계 수행롤 토토
병렬 사용Integer
배경 작업자 (각 롤 토토 단계의 세부 사항은 참조하십시오표 27.46). 작업을 수행하는 데 사용되는 근로자 수는 병렬 롤 토토을 지원하는 관계의 지수 수와 동일합니다.병렬
옵션이 추가로 제한되는 경우max_parallel_mainement_workers. 색인의 크기가보다 더 큰 경우에만 인덱스가 병렬 롤 토토에 참여할 수 있습니다.min_parallel_index_scan_size. 에 명시된 병렬 작업자의 수를 보장하지는 않습니다.Integer
실행 중에 사용됩니다. 롤 토토 청소기는 지정된 것보다 노동자가 적거나 노동자가 전혀 없을 때까지 롤 토토 상태를 운영 할 수 있습니다. 인덱스 당 한 명의 작업자 만 사용할 수 있습니다. 따라서 평행 근로자는 적어도있을 때만 출시됩니다2
테이블의 인덱스. 롤 토토 작업자는 각 단계가 시작되기 전에 발사되어 단계가 끝날 때 마무리됩니다. 이러한 행동은 향후 릴리스에서 변할 수 있습니다. 이 옵션은와 함께 사용할 수 없습니다.full
옵션.
skip_database_stats
이를 지정합니다롤 토토
가장 오래된 XID에 대한 데이터베이스 전체 통계를 업데이트해야합니다. 보통롤 토토
명령이 끝날 때이 통계를 한 번 업데이트합니다. 그러나 이것은 매우 많은 수의 테이블이있는 데이터베이스에서 시간이 걸릴 수 있으며, 가장 오래된 XID가 포함 된 테이블이 롤 토토 청소기 중 하나가 아니라면 아무것도 달성하지 못할 것입니다. 또한, 다중롤 토토
명령은 병렬로 발행되며 그 중 하나만 데이터베이스 전체 통계를 한 번에 업데이트 할 수 있습니다. 따라서 응용 프로그램이 일련의 많은 것을 발행하려는 경우롤 토토
명령, 마지막 명령을 제외한이 옵션을 설정하는 것이 도움이 될 수 있습니다. 또는 모든 명령으로 설정하고 별도로 발행롤 토토 (only_database_stats)
나중에.
전용 _database_stats
이를 지정합니다롤 토토
가장 오래된 XID에 대한 데이터베이스 전체 통계를 업데이트하는 것 외에는 아무것도하지 않아야합니다. 이 옵션이 지정되면table_and_columns
목록이 비어 있어야하며을 제외하고 다른 옵션이 활성화되지 않을 수 있습니다.Verbose
.
buffer_usage_limit
지정버퍼 액세스 전략링 버퍼 크기롤 토토
. 이 크기는이 전략의 일부로 재사용되는 공유 버퍼의 수를 계산하는 데 사용됩니다.0
a 사용 비활성화버퍼 액세스 전략
. 만약에분석
지정되어 있습니다.buffer_usage_limit
값은 롤 토토 및 분석 단계 모두에 사용됩니다. 이 옵션은와 함께 사용할 수 없습니다.full
if 옵션분석
도 지정되어 있습니다. 이 옵션이 지정되지 않은 경우롤 토토
값을 사용합니다VACUUM_BUFFER_USAGE_LIMIT. 더 높은 설정은 허용 할 수 있습니다롤 토토
더 빨리 실행되지만 설정이 너무 커지면 너무 많은 다른 유용한 페이지가 공유 버퍼에서 퇴거 될 수 있습니다. 최소값은입니다.128 KB
그리고 최대 값은입니다.16 GB
.
부울
선택한 옵션을 켜거나 끄야하는지 여부를 지정합니다. 당신은 쓸 수 있습니다true
, on
또는1
옵션을 활성화하려면false
, OFF
또는0
비활성화하려면. 그만큼부울
값도 생략 할 수 있습니다.true
가정됩니다.
정수
선택한 옵션에 전달되는 비 음성 정수 값을 지정합니다.
size
킬로 바이트에서 메모리 양을 지정합니다. 크기는 또한 수치 크기를 포함하는 문자열로 지정된 다음 다음 메모리 단위 중 하나가 이어질 수 있습니다.B
(바이트),KB
(Kilobytes),MB
(megabytes),GB
(Gigabytes) 또는TB
(Terabytes).
table_name
특정 테이블의 이름 (선택적으로 스키마 자격) 또는 롤 토토 상태에서 구체화 된보기. 지정된 테이블이 분할 된 테이블 인 경우 모든 잎 파티션이 롤 토토 청소기입니다.
column_name
분석 할 특정 열의 이름. 모든 열에 대한 기본값. 열 목록이 지정된 경우분석
지정해야합니다.
언제Verbose
지정되어 있습니다.롤 토토
현재 처리중인 테이블을 나타 내기 위해 진행 메시지를 제출합니다. 테이블에 대한 다양한 통계도 인쇄됩니다.
테이블을 롤 토토 청소기에 청소하려면 일반적으로가 있어야합니다.유지 관리
테이블의 특권. 그러나 데이터베이스 소유자는 공유 카탈로그를 제외하고 데이터베이스의 모든 테이블을 롤 토토 청소기로 청소할 수 있습니다.롤 토토
전화 사용자가 롤 토토 청소기에 허가를받지 못하는 테이블을 건너 뜁니다.
while롤 토토
실행 중입니다.search_path일시적으로 변경PG_CATALOG, PG_TEMP
.
롤 토토
트랜잭션 블록 내부에서 실행할 수 없습니다.
테이블이있는ginIndexes,롤 토토
(어떤 형태로든) 또한 보류중인 인덱스 항목을 메인의 적절한 장소로 이동시켜 보류중인 인덱스 삽입을 완료합니다.gin색인 구조. 보다섹션 64.4.4.1자세한 내용.
죽은 행을 제거하기 위해 모든 데이터베이스를 정기적으로 롤 토토 청소기로 청소하는 것이 좋습니다.PostgreSQL포함“autovacuum”일상적인 롤 토토 유지 보수를 자동화 할 수있는 시설. 자동 및 수동 롤 토토 청소기에 대한 자세한 내용은 참조하십시오.PostgreSQL : 문서 : 17 : 24.1. 일상 와이즈 토토 청소기.
thefull
옵션은 일상적인 사용에 권장되지 않지만 특별한 경우에는 유용 할 수 있습니다. 예를 들어 테이블에서 대부분의 행을 삭제하거나 업데이트 한 경우 테이블이 디스크 공간을 덜 차지하기 위해 물리적으로 축소되고 더 빠른 테이블 스캔을 허용하기를 원합니다..롤 토토 Full
보통 평원 이상의 테이블을 줄입니다롤 토토
Will.
병렬
옵션은 롤 토토 목적으로 만 사용됩니다. 이 옵션이에 지정된 경우분석
옵션, 영향을 미치지 않습니다분석
.
롤 토토
I/O 트래픽이 상당히 증가하여 다른 활성 세션의 성능이 저하 될 수 있습니다. 따라서 비용 기반 롤 토토 지연 기능을 사용하는 것이 좋습니다. 평행 롤 토토 청소기의 경우 각 작업자는 해당 작업자가 수행 한 작업에 비례하여 잠을 자고 있습니다. 보다섹션 19.4.4자세한 내용.
각 백엔드 실행롤 토토
full
옵션은에서 진행 상황을보고합니다.PG_STAT_PROGRESS_VACUUM
보기. 백엔드 실행롤 토토 Full
대신에서 그들의 진전을보고합니다PG_STAT_PROGRESS_CLUST
보기. 보다섹션 27.4.5and섹션 27.4.2자세한 내용.
단일 테이블을 청소하려면ONEK
, 최적화에 대해 분석하고 자세한 롤 토토 활동 보고서를 인쇄하십시오 :
롤 토토 (Verbose, Analyze) Onek;
없음롤 토토
SQL 표준의 명령문.
다음 구문이 전에 사용되었습니다PostgreSQL버전 9.0 및 여전히 지원됩니다 :
롤 토토 [full] [freeze] [Verbose] [분석] [table_and_columns
[, ...]]
이 구문에서 옵션은 정확히 표시된 순서로 지정되어야합니다.
올바르지 않은 문서에 아무것도 표시되면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면