Данные настройки управляют поведением autovacuum. См. раздел Раздел 3.9.1.6 для получения дополнительной информации. Обратите внимание, что многие из этих настроек могут быть переопределены на уровне отдельных таблиц; см. Параметры хранения.
autovacuum (boolean)
#
Определяет, должен ли сервер запускать
процесс-планировщик автоочистки (autovacuum launcher). Данный параметр включен по умолчанию; однако
track_counts также должен быть включен для
функционирования автоочистки.
Данный параметр может быть установлен только в postgresql.conf
файле или в командной строке сервера; тем не менее выполнение автоочистки может быть
отключено для отдельных таблиц путем изменения параметров хранения таблиц.
Обратите внимание: даже если данный параметр отключен, система будет запускать процессы автоочистки при необходимости для предотвращения зацикливания идентификаторов транзакций (transaction ID wraparound). См. Раздел 3.9.1.5 для получения дополнительной информации.
autovacuum_max_workers (integer)
#Задает максимальное количество процессов автоочистки (за исключением планировщика автоочистки), которые могут выполняться одновременно. Значение по умолчанию — три. Данный параметр может быть установлен только при запуске сервера.
qdb_autovacuum_max_db_workers (integer)
#
Ограничивает максимальное количество процессов автоочистки для конкретной базы данных.
Значение 0 означает отсутствие ограничения. Значение по умолчанию —
0. Устанавливается для каждой базы данных отдельно.
autovacuum_naptime (integer)
#
Задает минимальную задержку между запусками автоочистки в любой заданной
базы данных. В каждом цикле процесс-планировщик анализирует
базу данных и инициирует выполнение VACUUM и ANALYZE команд
по мере необходимости для таблиц в этой базе данных.
Если данное значение указано без указания единиц измерения, оно интерпретируется как значение в секундах.
Значение по умолчанию — одна минута (1min).
Данный параметр может быть установлен только в postgresql.conf
файле или в командной строке сервера.
autovacuum_vacuum_threshold (integer)
#
Определяет минимальное количество обновленных или удаленных кортежей, необходимое
для запуска операции VACUUM в любой отдельной таблице.
Значение по умолчанию составляет 50 кортежей.
Данный параметр может быть установлен только в postgresql.conf
файле или в командной строке сервера;
однако данный параметр можно переопределить для отдельных таблиц путем
изменения параметров хранения таблицы.
autovacuum_vacuum_insert_threshold (integer)
#
Определяет количество вставленных кортежей, необходимое для запуска операции
VACUUM в любой отдельной таблице.
Значение по умолчанию составляет 1000 кортежей. Если указано значение -1, процесс autovacuum не будет
запускать операцию VACUUM в любых таблицах на основании
количества операций вставки.
Данный параметр может быть установлен только в postgresql.conf
файле или в командной строке сервера;
однако данный параметр можно переопределить для отдельных таблиц путем
изменения параметров хранения таблицы.
autovacuum_analyze_threshold (integer)
#
Определяет минимальное количество вставленных, обновленных или удаленных кортежей,
необходимое для запуска ANALYZE в любой отдельной таблице.
Значение по умолчанию составляет 50 кортежей.
Данный параметр может быть установлен только в postgresql.conf
файле или в командной строке сервера;
однако данный параметр можно переопределить для отдельных таблиц путем
изменения параметров хранения таблицы.
autovacuum_vacuum_scale_factor (floating point)
#
Определяет долю от размера таблицы, которую необходимо добавить к значению
autovacuum_vacuum_threshold
при принятии решения о запуске операции VACUUM.
Значение по умолчанию — 0.2 (20 % от размера таблицы).
Данный параметр может быть установлен только в postgresql.conf
файле или в командной строке сервера;
однако данный параметр можно переопределить для отдельных таблиц путем
изменения параметров хранения таблицы.
autovacuum_vacuum_insert_scale_factor (floating point)
#
Определяет долю от размера таблицы, которую необходимо добавить к значению
autovacuum_vacuum_insert_threshold
при принятии решения о запуске операции VACUUM.
Значение по умолчанию — 0.2 (20 % от размера таблицы).
Данный параметр может быть установлен только в postgresql.conf
файле или в командной строке сервера;
однако данный параметр можно переопределить для отдельных таблиц путем
изменения параметров хранения таблицы.
autovacuum_analyze_scale_factor (floating point)
#
Определяет долю от размера таблицы, которую необходимо добавить к значению
autovacuum_analyze_threshold
при принятии решения о запуске операции ANALYZE.
Значение по умолчанию — 0.1 (10 % от размера таблицы).
Данный параметр может быть установлен только в postgresql.conf
файле или в командной строке сервера;
однако данный параметр можно переопределить для отдельных таблиц путем
изменения параметров хранения таблицы.
autovacuum_freeze_max_age (integer)
#
Определяет максимальный возраст (в транзакциях), которого может
pg_class.relfrozenxid достичь поле
таблицы до того, как VACUUM будет принудительно выполнена операция
для предотвращения зацикливания идентификаторов транзакций (wraparound) в таблице.
Следует учитывать, что система будет запускать процессы autovacuum для
предотвращения зацикливания, даже если использование автоочистки запрещено другими настройками.
Операция Vacuum также позволяет удалять старые файлы из
pg_xact подкаталога, поэтому значение по умолчанию
составляет относительно небольшую величину в 200 миллионов транзакций.
Данный параметр можно установить только при запуске сервера, но его значение
может быть уменьшено для отдельных таблиц с помощью
изменения параметров хранения таблицы.
Для получения дополнительной информации см. Раздел 3.9.1.5.
autovacuum_multixact_freeze_max_age (integer)
#
Определяет максимальный возраст (в мультитранзакциях, multixacts), которого может
pg_class.relminmxid достичь поле
таблицы до того, как VACUUM операция выполняется в принудительном порядке для
предотвращения зацикливания идентификаторов мультитранзакций (multixact ID) внутри таблицы.
Следует учитывать, что система будет запускать процессы autovacuum для
предотвращения зацикливания, даже если использование автоочистки запрещено другими настройками.
Очистка мультитранзакций также позволяет удалять устаревшие файлы из
pg_multixact/members и pg_multixact/offsets
подкаталогов, в связи с чем по умолчанию установлено относительно низкое значение —
400 миллионов мультитранзакций.
Данный параметр может быть задан только при запуске сервера, однако его значение
может быть уменьшено для отдельных таблиц путем изменения параметров хранения таблицы.
Для получения дополнительной информации см. Раздел 3.9.1.5.1.
autovacuum_vacuum_cost_delay (floating point)
#
Задает значение задержки по стоимости, используемое при выполнении автоматических
VACUUM операций. Если указано значение -1, будет использоваться стандартное
vacuum_cost_delay значение.
Если данное значение указано без единиц измерения, оно интерпретируется в миллисекундах.
Значение по умолчанию составляет 2 миллисекунды.
Данный параметр может быть установлен только в postgresql.conf
файле или в командной строке сервера;
однако данный параметр можно переопределить для отдельных таблиц путем
изменения параметров хранения таблицы.
autovacuum_vacuum_cost_limit (integer)
#
Задает предельное значение стоимости, используемое при выполнении автоматических
VACUUM операций. Если указано значение -1 (которое является
значением по умолчанию), будет использоваться стандартное
vacuum_cost_limit значение. Следует учитывать, что
данное значение распределяется пропорционально между запущенными рабочими процессами автоочистки,
если их несколько, таким образом, чтобы сумма пределов для
каждого рабочего процесса не превышает значения данного параметра.
Данный параметр может быть установлен только в postgresql.conf
файле или в командной строке сервера;
однако данный параметр можно переопределить для отдельных таблиц путем
изменения параметров хранения таблицы.