Какой параметр для настройки автовакуума для СУБД PostgreSQL эффективнее использовать для очень больших таблиц : autovacuum_vacuum_scale_factor или autovacuum_vacuum_threshold ? Для очень больших таблиц в PostgreSQL эффективнее использовать параметр autovacuum_vacuum_threshold, а не autovacuum_vacuum_scale_factor. Вот обоснование: 1. Уменьшить scale_factor: ALTER TABLE big_table SET (autovacuum_vacuum_scale_factor = 0.01); -- 1% Для таблицы на 1 млрд строк порог: 50 + 0.01 * 1e9 = 10 000 050. 2. Увеличить threshold: ALTER TABLE big_table SET (autovacuum_vacuum_threshold = 1000000); Порог: 1 000 000 (фиксированный, без умножения на размер). 3.Комбинировать параметры: ALTER TABLE big_table SET ( autovacuum_vacuum_scale_factor = 0.005, -- 0.5% autovacuum_vacuum_threshold = 500000 ); Формула: 500 000 + 0.005 * N. ALTER TABLE big_table SET (autovacuum_vacuum_cost_limit = 2000); -- вместо 200 по умолчанию autovacuum_naptime (уменьшить интервал проверок). Для очень больших таблиц:
PostgreSQL : autovacuum_vacuum_scale_factor или autovacuum_vacuum_threshold ?
27 июня 202527 июн 2025
2
2 мин