28.4. 진행 상황 토토 꽁 머니

포스트그레SQL명령 실행 중 특정 명령의 진행 상황을 보고하는 기능이 있습니다. 현재 진행 상황 보고를 지원하는 유일한 명령은 다음과 같습니다.분석, 클러스터, 색인 생성, 진공, 복사그리고BASE_BACKUP(즉, 다음 복제 명령pg_basebackup기본 백업 수행 관련 문제). 향후 확대될 수 있습니다.

28.4.1. 진행 상황 보고 분석

언제든지분석실행 중입니다.pg_stat_progress_analyze뷰에는 현재 해당 명령을 실행 중인 각 백엔드에 대한 행이 포함됩니다. 아래 표에서는 보고될 정보를 설명하고 이를 해석하는 방법에 대한 정보를 제공합니다.

표 28.34. pg_stat_progress_analyze보기

열 유형

설명

pid 정수

백엔드의 프로세스 ID.

데이트 oid

이 백엔드가 연결된 데이터베이스의 OID.

데이터이름 이름

이 백엔드가 연결된 데이터베이스의 이름.

렐리드 oid

분석 중인 테이블의 OID.

단계 텍스트

현재 처리 단계. 보다표 28.35.

sample_blks_total bigint

샘플링될 총 힙 블록 수.

sample_blks_scanned 비긴트

스캔된 힙 블록 수.

ext_stats_total 비긴트

확장 통계 수.

ext_stats_computed 비긴트

계산된 확장 통계 수. 이 카운터는 단계가 다음과 같은 경우에만 진행됩니다.확장 통계 계산 중.

child_tables_total 비긴트

하위 테이블 수.

child_tables_done 비긴트

스캔된 하위 테이블 수. 이 카운터는 단계가 다음과 같은 경우에만 진행됩니다.상속된 샘플 행 획득.

current_child_table_relid oid

현재 스캔 중인 하위 테이블의 OID. 이 필드는 단계가 다음과 같은 경우에만 유효합니다.상속된 샘플 행 획득.


표 28.35. 단계 분석

단계 설명
초기화 중 명령이 힙 스캔 시작을 준비 중입니다. 이 단계는 매우 짧을 것으로 예상됩니다.
샘플 행 획득 중 명령은 현재 다음에서 제공한 테이블을 스캔하고 있습니다.렐리드샘플 행을 얻으려면.
상속된 샘플 행 획득 명령은 현재 샘플 행을 얻기 위해 하위 테이블을 검색하고 있습니다. 열child_tables_total, child_tables_donecurrent_child_table_relid이 단계의 진행 정보를 포함합니다.
계산 통계 이 명령은 테이블 스캔 중에 얻은 샘플 행에서 통계를 계산합니다.
확장 통계 계산 중 이 명령은 테이블 스캔 중에 얻은 샘플 행에서 확장 통계를 계산합니다.
분석 마무리 중 명령이 업데이트 중입니다.pg_class. 이 단계가 완료되면,분석종료됩니다.

참고

언제든지 주의하세요분석은 파티션된 테이블에서 실행되며 모든 파티션도 재귀적으로 분석됩니다. 그 경우에는,분석상위 테이블의 진행 상황이 먼저 토토 꽁 머니되어 상속 통계가 수집되고 이어서 각 파티션에 대한 진행 상황이 토토 꽁 머니됩니다.

28.4.2. INDEX 진행 토토 꽁 머니 생성

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

표 28.36. pg_stat_progress_create_index보기

열 유형

설명

pid 정수

백엔드의 프로세스 ID.

데이트 oid

이 백엔드가 연결된 데이터베이스의 OID.

데이터이름 이름

이 백엔드가 연결된 데이터베이스의 이름.

렐리드 oid

인덱스가 생성되는 테이블의 OID.

index_relid oid

생성되거나 재인덱싱되는 인덱스의 OID입니다. 비동시 중색인 생성, 이것은 0입니다.

명령 텍스트

실행 중인 명령:색인 생성, 동시에 인덱스 생성, REINDEX, 또는동시에 REINDEX.

단계 텍스트

현재 색인 생성 처리 단계입니다. 보다표 28.37.

lockers_total 비긴트

해당되는 경우 대기할 사물함의 총 개수.

lockers_done 비긴트

이미 기다리고 있는 사물함의 수입니다.

current_locker_pid bigint

