이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

27.4. 진행사설 토토

PostgreSQL명령 실행 중에 특정 명령의 진행 상황을보고 할 수 있습니다. 현재 진행 상황보고를 지원하는 유일한 명령은입니다.색인 생성, 진공클러스터. 이것은 미래에 확장 될 수 있습니다.

27.4.1. 인덱스 진행 사설 토토서 생성

언제든지색인 생성또는reindex실행 중입니다.PG_STAT_PROGRESS_CREATE_INDEX보기에는 현재 인덱스를 생성하는 각 백엔드 당 하나의 행이 포함됩니다. 아래 표는보고 될 정보를 설명하고 해석 방법에 대한 정보를 제공합니다.

표 27.22. PG_STAT_PROGRESS_CREATE_INDEX보기

type 설명
PID 정수 백엔드의 프로세스 ID.
datid OID 이 백엔드가 연결된 데이터베이스의 OID.
datname 이름 이 백엔드가 연결된 데이터베이스 이름.
릴리드 OID 인덱스가 생성되는 테이블의 OID.
index_relid OID 생성되거나 다시 표시되는 인덱스의 OID. 비 일치하는 동안색인 생성, 이것은 0입니다.
명령 텍스트 실행중인 명령 :색인 생성, 동시에 색인 생성, reindex또는Reindex 동시에.
Phase 텍스트 인덱스 생성의 현재 처리 단계. 보다10390_10406.
Lockers_Total bigint 해당되는 경우 기다릴 총 사물함 수.
Lockers_done bigint 이미 기다려온 사물함 수.
current_locker_pid bigint 현재 기다리고있는 사물함의 프로세스 ID.
blocks_total bigint 현재 단계에서 처리 할 총 블록 수.
blocks_done bigint 현재 단계에서 이미 처리 된 블록 수.
tuples_total bigint 현재 단계에서 처리 할 튜플의 총 수.
tuples_done bigint 현재 단계에서 이미 처리 된 튜플 수.
Partitions_total bigint 파티션 된 테이블에서 인덱스를 생성 할 때이 열은 인덱스가 생성 될 총 파티션 수로 설정됩니다.
Partitions_done bigint 파티션 된 테이블에서 인덱스를 생성 할 때이 열은 인덱스가 완성 된 파티션 수로 설정됩니다.

13088_13130

Phase 설명
초기화 색인 생성또는reindex인덱스 생성을 준비하고 있습니다. 이 단계는 매우 짧을 것으로 예상됩니다.
빌드 전 작가를 기다리고 있습니다 동시에 색인 생성또는Reindex 동시에는 잠재적으로 테이블이 완료 될 수있는 쓰기 잠금 장치가있는 트랜잭션을 기다리고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.Lockers_Total, Lockers_donecurrent_locker_pid이 단계의 진행 정보를 포함합니다.
건물 색인 인덱스는 액세스 방법 별 코드에 의해 구축되고 있습니다. 이 단계에서 진행 상황보고를 지원하는 액세스 방법은 자체 진행 데이터를 채우고 서브상은이 열에 표시됩니다.blocks_totalblocks_done잠재적으로 진행 데이터와 잠재적으로tuples_totaltuples_done.
유효성 검사 전에 작가를 기다리고 있습니다 동시에 색인 생성또는Reindex 동시에는 테이블에 쓸 수있는 쓰기 잠금 장치가있는 트랜잭션을 기다리고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.Lockers_Total, Lockers_donecurrent_locker_pid이 단계의 진행 정보를 포함합니다.
색인 검증 : 스캔 인덱스 동시에 색인 생성검증 해야하는 튜플을 검색하는 인덱스를 스캔하고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.blocks_total(인덱스의 총 크기로 설정) 및blocks_done이 단계의 진행 정보를 포함합니다.
색인 검증 : 튜플 분류 동시에 색인 생성인덱스 스캔 단계의 출력을 정렬하고 있습니다.
색인 검증 : 스캔 테이블 동시에 색인 생성이전 두 단계에서 수집 한 인덱스 튜플을 검증하기 위해 테이블을 스캔하고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.blocks_total(테이블의 총 크기로 설정) 및blocks_done이 단계의 진행 정보를 포함합니다.
오래된 스냅 샷을 기다리고 있습니다 동시에 색인 생성또는Reindex 동시에스냅 샷을 해제하기 위해 테이블을 볼 수있는 트랜잭션을 기다리고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.Lockers_Total, Lockers_donecurrent_locker_pid이 단계의 진행 정보를 포함합니다.
죽음을 표시하기 전에 독자를 기다리고 있습니다 Reindex 동시에오래된 색인을 표시하기 전에 테이블에 읽기 잠금 장치가있는 트랜잭션을 기다리고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.Lockers_Total, Lockers_donecurrent_locker_pid이 단계의 진행 정보를 포함합니다.
떨어지기 전에 독자를 기다리고 있습니다 Reindex 동시에이전 인덱스를 삭제하기 전에 테이블의 읽기 잠금 장치가있는 트랜잭션을 기다리고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.Lockers_Total, Lockers_donecurrent_locker_pid이 단계의 진행 정보를 포함합니다.

