Настройки AUTOVACUUM

В этой статье приведу основные настройки для команды AUTOVACUUM, доступные в файле конфигураци postgresql.conf сервера PostgreSQL.

Ниже приведена таблица со всеми параметрами, которые можно использовать для настройки AUTOVACUUM.

Имя: autovacuum
Тип: boolean
Описание: Включает/выключает AUTOVACUUM на уровне сервера. Включен по умолчанию. Однако, track_counts также должен быть включен, что бы AUTOVACUUM мог работать. Этот параметр может быть установлен только в файле postgresql.conf или в командной строке сервера.

Обратите внимание, что даже если этот параметр отключен, система запустит автовакуумной процессы в случае необходимости для предотвращения transaction ID wraparound.

Имя: log_autovacuum_min_duration
Тип: integer
Описание: Заставляет логировать все действия AUTOVACUUM, которые дляться дольше заданного количества миллисекунд. Установка этого значения в ноль логирует все действия. Минус один (по умолчанию) отключает ведение журнала. Кроме того, если этот параметр установлен на любое значение, отличное от -1, сообщение будет зарегистрировано, если действие пропускается из-за существования конфликтующей блокировки. Этот параметр может быть установлен только в файле postgresql.conf или в командной строке сервера.

Имя: autovacuum_max_workers
Тип: integer
Описание: Задает максимальное число рабочих процессов, которые могут быть запущены в любой момент времени. Значение по умолчанию равно 3. Этот параметр может быть установлен только при запуске сервера.

Имя: autovacuum_naptime
Тип: integer
Описание: Определяет минимальную задержку между запусками AUTOVACUUM для любой базы данных. В каждом раунде демон анализирует базу данных и запускает команды VACUUM и ANALYZE для таблиц, которые необходимо обработать по результатам анализа. Задержка измеряется в секундах, по умолчанию одна минута (1мин). Этот параметр может быть установлен только в файле postgresql.conf или в командной строке сервера.

Имя: autovacuum_vacuum_threshold
Тип: integer
Описание: Указывает минимальное количество обновленных или удаленных кортежей, необходимое, чтобы вызвать команду VACUUM для таблицы. Значение по умолчанию составляет 50 кортежей. Этот параметр может быть установлен только в файле 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_analyze_scale_factor
Тип: floating point
Описание: Задает часть размера таблицы, чтобы добавить к autovacuum_analyze_threshold при принятии решения для вызова команды ANALYZE. Значение по умолчанию составляет 0,1 (10% от размера таблицы). Этот параметр может быть установлен только в файле postgresql.conf или в командной строке сервера. Этот параметр можно переопределить для отдельных таблиц путем изменения параметров хранения.

Имя: autovacuum_vacuum_cost_delay
Тип: integer
Описание: Задает значение задержки стоимости, которая будет использоваться для автоматического режима операции VACUUM. Если задано значение -1, будет использоваться регулярное значение vacuum_cost_delay. Значение по умолчанию составляет 20 миллисекунд. Этот параметр может быть установлен только в файле postgresql.conf или в командной строке сервера. Этот параметр можно переопределить для отдельных таблиц путем изменения параметров хранения.

Имя: autovacuum_vacuum_cost_limit
Тип: integer
Описание: Задает предельное значение стоимости, которое будет использоваться для автоматического режима операции VACUUM. Если задано значение -1 (это значение по умолчанию), будет использоваться регулярное значение vacuum_cost_limit. Обратите внимание, что значение распределяется пропорционально между всеми запущенными рабочими процессами автовакуума. Так что если запущенно более одного процесса, то сумма пределов каждого рабочего процесса никогда не превышает предел этой переменной. Этот параметр может быть установлен только в файле postgresql.conf или в командной строке сервера. Этот параметр можно переопределить для отдельных таблиц путем изменения параметров хранения.

Добавить комментарий

Ваш e-mail не будет опубликован.