현재 대기 중인 사물함의 프로세스 ID입니다.

blocks_total 비긴트

현재 단계에서 처리될 총 블록 수.

blocks_done bigint

현재 단계에서 이미 처리된 블록 수.

tuples_total 비긴트

현재 단계에서 처리될 총 튜플 수.

tuples_done 비긴트

현재 단계에서 이미 처리된 튜플 수.

partitions_total bigint

분할된 테이블에 인덱스를 생성할 때 이 열은 인덱스가 생성될 총 파티션 수로 설정됩니다. 이 필드는0동안REINDEX.

partitions_done 비긴트

파티션된 테이블에 인덱스를 생성할 때 이 열은 인덱스가 생성된 파티션 수로 설정됩니다. 이 필드는0동안REINDEX.


표 28.37. 인덱스 단계 생성

단계 설명
초기화 중 색인 생성또는REINDEX색인 생성을 준비 중입니다. 이 단계는 매우 짧을 것으로 예상됩니다.
빌드 전 작성자를 기다리는 중 동시에 인덱스 생성또는동시에 REINDEX테이블이 완료되는 것을 잠재적으로 볼 수 있는 쓰기 잠금이 있는 트랜잭션을 기다리고 있습니다. 동시 모드가 아닌 경우 이 단계를 건너뜁니다. 열lockers_total, lockers_done그리고current_locker_pid이 단계의 진행 정보를 포함합니다.
건물 색인 색인은 액세스 방법별 코드에 의해 구축되고 있습니다. 이 단계에서는 진행률 보고를 지원하는 액세스 방법이 자체 진행률 데이터를 채우고 하위 단계가 이 열에 표시됩니다. 일반적으로,blocks_total그리고blocks_done진행 데이터를 포함할 뿐만 아니라 잠재적으로tuples_total그리고tuples_done.
검증 전 작성자를 기다리는 중 동시에 인덱스 생성또는동시에 REINDEX잠재적으로 테이블에 쓸 수 있는 쓰기 잠금이 있는 트랜잭션이 완료되기를 기다리고 있습니다. 동시 모드가 아닌 경우 이 단계를 건너뜁니다. 열lockers_total, lockers_done그리고current_locker_pid이 단계의 진행 정보를 포함합니다.
색인 검증: 색인 스캔 동시에 인덱스 생성검증이 필요한 튜플을 검색하는 인덱스를 스캔 중입니다. 동시 모드가 아닌 경우 이 단계를 건너뜁니다. 열blocks_total(인덱스의 전체 크기로 설정) 및blocks_done이 단계의 진행 정보를 포함합니다.
색인 유효성 검사: 튜플 정렬 동시에 인덱스 생성색인 스캔 단계의 출력을 정렬하는 중입니다.
색인 유효성 검사: 테이블 스캔 동시에 인덱스 생성이전 두 단계에서 수집된 인덱스 튜플을 검증하기 위해 테이블을 스캔하고 있습니다. 동시 모드가 아닌 경우 이 단계를 건너뜁니다. 열blocks_total(테이블의 전체 크기로 설정) 및blocks_done이 단계의 진행 정보를 포함합니다.
오래된 스냅샷을 기다리는 중 동시에 인덱스 생성또는동시에 REINDEX잠재적으로 테이블을 볼 수 있는 트랜잭션이 스냅샷을 릴리스하기를 기다리고 있습니다. 동시 모드가 아닌 경우 이 단계를 건너뜁니다. 열lockers_total, lockers_done그리고current_locker_pid이 단계의 진행 정보를 포함합니다.
죽은 것으로 표시하기 전에 독자를 기다리는 중 동시에 REINDEX이전 인덱스를 비활성으로 표시하기 전에 테이블에 대한 읽기 잠금이 있는 트랜잭션이 완료되기를 기다리고 있습니다. 동시 모드가 아닌 경우 이 단계를 건너뜁니다. 열lockers_total, lockers_done그리고current_locker_pid이 단계의 진행 정보를 포함합니다.
삭제하기 전에 독자를 기다리는 중 동시에 REINDEX이전 인덱스를 삭제하기 전에 테이블에 대한 읽기 잠금이 있는 트랜잭션이 완료되기를 기다리고 있습니다. 동시 모드가 아닌 경우 이 단계를 건너뜁니다. 열lockers_total, lockers_done그리고current_locker_pid이 단계의 진행 정보를 포함합니다.