27.4.2. 진공 진행보고

언제든지진공실행 중입니다.PG_STAT_PROGRESS_VACUUM보기에는 현재 진공 청소기가있는 각 백엔드 (Autovacuum Worker 프로세스 포함) 당 하나의 행이 포함됩니다. 아래 표는보고 될 정보를 설명하고 해석 방법에 대한 정보를 제공합니다.진공 Full명령은를 통해보고됩니다.PG_STAT_PROGRESS_CLUST왜냐하면 둘 다진공 Full클러스터정기적으로 테이블을 다시 작성하십시오진공제자리에만 수정합니다. 보다섹션 27.4.3.

표 27.24. PG_STAT_PROGRESS_VACUUM보기

type 설명
PID 정수 백엔드의 프로세스 ID.
datid OID 이 백엔드가 연결된 데이터베이스의 OID.
datname 이름 이 백엔드가 연결된 데이터베이스 이름.
릴리드 OID 진공 청소기의 OID.
Phase 텍스트 진공의 현재 처리 단계. 보다표 27.25.
heap_blks_total bigint 테이블의 총 힙 블록 수. 이 숫자는 스캔 초기에사설 토토됩니다.진공.
heap_blks_scanned bigint 힙 블록 수 스캔. 때문에가시성 맵스캔을 최적화하는 데 사용되며 일부 블록은 검사없이 건너 뜁니다. 건너 뛰기 블록은이 총계에 포함 되므로이 숫자는 결국과 동일하게됩니다.heap_blks_total진공이 완료된 경우. 이 카운터는 단계가있는 경우에만 발전합니다스캐닝 힙.
heap_blks_vacuumed bigint 힙 블록 수는 진공 청소기입니다. 테이블에 인덱스가 없으면이 카운터는 단계가있을 때만 진행됩니다힙 진공 청소기. 죽은 튜플이 포함되지 않은 블록이 건너 뜁니다. 따라서 카운터는 때때로 큰 단위로 앞으로 건너 뛸 수 있습니다.
index_vacuum_count bigint 완료된 지수 진공주기 수.
max_dead_tuples bigint ​​지수 진공주기를 수행하기 전에 저장할 수있는 죽은 튜플의 수,Maintenance_Work_mem.
num_dead_tuples bigint 마지막 지수 진공주기 이후 수집 된 죽은 튜플 수.

표 27.25. 진공 단계

