PostgreSQL명령 실행 중에 특정 명령의 진행 상황을보고 할 수 있습니다. 현재 진행 상황보고를 지원하는 유일한 명령은입니다.분석
,클러스터
,색인 생성
,진공
,COPY
및Base_backup(예 : 복제 명령PG_BASEBACKUP기본 백업을 수행하는 문제). 이것은 미래에 확장 될 수 있습니다.
언제든지분석
실행 중입니다.PG_STAT_PROGRESS_ANALYZE
보기에는 현재 해당 명령을 실행중인 각 백엔드마다 행이 포함됩니다. 아래 표는보고 될 정보를 설명하고 해석 방법에 대한 정보를 제공합니다.
표 27.38.PG_STAT_PROGRESS_ANALYZE
보기
열 유형 설명 |
---|
백엔드의 프로세스 ID. |
이 백엔드가 연결된 데이터베이스의 OID. |
이 백엔드가 연결된 데이터베이스 이름. |
분석중인 테이블의 OID. |
현재 처리 단계. 보다표 27.39. |
샘플링 될 힙 블록의 총 수. |
스캔 한 힙 블록 수. |
확장 통계 수. |
확장 된 통계 수. 이 카운터는 단계가있는 경우에만 발전합니다 |
어린이 테이블 수. |
스캔 한 어린이 테이블 수. 이 카운터는 단계가있는 경우에만 발전합니다 |
현재 스캔 중 아동 테이블의 OID. 이 필드는 단계가있을 때만 유효합니다 |
비용 기반 지연으로 인해 수면에 소요되는 총 시간 (참조섹션 19.10.2, 밀리 초 (iftrack_cost_delay_timing가 활성화되어 있고 그렇지 않으면 0). |
표 27.39.단계 분석
Phase | 설명 |
---|---|
초기화 |
명령은 힙 스캔을 시작할 준비를하고 있습니다. 이 단계는 매우 짧을 것으로 예상됩니다. |
샘플 행 획득 |
명령이 현재 주어진 테이블을 스캔 중입니다Relid 샘플 행을 얻으려면 |
상속 된 샘플 행 획득 |
명령은 현재 샘플 행을 얻기 위해 하위 테이블을 스캔하고 있습니다. 열child_tables_total ,child_tables_done 및current_child_table_relid 이 단계의 진행 정보를 포함합니다. |
컴퓨팅 통계 |
명령은 테이블 스캔 중에 얻은 샘플 행에서 통계를 계산하는 것입니다. |
확장 통계 컴퓨팅 |
명령은 테이블 스캔 중에 얻은 샘플 행에서 확장 된 통계를 계산하고 있습니다. |
결승 분석 |
명령이 업데이트 중PG_CLASS . 이 단계가 완료되면분석 끝날 예정입니다. |
분석
없이 분할 된 테이블에서 실행됩니다.전용
키워드, 모든 파티션도 재귀 적으로 분석됩니다. 이 경우분석
상속 통계가 수집 된 다음 각 파티션에 대해 상속 통계가 수집 된 부모 테이블의 진행 상황이 먼저보고됩니다.
언제든지클러스터
또는진공 Full
가 실행 중입니다.PG_STAT_PROGRESS_CLUST
보기에는 현재 어느 명령을 실행중인 각 백엔드에 대한 행이 포함됩니다. 아래 표는보고 될 정보를 설명하고 해석 방법에 대한 정보를 제공합니다.
표 27.40.PG_STAT_PROGRESS_CLUST
보기
열 유형 설명 |
---|
백엔드의 프로세스 ID. |
이 백엔드가 연결된 데이터베이스의 OID. |
이 백엔드가 연결된 데이터베이스 이름. |
클러스터링중인 테이블의 OID. |
실행중인 명령. 어느 하나 |
현재 처리 단계. 보다표 27.41. |
인덱스를 사용하여 테이블을 스캔하는 경우 사용중인 인덱스의 OID입니다. 그렇지 않으면 0입니다. |
힙 튜플 수 스캔. 이 카운터는 단계가있는 경우에만 발전합니다 |
쓰여진 힙 튜플 수. 이 카운터는 단계가있는 경우에만 발전합니다 |
테이블의 총 힙 블록 수. 이 숫자는의 시작 부분에서토토 꽁 머니됩니다. |
힙 블록 수 스캔. 이 카운터는 단계가있는 경우에만 발전합니다 |
인덱스 수가 재건되었습니다. 이 카운터는 단계가있는 경우에만 발전합니다 |
표 27.41.클러스터 및 진공 전체 단계
Phase | 설명 |
---|---|
초기화 |
명령은 힙 스캔을 시작할 준비를하고 있습니다. 이 단계는 매우 짧을 것으로 예상됩니다. |
SEQ 스캐닝 힙 |
명령은 현재 순차적 스캔을 사용하여 테이블을 스캔 중입니다. |
인덱스 스캐닝 힙 |
클러스터 현재 인덱스 스캔을 사용하여 테이블을 스캔 중입니다. |
튜플 분류 |
클러스터 현재 튜플을 정렬하고 있습니다. |
새로운 힙 작성 |
클러스터 현재 새로운 힙을 쓰고 있습니다. |
관계 파일 교환 |
명령은 현재 새로 구축 된 파일을 제자리에 교환하고 있습니다. |
인덱스 재건 |
명령이 현재 인덱스 재건 중입니다. |
최종 청소 수행 |
명령은 최종 청소를 수행하고 있습니다. 이 단계가 완료되면클러스터 또는진공 Full 끝날 예정입니다. |
언제든지copy
실행 중입니다.PG_STAT_PROGRESS_COPY
View는 현재 실행중인 각 백엔드 당 하나의 행을 포함합니다COPY
명령. 아래 표는보고 될 정보를 설명하고 해석 방법에 대한 정보를 제공합니다.
표 27.42.PG_STAT_PROGRESS_COPY
보기
열 유형 설명 |
---|
백엔드의 프로세스 ID. |
이 백엔드가 연결된 데이터베이스의 OID. |
이 백엔드가 연결된 데이터베이스 이름. |
테이블의 OID |
실행중인 명령 : |
데이터가 읽거나 작성되는 I/O 유형 : |
이미 처리 된 바이트 수 |
소스 파일 크기 |
이미 처리 된 튜플 수 |
튜플 수는 가공되지 않았기 때문에 |
기형 데이터가 포함되어 있기 때문에 건너 뛰는 튜플 수. 이 카운터는 이외의 값 일 때만 발전합니다. |
언제든지색인 생성
또는Reindex
실행 중입니다.PG_STAT_PROGRESS_CREATE_INDEX
보기에는 현재 인덱스를 생성하는 각 백엔드마다 하나의 행이 포함됩니다. 아래 표는보고 될 정보를 설명하고 해석 방법에 대한 정보를 제공합니다.
표 27.43.PG_STAT_PROGRESS_CREATE_INDEX
보기
열 유형 설명 |
---|
백엔드 생성 인덱스의 프로세스 ID. |
이 백엔드가 연결된 데이터베이스의 OID. |
이 백엔드가 연결된 데이터베이스 이름. |
인덱스가 생성되는 테이블의 OID. |
인덱스의 OID가 생성되거나 다시 표시됩니다. 비 일치하는 동안 |
특정 명령 유형 : |
인덱스 생성의 현재 처리 단계. 보다표 27.44. |
해당되는 경우 기다릴 총 사물함 수. |
이미 기다려온 사물함 수. |
현재 기다리고있는 사물함의 프로세스 ID. |
현재 단계에서 처리 할 총 블록 수. |
현재 단계에서 이미 처리 된 블록 수. |
현재 단계에서 처리 할 튜플의 총 수. |
현재 단계에서 이미 처리 된 튜플 수. |
직접 및 간접 파티션을 포함하여 인덱스가 생성되거나 첨부 될 총 파티션 수. |
직접 및 간접 파티션을 포함하여 인덱스가 이미 생성되거나 첨부 된 파티션 수. |
표 27.44.인덱스 단계 생성
Phase | 설명 |
---|---|
초기화 |
색인 생성 또는Reindex 인덱스 생성을 준비하고 있습니다. 이 단계는 매우 짧을 것으로 예상됩니다. |
빌드 전 작가를 기다리고 있습니다 |
동시에 색인 생성 또는Reindex 동시에 | 테이블이 완료 될 수있는 쓰기 잠금 장치가있는 트랜잭션을 기다리고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.Lockers_Total ,Lockers_done andcurrent_locker_pid 이 단계의 진행 정보를 포함합니다. |
건물 색인 |
인덱스는 액세스 방법 별 코드에 의해 구축되고 있습니다. 이 단계에서 진행 상황보고를 지원하는 액세스 방법은 자체 진행 데이터를 채우고 서브상은이 열에 표시됩니다.blocks_total 및blocks_done 잠재적으로 진행 데이터와 잠재적으로tuples_total 및tuples_done . |
검증 전에 작가를 기다리고 있습니다 |
동시에 색인 생성 또는Reindex 동시에 는 테이블에 쓸 수있는 쓰기 잠금 장치가있는 트랜잭션을 기다리고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.Lockers_Total ,Lockers_done andcurrent_locker_pid 이 단계의 진행 정보를 포함합니다. |
색인 검증 : 스캔 인덱스 |
동시에 색인 생성 검증 해야하는 튜플을 검색하는 인덱스를 스캔하고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.blocks_total (인덱스의 총 크기로 설정) 및blocks_done 이 단계의 진행 정보를 포함합니다. |
색인 검증 : 튜플 정렬 |
동시에 색인 생성 인덱스 스캔 단계의 출력을 정렬합니다. |
색인 검증 : 스캔 테이블 |
동시에 색인 생성 이전 두 단계에서 수집 한 인덱스 튜플을 검증하기 위해 테이블을 스캔합니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.blocks_total (테이블의 총 크기로 설정) 및blocks_done 이 단계의 진행 정보를 포함합니다. |
오래된 스냅 샷을 기다리고 있습니다 |
동시에 색인 생성 또는Reindex 동시에 스냅 샷을 해제하기 위해 테이블을 볼 수있는 트랜잭션을 기다리고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.Lockers_Total ,Lockers_done 및current_locker_pid 이 단계의 진행 정보를 포함합니다. |
죽음을 표시하기 전에 독자를 기다리고 있습니다 |
Reindex 동시에 오래된 색인을 죽이기 전에 테이블의 읽기 잠금 장치가있는 트랜잭션을 기다리고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.Lockers_Total ,Lockers_done andcurrent_locker_pid 이 단계의 진행 정보를 포함합니다. |
떨어지기 전에 독자를 기다리고 있습니다 |
Reindex 동시에 이전 인덱스를 삭제하기 전에 테이블의 읽기 잠금 장치가있는 트랜잭션을 기다리고 있습니다. 이 단계는 동시 모드가 아닌 경우 건너 뜁니다.Lockers_Total ,Lockers_done andcurrent_locker_pid 이 단계의 진행 정보를 포함합니다. |
언제든지진공
실행 중입니다.PG_STAT_PROGRESS_VACUUM
보기에는 현재 진공 청소기가있는 각 백엔드 (Autovacuum Worker 프로세스 포함) 당 하나의 행이 포함됩니다. 아래 표는보고 될 정보를 설명하고 해석 방법에 대한 정보를 제공합니다.진공 Full
명령은를 통해보고됩니다.PG_STAT_PROGRESS_CLUST
왜냐하면 둘 다진공 Full
and클러스터
정기적으로 테이블을 다시 작성하십시오진공
제자리에만 수정합니다. 보다섹션 27.4.2.
표 27.45.PG_STAT_PROGRESS_VACUUM
보기
열 유형 설명 |
---|
백엔드의 프로세스 ID. |
이 백엔드가 연결된 데이터베이스의 OID. |
이 백엔드가 연결된 데이터베이스 이름. |
진공 청소기의 OID. |
진공의 전류 처리 단계. 보다표 27.46. |
테이블의 총 힙 블록 수. 이 숫자는 스캔 초기에토토 꽁 머니됩니다. |
스캔 한 힙 블록 수. 때문에토토 꽁 머니 : 문서 : 개발 : 66.4. 가시성 맵스캔을 최적화하는 데 사용되며 일부 블록은 검사없이 건너 뜁니다. 건너 뛰기 블록은이 총계에 포함 되므로이 숫자는 결국과 동일하게됩니다. |
힙 블록 수는 진공 청소기입니다. 테이블에 인덱스가 없으면이 카운터는 단계가있을 때만 진행됩니다 |
완료된 인덱스 진공주기 수. |
지수 진공주기를 수행하기 전에 저장할 수있는 죽은 튜플 데이터의 양maintenance_work_mem. |
마지막 지수 진공주기 이후 수집 된 죽은 튜플 데이터의 양. |
마지막 지수 진공주기 이후 수집 된 죽은 품목 식별자 수. |
진공 청소기 또는 청소할 총 지수 수. 이 숫자는의 시작 부분에보고됩니다. |
처리 된 인덱스 수. 이 카운터는 단계가있는 경우에만 발전합니다 |
비용 기반 지연으로 인해 수면에 소요되는 총 시간 (참조섹션 19.10.2), 밀리 초 (if)track_cost_delay_timing가 활성화되고 그렇지 않으면 0). 여기에는 관련 평행 근로자가 잤던 시간이 포함됩니다. |
표 27.46.진공 단계
Phase | 설명 |
---|---|
초기화 |
진공 힙 스캔을 시작할 준비를하고 있습니다. 이 단계는 매우 짧을 것으로 예상됩니다. |
스캔 힙 |
진공 현재 힙 스캔 중입니다. 필요한 경우 각 페이지를 잘라 내고 해체 할 수 있으며 동결 활동을 수행 할 수 있습니다.heap_blks_scanned 열을 사용하여 스캔 진행 상황을 모니터링 할 수 있습니다. |
진공 청소기 |
진공 현재 인덱스를 청소하고 있습니다. 테이블에 인덱스가있는 경우 힙이 완전히 스캔 된 후 진공 당 최소 한 번 발생합니다.maintenance_work_mem(또는 Autovacuum의 경우autovacuum_work_mem설정된 경우) 발견 된 죽은 튜플의 수를 저장하기에 충분하지 않습니다. |
힙 진공 청소기 |
진공 현재 힙을 청소하고 있습니다. 힙 진공 청소기는 힙 스캐닝과는 다르며, 각각의 진공 지수 인스턴스 후에 발생합니다.heap_blks_scanned 보다 작습니다heap_blks_total ,이 단계가 완료된 후 시스템이 힙 스캔으로 돌아갑니다. 그렇지 않으면이 단계가 완료된 후 인덱스 정리를 시작합니다. |
인덱스 청소 |
진공 현재 인덱스를 정리하고 있습니다. 이것은 힙이 완전히 스캔되고 모든 인덱스의 진공 청소기가 완료된 후에 발생합니다. |
잘린 힙 |
진공 현재 운영 체제와의 관계가 끝날 때 빈 페이지를 반환하기 위해 힙을 잘라 내고 있습니다. 이것은 인덱스를 청소 한 후에 발생합니다. |
최종 청소 수행 |
진공 최종 청소를 수행하고 있습니다. 이 단계에서진공 여유 공간 맵을 청소하고 통계를 업데이트합니다PG_CLASS 및 누적 통계 시스템에 대한 통계를보고합니다. 이 단계가 완료되면진공 끝날 예정입니다. |
응용 프로그램이 좋아질 때마다PG_BASEBACKUP기본 백업을 받고 있습니다.PG_STAT_PROGRESS_BASEBACKUP
보기는 현재 실행중인 각 WAL 발신자 프로세스에 대한 행이 포함됩니다Base_backup
복제 명령 및 백업 스트리밍. 아래 표는보고 될 정보를 설명하고 해석 방법에 대한 정보를 제공합니다.
표 27.47.PG_STAT_PROGRESS_BASEBACKUP
보기
열 유형 설명 |
---|
WAL 발신자 프로세스의 프로세스 ID. |
현재 처리 단계. 보다표 27.48. |
스트리밍 될 총 데이터의 양. 이것은의 시작시 추정되고토토 꽁 머니됩니다. |
스트리밍 된 데이터 양. 이 카운터는 단계가있는 경우에만 발전합니다 |
스트리밍 될 테이블 스페이스의 총 수. |
스트리밍 된 테이블 스페이스 수. 이 카운터는 단계가있는 경우에만 발전합니다 |
표 27.48.기본 백업 단계
Phase | 설명 |
---|---|
초기화 |
WAL 발신자 프로세스는 백업을 시작할 준비를하고 있습니다. 이 단계는 매우 짧을 것으로 예상됩니다. |
검문소가 끝날 때까지 기다리고 있습니다 |
WAL 발신자 프로세스가 현재 수행 중입니다pg_backup_start 베이스 백업을 준비하고 백업 시작 체크 포인트가 완료되기를 기다리고 있습니다. |
백업 크기 추정 |
WAL Sender 프로세스는 현재 기본 백업으로 스트리밍 될 총 데이터베이스 파일의 총량을 추정하고 있습니다. |
스트리밍 데이터베이스 파일 |
WAL Sender 프로세스는 현재 데이터베이스 파일을 기본 백업으로 스트리밍하고 있습니다. |
WAL 아카이브가 끝날 때까지 기다리고 있습니다 |
WAL 발신자 프로세스가 현재 수행 중입니다pg_backup_stop 백업을 완료하고베이스 백업이 성공적으로 보관되기 위해 필요한 모든 왈 파일을 기다리고 있습니다. 둘 중 하나-wal-method = none 또는-wal-method = stream PG_BASEBACKUP,이 단계가 완료되면 백업이 종료됩니다. |
WAL 파일 전송 |
WAL Sender 프로세스는 현재 백업 중에 생성 된 모든 WAL 로그를 전송하고 있습니다. 이 단계는 이후에 발생합니다.WAL 아카이브가 끝날 때까지 기다리고 있습니다 위상 if-wal-method = fetch PG_BASEBACKUP. 이 단계가 완료되면 백업이 종료됩니다. |