[PostgreSQL] VACUUM
maintenance_work_mem : VACUUM, CREATE INDEX, ALTER TABLE ADD FOREIGN KEY 등의 작업에 할당된 메모리 양을 설정합니다.
자동 VACUUM이 아닌 수동 VACUUM 시 사용됩니다.
(기본값: 64MB)
autovacuum_work_mem : 자동 VACUUM 작업에 사용되는 메모리 양을 설정합니다.
autovacuum_max_workers : 동시에 실행될 수 있는 자동 VACUUM 프로세스의 최대 개수를 설정합니다. (기본값: 3)
autovacuum_naptime : 각 자동 VACUUM 프로세스가 다음 작업을 시작하기 전 대기하는 시간 간격을 설정합니다.
autovacuum_vacuum_threshold : 자동 VACUUM이 시작되기 위한 기본 임계값을 설정합니다. (기본값: 50)
autovacuum_vacuum_scale_factor : 각 테이블의 크기에 비례하여 VACUUM이 시작되는 비율을 설정합니다.
기본값: 0.2 (20%)
autovacuum_ vacuum_cost_delay : VACUUM 작업의 대기 시간을 설정 (ms)
autovacuum_ vacuum_cost_limit : VACUUM의 비용 한도
autovacuum_freeze_max_age : XID가 랩어라운드 되기 전 테이블을 VACUUM하는 임계값
autovacuum_analyze_threshold : ANALYZE가 시작되는 기본 임계값
autovacuum_analyze_scale_factor : ANALYZE의 비율 설정 0.1
log_autovacuum_min_duration : 자동 VACUUM (autovacuum) 작업의 활동을 모니터링하는 데 사용되는 중요한 PostgreSQL 파라미터
autovacuum 작업이 시작된 후 해당 작업의 소요 시간을 로깅하는 데 사용됩니다.
설정된 시간(밀리초)보다 오래 걸린 autovacuum 작업만 로깅합니다.
기본값: -1 (비활성화)
단위: 밀리초 (ms)
#postgresql.conf 파일에서 설정
log_autovacuum_min_duration = 1000 # 1초
#실행 중인 서버에서 즉시 적용
ALTER SYSTEM SET log_autovacuum_min_duration = 1000;
SELECT pg_reload_conf();
#세션 단위 설정
SET log_autovacuum_min_duration = 500;
pg_catalog.pg_stat_progress_vacuum : 현재 진행 중인 VACUUM 작업의 상태를 모니터링하는 시스템 뷰