If you actually expect it to be re-used by the database sometime
later, I would just stick with normal VACUUM (with adequate fsm
It may or may not be used again. Although disk is cheap, it is a substantial amount of space, and I'd prefer it wasn't locked-up forever.
For a bit of extra context, the database is embedded within a piece of software, which is the source of the uncertainty. If it was something I could manage myself, I would just run the VACUUM FULL by hand at those times when I knew it was necessary. As it stands, it's not predictable, and users also tend to be less accepting of having that space locked up.
That's why I'm interested in more information on the memory & disk requirements of the various maintenance functions. The main reason I've stayed away from CLUSTER is because of the disk requirement. But I had no idea it was possible for VACUUM FULL to run out of memory under normal conditions, so I may need to reconsider the options.
David