title: Postgres: "vacuum" command does not clean up dead tuples
body: <p>We have a postgres database in Amazon RDS. Initially, we needed to load large amount of data quickly, so <code>autovacuum</code> was turned off according to the <a href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_BestPractices.html#CHAP_BestPractices.PostgreSQL" rel="noreferrer">best practice suggestion from Amazon</a>. Recently I noticed some performance issue when running queries. Then I realized it has not been vacuumed for a long time. As it turns out many tables have lots of dead tuples. </p>
  
  <p><a href="https://i.stack.imgur.com/e0XJy.png" rel="noreferrer"><img src="https://i.stack.imgur.com/e0XJy.png" alt="enter image description here"></a></p>
  
  <p>Surprisingly, even after I manually ran <code>vacuum</code> commands on some of the tables, it did not seem to remove these dead tuples at all. <code>vacuum full</code> takes too long to finish which usually ends up timed out after a whole night. </p>
  
  <p>Why does <code>vacuum</code> command not work? What are my other options, restart the instance?</p>