"David G. Johnston" <david.g.johnston@gmail.com> writes:
> On Sunday, June 30, 2024, Wing Kin Chong <Wing.Chong@mii.com> wrote:
>> Allow the VACUUM function using the system Environment Variables "TEMP" or
>> "TMP" please.
> The vacuum full command is what you are describing, right?
> Not going to happen - the added space is not for temporary data, it’s for
> the real new table being built. We’d have to move the data at the end of
> the command if it was anywhere besides the data directory.
Also, this would do exactly nothing to reduce the peak disk space
usage. The fundamental problem for VACUUM FULL is that it can't
safely unlink the old table/index files until the new ones are fully
built and fsync'd. Having a temporary copy somewhere else doesn't
alleviate that. (In fact, if the "somewhere else" isn't on a
physically different file system, the third copy would make things
very much worse.)
regards, tom lane