Hannu Krosing <hannu(at)skype(dot)net> writes:
> At some point I had to compress a very busily updated table. I used the
> following approach:
> [ move a few rows at a time ]
We could possibly do something similar with VACUUM FULL as well: once
maintenance_work_mem is filled, start discarding per-page data to stay
under the memory limit. This would mean that some area near the middle
of the table remains uncompacted, but it would allow putting an upper
bound on the time and space used by any one pass of VACUUM FULL ...
regards, tom lane