Команда VACUUM FULL в PostgreSQL выполняет полную перестройку таблицы и всех её индексов. 2 Это освобождает максимальное количество неиспользуемого пространства в операционной системе, но требует эксклюзивной блокировки таблицы и может быть значительно медленнее обычного VACUUM. 2
Режим FULL не рекомендуется для обычного применения, но в некоторых случаях он бывает полезен, например, когда были удалены или изменены почти все строки таблицы, и нужно физически сжать её, чтобы освободить место на диске и ускорить сканирование этой таблицы. 1
Также VACUUM FULL требует дополнительное место на диске, так как записывает новую копию таблицы и не освобождает старую до завершения операции. 1
Режим ACCESS EXCLUSIVE гарантирует, что кроме транзакции, получившей эту блокировку, никакая другая транзакция не может обращаться к таблице каким-либо способом. 2