title: Postgres Vacuum doesnt free up space
body: <p>I have a table in my database which is occupying 161GB hard disk space. Only 5 gb free space is left out of 200Gb harddisk.</p>
  
  <ol>
  <li><p>The following command shows that my table is consuming 161GB harddisk space,<br>
  <code>select pg_size_pretty(pg_total_relation_size('Employee'));</code></p></li>
  <li><p>There are close to 527 rows in the table. Now I deleted 250 rows. Again I checked the pg_total_relation_size of Employee. Still the size is 161GB.</p></li>
  <li><p>After seeing the output of the above query, I ran the vacuum command:<br>
  <code>VACUUM VERBOSE ANALYZE Employee;</code></p></li>
  <li><p>I checked if the VACUUM actually happened using,<br>
  <code>SELECT relname, last_vacuum, last_autovacuum FROM pg_stat_user_tables;</code>
  I can see the last vacuum time matching the time I ran the VACUUM command.</p></li>
  <li><p>I also ran the below command to see if there any dead tuples,<br>
  <code>SELECT relname, n_dead_tup FROM pg_stat_user_tables</code>;
  n_dead_tup count for Employee table is 0.</p></li>
  <li><p>Still after all these above commands if I run,<br>
  <code>select pg_size_pretty(pg_total_relation_size('Employee'));</code>
  it still shows 161GB.</p></li>
  </ol>
  
  <p>May I please know the reason behind this? Also please correct me on how to free interface_list.</p>