28.4.3. VACUUM 진행 상황 토토 꽁 머니

언제든지진공실행 중입니다.pg_stat_progress_vacuum뷰에는 현재 Vacuum을 수행 중인 각 백엔드(Autovacuum 작업자 프로세스 포함)에 대해 하나의 행이 포함됩니다. 아래 표에서는 보고될 정보를 설명하고 이를 해석하는 방법에 대한 정보를 제공합니다. 진행률:진공 가득 참명령은 다음을 통해 보고됩니다.pg_stat_progress_cluster왜냐하면 둘 다진공이 가득 참그리고클러스터정규적인 동안 테이블을 다시 작성진공그 자리에서 수정만 합니다. 보다섹션 28.4.4.

표 28.38. pg_stat_progress_vacuum보기

열 유형

설명

pid 정수

백엔드의 프로세스 ID.

데이트 oid

이 백엔드가 연결된 데이터베이스의 OID.

데이터이름 이름

이 백엔드가 연결된 데이터베이스의 이름.

렐리드 oid

청소 중인 테이블의 OID.

단계 텍스트

현재 진공 처리 단계. 보다표 28.39.

heap_blks_total 비긴트

테이블의 총 힙 블록 수. 이 숫자는 스캔 시작 시 토토 꽁 머니됩니다. 나중에 추가된 블록은 여기에서 방문하지 않으며 방문할 필요도 없습니다.진공.

heap_blks_scanned 비긴트

스캔된 힙 블록 수. 왜냐하면토토 결과 : 문서 : 14 : 70.4. 가시성 맵는 스캔을 최적화하는 데 사용되며 일부 블록은 검사 없이 건너뜁니다. 건너뛴 블록은 이 총계에 포함되므로 이 숫자는 결국 다음과 같아집니다.heap_blks_total진공이 완료되면. 이 카운터는 단계가 다음과 같은 경우에만 진행됩니다.힙 스캔 중.

heap_blks_vacuumed 비긴트

청소된 힙 블록 수. 테이블에 인덱스가 없으면 이 카운터는 단계가 다음과 같은 경우에만 진행됩니다.힙을 비우는 중. 데드 튜플이 포함되지 않은 블록은 건너뛰므로 카운터가 때때로 큰 단위로 앞으로 건너뛸 수 있습니다.

index_vacuum_count 비긴트

완료된 인덱스 진공 사이클 수.

max_dead_tuples 비긴트

인덱스 진공 주기를 수행하기 전에 저장할 수 있는 데드 튜플 수, 기준maintenance_work_mem.

num_dead_tuples bigint

마지막 인덱스 진공 주기 이후 수집된 데드 튜플 수.


표 28.39. 진공 단계

단계 설명
초기화 중 진공힙 스캔 시작을 준비 중입니다. 이 단계는 매우 짧을 것으로 예상됩니다.
힙 스캔 중 진공현재 힙을 스캔 중입니다. 필요한 경우 각 페이지를 정리하고 조각 모음하며 동결 작업을 수행할 수도 있습니다. 그만큼heap_blks_scanned열을 사용하여 스캔 진행 상황을 모니터링할 수 있습니다.
색인 비우기 진공현재 색인을 비우고 있습니다. 테이블에 인덱스가 있는 경우 힙이 완전히 스캔된 후 진공당 적어도 한 번 발생합니다. 다음과 같은 경우 진공청소기당 여러 번 발생할 수 있습니다.maintenance_work_mem(또는 자동 진공의 경우autovacuum_work_mem설정된 경우) 발견된 데드 튜플 수를 저장하기에 충분하지 않습니다.
힙을 비우는 중 진공현재 힙을 비우고 있습니다. 힙을 진공 청소기로 청소하는 것은 힙을 검색하는 것과 다르며, 인덱스를 진공 청소기로 청소하는 각 인스턴스 후에 발생합니다. 만약에heap_blks_scanned다음보다 작음heap_blks_total, 시스템은 이 단계가 완료된 후 힙 스캔으로 돌아갑니다. 그렇지 않으면 이 단계가 완료된 후 인덱스 정리가 시작됩니다.
색인 정리 중 진공현재 색인을 정리 중입니다. 이는 힙이 완전히 스캔되고 인덱스와 힙의 모든 진공 작업이 완료된 후에 발생합니다.
힙 자르기 진공현재 운영 체제와의 관계 끝에서 빈 페이지를 반환하기 위해 힙을 자르고 있습니다. 이는 인덱스를 정리한 후에 발생합니다.
최종 정리 수행 중 진공최종 정리를 수행 중입니다. 이 단계에서는,진공여유 공간 지도를 비우고 통계를 업데이트합니다.pg_class, 통계 수집기에 통계를 보고합니다. 이 단계가 완료되면,진공종료됩니다.

