Space required for VACUUM FULL table
It is recommended to have the free space at least equal to size of largest table in the database.
i.e, if your database size is 10GB and the largest table size on your database is 2GB. Then you must have at least 2GB of extra space on your disk, in order to complete the vacuum successfully.
Because VACUUM FULL will create a new copy of the table, excluding the dead rows and then remove the existing tables.
The additional space required by VACUUM (FULL)
depends on the number of live rows in the table.
What happens during VACUUM (FULL)
is that a new copy of the table is written.
All live tuples (= row versions) and the dead tuples that cannot be removed yet will be written to this new copy.
When the transaction finishes, the old copy will be removed.