포스트그레SQL명령 실행 중 특정 명령의 진행 상황을 보고하는 기능이 있습니다. 현재 진행 상황 보고를 지원하는 유일한 명령은 다음과 같습니다.진공. 향후 확대될 수 있습니다.
언제든지진공실행 중입니다.pg_stat_progress_vacuum뷰에는 현재 Vacuum을 수행 중인 각 백엔드(Autovacuum 작업자 프로세스 포함)에 대해 하나의 행이 포함됩니다. 아래 표에서는 보고될 정보를 설명하고 이를 해석하는 방법에 대한 정보를 제공합니다. 진행 상황 보고는 현재 지원되지 않습니다.진공 가득 참및 백엔드 실행 중진공 가득 참이 보기에는 나열되지 않습니다.
표 28.21. pg_stat_progress_vacuum보기
| 칼럼 | 유형 | 설명 |
|---|---|---|
pid |
정수 |
백엔드의 프로세스 ID. |
데이트 |
oid |
이 백엔드가 연결된 데이터베이스의 OID. |
데이터이름 |
이름 |
이 백엔드가 연결된 데이터베이스의 이름. |
렐리드 |
oid |
청소 중인 테이블의 OID. |
단계 |
텍스트 |
현재 진공 처리 단계. 참조표 28.22. |
heap_blks_total |
비긴트 |
테이블의 총 힙 블록 수. 이 숫자는 스캔 시작 시 보고됩니다. 나중에 추가된 블록은 여기에서 방문하지 않으며 방문할 필요도 없습니다.진공. |
heap_blks_scanned |
비긴트 |
스캔된 힙 블록 수. 왜냐하면와이즈 토토 : 문서 : 11 : 69.4. 가시성 맵은 스캔을 최적화하는 데 사용되며 일부 블록은 검사 없이 건너뜁니다. 건너뛴 블록은 이 총계에 포함되므로 이 숫자는 결국 다음과 같아집니다.heap_blks_total진공이 완료되면. 이 카운터는 단계가 다음과 같은 경우에만 진행됩니다.힙 스캔 중. |
heap_blks_vacuumed |
비긴트 |
청소된 힙 블록 수. 테이블에 인덱스가 없으면 이 카운터는 단계가 다음과 같은 경우에만 진행됩니다.힙 청소 중. 데드 튜플이 포함되지 않은 블록은 건너뛰므로 카운터가 때때로 큰 단위로 앞으로 건너뛸 수 있습니다. |
index_vacuum_count |
비긴트 |
완료된 인덱스 진공 사이클 수. |
max_dead_tuples |
비긴트 |
인덱스 진공 주기를 수행하기 전에 저장할 수 있는 데드 튜플 수, 기준maintenance_work_mem. |
num_dead_tuples |
bigint |
마지막 인덱스 진공 주기 이후 수집된 데드 튜플 수. |
표 28.22. 진공 단계
| 단계 | 설명 |
|---|---|
초기화 중 |
진공힙 스캔 시작을 준비 중입니다. 이 단계는 매우 짧을 것으로 예상됩니다. |
힙 스캔 중 |
진공현재 힙을 스캔 중입니다. 필요한 경우 각 페이지를 정리하고 조각 모음하며 동결 작업을 수행할 수도 있습니다.heap_blks_scanned열을 사용하여 스캔 토토 상황을 모니터링할 수 있습니다. |
색인 비우기 |
진공현재 색인을 비우고 있습니다. 테이블에 인덱스가 있는 경우 힙이 완전히 스캔된 후 진공당 적어도 한 번 발생합니다. 다음과 같은 경우 진공청소기당 여러 번 발생할 수 있습니다.maintenance_work_mem(또는 자동 진공의 경우autovacuum_work_mem설정된 경우) 발견된 데드 튜플 수를 저장하기에 충분하지 않습니다. |
힙을 비우는 중 |
진공현재 힙을 비우고 있습니다. 힙을 진공 청소기로 청소하는 것은 힙을 검색하는 것과 다르며, 인덱스를 진공 청소기로 청소하는 각 인스턴스 후에 발생합니다. 만일heap_blks_scanned다음보다 작음heap_blks_total, 시스템은 이 단계가 완료된 후 힙 스캔으로 돌아갑니다. 그렇지 않으면 이 단계가 완료된 후 인덱스 정리가 시작됩니다. |
색인 정리 중 |
진공현재 색인을 정리 중입니다. 이는 힙이 완전히 스캔되고 인덱스와 힙의 모든 진공 작업이 완료된 후에 발생합니다. |
힙 자르기 |
진공현재 운영 체제와의 관계 끝에서 빈 페이지를 반환하기 위해 힙을 자르고 있습니다. 이는 인덱스를 정리한 후에 발생합니다. |
최종 정리 수행 중 |
진공최종 정리를 수행 중입니다. 이 단계에서는,진공여유 공간 지도를 비우고 통계를 업데이트합니다.pg_class, 통계 수집기에 통계를 보고합니다. 이 단계가 완료되면,진공종료됩니다. |