19.11. Фоновая заморозка #
Эти параметры управляют поведением механизма фоновой заморозки. За дополнительными сведениями обратитесь к Разделу 24.2.
enable_background_freezer(boolean) #Включает или отключает отправку сообщений рабочему процессу фоновой заморозки через UDP-сокет. Этот параметр конфигурации можно установить в файле
postgresql.confили это может сделать суперпользователь в рамках сеанса. Значение по умолчанию —off.bgfreezer_pages_per_rel_to_clean(integer) #Задаёт количество страниц, которое рабочий процесс фоновой заморозки накапливает в очереди для каждой таблицы, чтобы начать очистку. Например, при значении параметра
bgfreezer_pages_per_rel_to_clean=128рабочий процесс накопит в очереди по крайней мере 128 страниц и начнёт их обрабатывать после завершения транзакции. Если задано значение0, находящиеся в очереди страницы начнут обрабатываться после завершения каждой транзакции. Этот параметр конфигурации можно установить в файлеpostgresql.confили отправив сигнал SIGHUP главному серверному процессу. Значение по умолчанию —128.bgfreezer_max_pages_per_rel(integer) #Задаёт максимальное количество страниц таблицы, которое может быть помещено в очередь для очистки. При достижении этого значения накопление страниц прекращается, и новые страницы начинают вытеснять из очереди старые. Этот параметр конфигурации можно установить в файле
postgresql.confили отправив сигнал SIGHUP главному серверному процессу. Значение по умолчанию —32768.bgfreezer_log(integer) #Задаёт правила протоколирования процесса фоновой заморозки. Возможные значения:
0: протоколирование отключено.1: статистика по страницам и кортежам протоколируется после обработки каждой очереди для очистки и заморозки.2: статистика по страницам и кортежам протоколируется после обработки каждой второй очереди для очистки и заморозки. В этом случае вывод в журнале содержит информацию, накопленную во время обработки двух очередей, кроме значенийзначение_2изначение_3, которые возвращаются для последней обработанной очереди и отражают её текущее состояние.
Если
bgfreezer_logвключён, механизм фоновой заморозки протоколирует сообщения в следующем формате:LOG: background freezer:
значение_1pages processed (значение_2non-unique;значение_3left),значение_4frozen,значение_5all visible;значение_6tuples frozen;значение_7tuples deleted.Под значениями подразумевается следующее:
значение_1: количество обработанных страниц.значение_2: количество обработанных неуникальных страниц, помещённых в очередь на очистку и заморозку во время обработки последней очереди. Как правило, это значение не совпадает сзначением_1, поскольку страницы могут дублироваться. В таких случаях обрабатывается только первая страница из дубликатов.значение_3: количество страниц, оставшихся после обработки последней очереди на очистку и заморозку.значение_4: количество замороженных страниц.значение_5: количество страниц, помеченных как полностью видимые.значение_6: количество замороженных кортежей на страницах.значение_7: количество удалённых кортежей на страницах.
Каждый раз, когда механизм фоновой заморозки выдаёт сообщение в журнал, сбрасывается счётчик страниц и кортежей, перечисленных выше.
Этот параметр конфигурации можно установить в файле
postgresql.confили отправив сигнал SIGHUP главному серверному процессу. Значение по умолчанию —0.