Phase 설명
초기화 진공힙 스캔을 시작할 준비를하고 있습니다. 이 단계는 매우 짧을 것으로 예상됩니다.
스캐닝 힙 진공현재 힙 스캔 중입니다. 필요한 경우 각 페이지를 잘라 내고 해체 할 수 있으며 동결 활동을 수행 할 수 있습니다.heap_blks_scanned열을 사용하여 스캔 진행 상황을 모니터링 할 수 있습니다.
인덱스 진공 청소기 진공현재 인덱스를 청소하고 있습니다. 테이블에 인덱스가있는 경우 힙이 완전히 스캔 된 후 진공 당 최소 한 번 발생합니다.Maintenance_Work_mem(또는 Autovacuum의 경우autovacuum_work_mem설정된 경우) 발견 된 죽은 튜플의 수를 저장하기에 충분하지 않습니다.
힙 진공 청소기 진공현재 힙을 청소하고 있습니다. 힙 진공 청소기는 힙 스캐닝과는 다르며, 각각의 진공 지수 인스턴스 후에 발생합니다.heap_blks_scanned|heap_blks_total, 시스템은이 단계가 완료된 후 힙 스캔으로 돌아갑니다. 그렇지 않으면이 단계가 완료된 후 인덱스 정리를 시작합니다.
인덱스 청소 진공현재 인덱스를 정리하고 있습니다. 이것은 힙이 완전히 스캔되고 모든 인덱스의 진공 청소기가 완료된 후에 발생합니다.
잘린 힙 진공는 현재 운영 체제와의 관계가 끝날 때 빈 페이지를 반환하기 위해 힙을 절단하고 있습니다. 이것은 인덱스를 청소 한 후에 발생합니다.
최종 청소 수행 진공최종 청소를 수행하고 있습니다. 이 단계에서진공여유 공간 맵을 청소하고 통계를 업데이트합니다pg_class및 통계 수집가에게 통계를사설 토토합니다. 이 단계가 완료되면진공끝이 끝날 것입니다.

27.4.3. 클러스터 진행보고

언제든지클러스터또는진공 Full실행 중입니다.PG_STAT_PROGRESS_CLUST보기에는 현재 어느 명령을 실행중인 각 백엔드에 대한 행이 포함됩니다. 아래 표는보고 될 정보를 설명하고 해석 방법에 대한 정보를 제공합니다.

표 27.26. PG_STAT_PROGRESS_CLUST보기

type 설명
PID 정수 백엔드의 프로세스 ID.
datid OID 이 백엔드가 연결된 데이터베이스의 OID.
datname 이름 이 백엔드가 연결된 데이터베이스 이름.
릴리드 OID 클러스터링중인 테이블의 OID.
명령 텍스트 실행중인 명령. 어느 하나클러스터또는진공 Full.
Phase 텍스트 현재 처리 단계. 보다표 27.27.
cluster_index_relid OID 색인을 사용하여 테이블을 스캔하는 경우 사용중인 인덱스의 OID입니다. 그렇지 않으면 0입니다.
Heap_Tuples_Scanned bigint 힙 튜플 수 스캔. 이 카운터는 단계가있는 경우에만 발전합니다SEQ 스캐닝 힙, 인덱스 스캐닝 힙또는새로운 힙 작성.
heap_tuples_written bigint 쓰여진 힙 튜플 수. 이 카운터는 단계가있는 경우에만 발전합니다SEQ 스캐닝 힙, 인덱스 스캐닝 힙또는새로운 힙 작성.
heap_blks_total bigint 테이블의 총 힙 블록 수. 이 숫자는의 시작 부분에서사설 토토됩니다.SEQ 스캐닝 힙.
heap_blks_scanned bigint 스캔 한 힙 블록 수. 이 카운터는 단계가있는 경우에만 발전합니다SEQ 스캐닝 힙.
index_rebuild_count bigint 인덱스 수가 재건되었습니다. 이 카운터는 단계가있는 경우에만 발전합니다인덱스 재건.

표 27.27. 클러스터 및 진공 전체 단계

Phase 설명
초기화 명령은 힙 스캔을 시작할 준비를하고 있습니다. 이 단계는 매우 짧을 것으로 예상됩니다.
SEQ 스캐닝 힙 명령은 현재 순차적 스캔을 사용하여 테이블을 스캔 중입니다.
인덱스 스캐닝 힙 클러스터현재 인덱스 스캔을 사용하여 테이블을 스캔 중입니다.
튜플 분류 클러스터현재 튜플을 분류하고 있습니다.
새로운 힙 작성 클러스터현재 새로운 힙을 쓰고 있습니다.
관계 파일 교환 명령이 현재 새로 작성된 파일을 제자리에 교환하고 있습니다.
인덱스 재건 명령이 현재 인덱스 재건 중입니다.
최종 청소 수행 명령은 최종 청소를 수행합니다. 이 단계가 완료되면클러스터또는진공 Full끝이 끝날 것입니다.