Выполнить вакуум онлайн

Я новичок в PostgreSQL, поэтому я надеюсь, что этот вопрос в порядке.

Если я хочу выполнить вакуумную операцию (ручную или автоматическую).

Может ли эта операция создать проблемы для конечных пользователей или что-то еще с запросами или другими командами DML?

Я использую версию 9.6


person user2671057    schedule 02.05.2018    source источник
comment
PostgreSQL 9.6.6 на x86_64-pc-linux-gnu, скомпилированный gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4, 64-разрядная версия   -  person user2671057    schedule 02.05.2018


Ответы (1)


У вакуума есть стоимость с точки зрения операций ввода-вывода в базе данных, но, как и в документации:

Обычный VACUUM (без FULL) просто высвобождает пространство и делает его доступным для повторного использования. Эта форма команды может работать параллельно с обычным чтением и записью таблицы, так как монопольная блокировка не получается.

Если вам нужен ПОЛНЫЙ вакуум, чтобы освободить место для ОС:

Выбирает «полную» очистку, которая может освободить больше места, но занимает гораздо больше времени и блокирует исключительно таблицу.

Вы можете копнуть глубже здесь: https://www.postgresql.org/docs/current/static/sql-vacuum.html

person user_0    schedule 02.05.2018
comment
Спасибо! так что если это вакуум без полного нет ожидаемых проблем, верно? - person user2671057; 02.05.2018
comment
Правильный. Просто большая нагрузка на систему, но без блокировок. - person user_0; 02.05.2018
comment
Никаких блокировок, но, может быть, это может вызвать проблемы с производительностью, не так ли? - person user2671057; 02.05.2018
comment
Точный. Если вы запускаете его часто, влияние минимально. Просто считайте свою нагрузку. - person user_0; 02.05.2018