Вопросы к Поиску с Алисой
Разница между VACUUM и VACUUM FULL в PostgreSQL заключается в уровне агрессивности освобождения пространства для хранения. www.percona.com
VACUUM анализирует и освобождает пространство в базе данных PostgreSQL. www.percona.com Когда строки в таблице удаляются или обновляются, занятое ими пространство не освобождается сразу, а отмечается как доступное для будущего использования. www.percona.com Этой команде не нужен доступ к таблице, что позволяет другим транзакциям одновременно читать и писать в неё. www.percona.com
VACUUM FULL — более интенсивная операция. codedamn.com Она не только удаляет мёртвые строки, но и уплотняет таблицу и возвращает пространство в файловую систему. codedamn.com Для завершения операции требуется эксклюзивный доступ к таблице, во время её выполнения другие транзакции не могут читать или писать в неё. www.percona.com
Таким образом, VACUUM — это лёгкая и быстрая операция, которая отмечает пространство как доступное для повторного использования, в то время как VACUUM FULL физически перестраивает данные и сжимает хранилище, обеспечивая более тщательную очистку. www.percona.com