'분류 전체보기'에 해당되는 글 268건

  1. 2022.04.23 Postgresql vacuum 설정

Postgresql vacuum 설정

|

PostgreSQL는 vacuum을 통해서 테이블 사용하는 공간에 대한 최적화 및 cleanup을 진행

해당 설정은 postgresql.conf에서 지정
 

1) vacuum wakeup 설정

   autovacuum_naptime = 1   (1분마다 실행)

2) vacuum worker 프로세스 설정

   autovacuum_max_workers = 3  (3개 worker fork)

3) vacuum 수행 기준

   autovacuum_vacuum_threshold = 50    (50개 row이상 변경시 공간 정리)

   autovacuum_analyze_threshod = 50     (50개 row이상 변경시 통계 정보 수집)

   autovacuum_vacuum_scale_factor = 0.2   (전체 데이터중 20%이상 변경시 공간 정리)

   autovacuum_analyze_scale_factor = 0.1   (전체 데이터중 10%이상 변경시 통계 정보 수집)

 

vacuum full은 테이블에 lock을 걸고 전체를 rewrite하는 작업을 함으로 큰 테이블에 대해서는 안하는게 좋음


CREATE TABLE test (id int) WITH (autovacuum_enabled = off);   -- vacuum off

INSERT INTO test SELECT * FROM generate_series(1, 100000);

SELECT pg_size_pretty(pg_relation_size('test'));  -- table size check

VACUUM test;

delete하고 나서 연속된 공간이 확보되지 않는 이상 vacuum를 진행한다고 해도 사이즈는 줄어들 가능성이 없음

And
prev | 1 | ··· | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ··· | 268 | next