Эти параметры управляют поведением механизма фоновой заморозки. За дополнительными сведениями обратитесь к Разделу 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.