28.4.4. 클러스터 진행 상황 보고

언제든지클러스터또는진공 가득 참실행 중입니다.pg_stat_progress_cluster뷰에는 현재 두 명령 중 하나를 실행 중인 각 백엔드에 대한 행이 포함됩니다. 아래 표에서는 보고될 정보를 설명하고 이를 해석하는 방법에 대한 정보를 제공합니다.

표 28.40. pg_stat_progress_cluster보기

열 유형

설명

pid 정수

백엔드의 프로세스 ID.

데이트 oid

이 백엔드가 연결된 데이터베이스의 OID.

데이터이름 이름

이 백엔드가 연결된 데이터베이스의 이름.

렐리드 oid

클러스터링되는 테이블의 OID.

명령 텍스트

실행 중인 명령입니다. 어느 하나클러스터또는진공 가득 참.

단계 텍스트

현재 처리 단계. 보다표 28.41.

cluster_index_relid oid

인덱스를 사용하여 테이블을 스캔하는 경우, 이는 사용 중인 인덱스의 OID입니다. 그렇지 않으면 0입니다.

heap_tuples_scanned bigint

스캔된 힙 튜플 수. 이 카운터는 단계가 다음과 같은 경우에만 진행됩니다.seq 스캐닝 힙, 인덱스 스캐닝 힙또는새 힙 작성.

heap_tuples_write 비긴트

기록된 힙 튜플 수. 이 카운터는 단계가 다음과 같은 경우에만 진행됩니다.seq 스캐닝 힙, 인덱스 스캐닝 힙또는새 힙 작성.

heap_blks_total 비긴트

테이블의 총 힙 블록 수. 이 숫자는의 시작 부분을 기준으로 토토 꽁 머니됩니다.seq 스캐닝 힙.

heap_blks_scanned 비긴트

스캔된 힙 블록 수. 이 카운터는 단계가 다음과 같은 경우에만 진행됩니다.seq 스캐닝 힙.

index_rebuild_count 비긴트

재구축된 인덱스 수. 이 카운터는 단계가 다음과 같은 경우에만 진행됩니다.색인 재구축.


표 28.41. 클러스터 및 VACUUM FULL 단계

단계 설명
초기화 중 명령이 힙 스캔 시작을 준비 중입니다. 이 단계는 매우 짧을 것으로 예상됩니다.
seq 스캐닝 힙 명령은 현재 순차 스캔을 사용하여 테이블을 스캔하고 있습니다.
인덱스 스캐닝 힙 클러스터현재 인덱스 스캔을 사용하여 테이블을 스캔하고 있습니다.
튜플 정렬 클러스터현재 튜플을 정렬 중입니다.
새 힙 작성 클러스터현재 새 힙을 작성 중입니다.
관계 파일 교환 중 명령은 현재 새로 빌드된 파일을 제자리로 교체하고 있습니다.
색인 재구축 명령이 현재 색인을 재구축하고 있습니다.
최종 정리 수행 중 명령이 최종 정리를 수행하고 있습니다. 이 단계가 완료되면,클러스터또는진공이 가득 참종료됩니다.

28.4.5. 기본 백업 진행 상황 토토 꽁 머니

다음과 같은 애플리케이션이 있을 때마다pg_basebackup기본 백업을 수행 중입니다.pg_stat_progress_basebackup뷰에는 현재 실행 중인 각 WAL 발신자 프로세스에 대한 행이 포함됩니다.BASE_BACKUP복제 명령 및 백업 스트리밍. 아래 표에서는 보고될 정보를 설명하고 이를 해석하는 방법에 대한 정보를 제공합니다.

표 28.42. pg_stat_progress_basebackup보기

열 유형

설명

pid 정수

WAL 발신자 프로세스의 프로세스 ID.

단계 텍스트

현재 처리 단계. 보다표 28.43.

backup_total 비긴트

