On a Postgres 9.1 installation, I'm trying to reduce the amount of Postgres' disk usage by dropping records from tables and then running VACUUM FULL on those tables. My understanding of VACUUM FULL is that it should give disk space back to the OS, but I'm finding that this doesn't consistently happen. For one of the tables, the DELETEs and VACUUM FULL ran successfully, and the pg_database table reports a smaller size, but the disk space actually increased slightly. I can see why disk usage goes up temporarily during a VACUUM FULL operation, but the disk usage doesn't go back down afterward.

My question is, why is the disk space not being freed back to the OS after the VACUUM FULL completes? Is there something I'm missing?

edit (for posterity) This is running on CentOS 6.3, and WAL archiving is enabled.

  • 4
    WAL archives? Does pg_xlog grow during the vacuum full? Use the OS to find out what's growing - whether it's within PostgreSQL's datadir or not, and if it is, which part is growing. Does executing a CHECKPOINT reduce the size again? Feb 27, 2014 at 2:19
  • After VACUUM FULL ,did the table size become smaller?
    – francs
    Feb 27, 2014 at 7:42

1 Answer 1


Craig's comment was spot on--the WAL files were where the space was going. An earlier-than-usual rm gave us the space back.

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .