title: PostgreSQL VACUUM(FULL, ANALYZE, VERBOSE) Duration 1.6T Table
body: <p>We have a large table (1.6T) and deleted 60% of the records, and want to reclaim that space for the OS and file system. We're running PostgreSQL 9.4 (we're stuck on that pending a major software upgrade).</p>
  
  <p>We need that space, as we're down to 100GB and when materialized views are refreshed we're running out of space on the server.</p>
  
  <p>I tried running <code>VACUUM(FULL, ANALYZE, VERBOSE) schema.tablename</code> and let it run for 24 hours last weekend, but had to cancel it to get the server back online.</p>
  
  <p>I'm running it again this weekend, after deleting the indexes (I'm hoping that will speed it up so it will finish). So far there is no output or indication of progress. I created a tablespace on another SSD array and set it up as temp space using <code>temp_tablespaces = 'name_of_other_tablespaces'</code>, but <code>du -chs</code> shows it is still empty.</p>
  
  <p>The query shows <code>active</code>, but since disk usage isn't increasing it just feels like it's just sitting there, making no noise and pretending it's not there.</p>
  
  <p>This is on a server with 512GB of RAM and a RAID 10 array of very fast enterprise SSDs. Is there any way to get progress and know that something is actually happening and that it's working? Any guesses as to duration, or other suggestions?</p>