12
Настройка
Конфигурационные параметры
vacuum_freeze_min_age = 0 50 000 000
vacuum_freeze_table_age = 150 000 000
autovacuum_freeze_max_age = 200 000 000
vacuum_failsafe_age = 1 600 000 000
Параметры хранения таблиц
autovacuum_freeze_min_age
toast.autovacuum_freeze_min_age
autovacuum_freeze_table_age
toast.autovacuum_freeze_table_age
autovacuum_freeze_max_age
toast.autovacuum_freeze_max_age
↑?
Значения по умолчанию довольно консервативны. Предел для
autovacuum_freeze_max_age – порядка 2 млрд транзакций,
а используется значение в 10 раз меньшее. Можно увеличить значения
vacuum_freeze_table_age и autovacuum_freeze_max_age для
уменьшения накладных расходов, но важно понимать, что если по
каким-то причинам (например, из-за незавершенной транзакции)
автоочистка вовремя не справится с заморозкой, у администратора
останется мало времени для принятия мер. Заметьте, что изменение
параметра autovacuum_freeze_max_age требует перезапуска сервера.
Значение по умолчанию vacuum_failsafe_age значительно больше, чем
autovacuum_freeze_max_age, и если до исчерпания номеров останется
мало времени, защитный режим ускорит заморозку.
Отметим, что сервер может скорректировать установленные значения
параметров vacuum_freeze_min_age, vacuum_freeze_table_age и
vacuum_failsafe_age исходя из значения autovacuum_freeze_max_age.
Ряд параметров также можно устанавливать на уровне отдельных
таблиц с помощью параметров хранения. Это имеет смысл делать
только в особенных случаях, когда таблица действительно требует
особого обхождения. Заметьте, что имена параметров на уровне таблиц
немного отличаются от имен конфигурационных параметров.
В модуле «Блокировки» рассматриваются т. н. мультитранзакции
и дополнительные параметры настройки заморозки для них.