Is there anyway of freeing up disk space after a major delete without using VACUUM?
When I was learning about postgres I created a very large (unpartitioned) table that has since swollen to nearly 1 TByte.
To rectify this I decided I needed to partition the table by month.
I created a table for one months data and populated it with this....
WITH archived_rows AS ( DELETE FROM tabArc WHERE fixTime >= DATE '2018-02-01' AND fixTime < DATE '2018-03-01' RETURNING * ) INSERT INTO tabArc_201802 SELECT * FROM archived_rows;
This worked fine, the new table has a months worth of data, the old table has a months less. The problem is that the disk it was on has now swollen to about 90% full, so there no room to do a similar process with a second months worth of data.
The reason isn't complicated - the big table hasn't freed up any space.
The catch is that I've never managed to do a VACUUM on this table because I simply run out of time, I've let the process run for over 24 hours and it hasn't completed.
Is there any other way to free up space? or to speed up the VACCUM process? I can't continue to partition the data until I have some more space!