how much disk space does a VACUUM FULL take?

From: john gale <john(at)smadness(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: how much disk space does a VACUUM FULL take?
Date: 2013-12-03 21:04:54
Message-ID: 112C77C0-FBDA-4AFD-9956-250E83097182@smadness.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


Due to running low on disk space, we have recently removed a majority of rows from a table to an archival DB.

Although VACUUM allows disk space to be re-used, VACUUM FULL is the only one that actively reclaims disk space for use by the OS. http://www.postgresql.org/docs/9.0/static/routine-vacuuming.html

For a variety of reasons I would prefer disk usage to be as low as possible, thus I would like to run a VACUUM FULL during some maintenance cycle (since it exclusively locks the table). However, given the details of VACUUM FULL:

> VACUUM FULL actively compacts tables by writing a complete new version of the table file with no dead space. This minimizes the size of the table, but can take a long time. It also requires extra disk space for the new copy of the table, until the operation completes.

Does this suggest that VACUUM FULL needs free disk space on the order of the full size of the table that it's vacuuming to be able to complete? Or does it / can it write the filesystem files in the 1GB chunks stored in /base while removing the new "unused" files at the same time, thus requiring only a few GB of free space?

thanks,

~ john

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2013-12-03 22:15:21 Re: Timing for release with fix for "Nov2013ReplicationIssue"
Previous Message Steven Schlansker 2013-12-03 20:51:32 Timing for release with fix for "Nov2013ReplicationIssue"