스트리밍될 총 데이터 양. 이는 2019년 1월 초 기준으로 추정 및 토토 꽁 머니된 수치입니다.스트리밍 데이터베이스 파일단계. 데이터베이스는 도중에 변경될 수 있으므로 이는 근사치일 뿐입니다.스트리밍 데이터베이스 파일단계 및 WAL 로그는 나중에 백업에 포함될 수 있습니다. 이는 항상 다음과 같은 값입니다.backup_streamed스트리밍된 데이터 양이 예상 총 크기를 초과하는 경우. 추정이 비활성화된 경우pg_basebackup(즉,--추정 크기 없음옵션이 지정됨), 이는NULL.

backup_streamed 비긴트

스트리밍된 데이터의 양. 이 카운터는 단계가 다음과 같은 경우에만 진행됩니다.스트리밍 데이터베이스 파일또는월 파일 전송 중.

테이블스페이스_총 비긴트

스트리밍될 총 테이블스페이스 수.

테이블스페이스_스트리밍 비긴트

스트리밍된 테이블스페이스 수. 이 카운터는 단계가 다음과 같은 경우에만 진행됩니다.스트리밍 데이터베이스 파일.


표 28.43. 기본 백업 단계

단계 설명
초기화 중 WAL 발신자 프로세스가 백업 시작을 준비 중입니다. 이 단계는 매우 짧을 것으로 예상됩니다.
체크포인트가 완료되기를 기다리는 중 WAL 발신자 프로세스가 현재 수행 중입니다.pg_start_backup기본 백업을 준비하고 백업 시작 체크포인트가 완료되기를 기다립니다.
백업 크기 추정 중 WAL 발신자 프로세스는 현재 기본 백업으로 스트리밍될 데이터베이스 파일의 총량을 추정하고 있습니다.
스트리밍 데이터베이스 파일 WAL 발신자 프로세스는 현재 기본 백업으로 데이터베이스 파일을 스트리밍하고 있습니다.
월 보관처리가 완료되기를 기다리는 중 WAL 발신자 프로세스가 현재 수행 중입니다.pg_stop_backup백업을 완료하고 기본 백업에 필요한 모든 WAL 파일이 성공적으로 아카이브될 때까지 기다립니다. 둘 중 하나라면--wal-method=없음또는--wal-method=스트림다음에 지정됨pg_basebackup, 이 단계가 완료되면 백업이 종료됩니다.
월 파일 전송 중 WAL 발신자 프로세스는 현재 백업 중에 생성된 모든 WAL 로그를 전송하고 있습니다. 이 단계는 다음 이후에 발생합니다.월 보관이 완료되기를 기다리는 중단계 if--wal-method=fetch다음에 지정됨pg_basebackup. 이 단계가 완료되면 백업이 종료됩니다.

28.4.6. 복사 진행 상황 보고

언제든지복사실행 중입니다.pg_stat_progress_copy뷰에는 현재 실행 중인 각 백엔드에 대해 하나의 행이 포함됩니다.복사명령. 아래 표에서는 보고될 정보에 대해 설명하고 이를 해석하는 방법에 대한 정보를 제공합니다.

표 28.44. pg_stat_progress_copy보기

열 유형

설명

pid 정수

백엔드의 프로세스 ID.

데이트 oid

이 백엔드가 연결된 데이터베이스의 OID.

데이터이름 이름

이 백엔드가 연결된 데이터베이스의 이름.

렐리드 oid

다음이 있는 테이블의 OID복사명령이 실행됩니다. 로 설정되어 있습니다.0에서 복사하는 경우선택질의.

명령 텍스트

실행 중인 명령:다음에서 복사또는복사 대상.

유형 텍스트

데이터를 읽거나 쓰는 io 유형:파일, 프로그램, 파이프(forSTDIN에서 복사그리고STDOUT에 복사) 또는콜백(예를 들어 논리적 복제의 초기 테이블 동기화 중에 사용됨).

바이트_처리됨 비긴트

이미 처리한 바이트 수복사명령.

bytes_total 비긴트

소스 파일 크기다음에서 복사명령(바이트). 로 설정되어 있습니다.0사용할 수 없는 경우.

tuples_processed 비긴트

이미 처리된 튜플 수복사명령.

tuples_excluded 비긴트

에 의해 제외되었기 때문에 처리되지 않은 튜플 수어디에서복사명령.


수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.