Прочитав документацию Postgresql, мы обнаружили, что это рекомендуется для ежедневного выполнения задач Vacuum:
Мы рекомендуем часто очищать активные производственные базы данных (по крайней мере, каждую ночь), чтобы удалить мертвые строки.
Тем не менее, мы рассматриваем возможность ежедневного выполнения задач Reindex, но мы обеспокоены возможными последствиями этого (например, размер базы данных может увеличиться в результате ежедневной переиндексации)
Как часто вы запускаете задачи Vacuum в своих БД?
Все время (с autovacuum=on
), а также еженедельно с vacuumdb -avz
, вывод журнала в файл.
Как часто вы запускаете задачи Reindex в своих БД?
Только при необходимости. Чтобы проверить, нужен ли он, см. -> http://bucardo.org/check_postgres/check_postgres.pl.html#bloat, http://wiki.postgresql.org/wiki/Show_database_bloat
Что мы должны учитывать при переиндексации БД (какие негативные последствия это может привести?)
Ненужный ввод-вывод, ненужная блокировка.