title: Shrinking pg_toast on RDS instance
body: <p>I have a Postgres 9.6 RDS instance and it is growing 1GB a day. We have made some optimizations to the relation related to the pg_toast but the pg_toast size is not changing. </p>
  
  <p>Autovacuum is on, but since autovacuum/VACUUM FREEZE do not reclaim space and VACUUM FULL does an exclusive lock, I am not sure anymore what the best approach is.</p>
  
  <p>The data in the table is core to our user experience and although following <a href="https://lob.com/blog/running-vacuum-full-on-rds-postgres-with-minimal-downtime" rel="nofollow noreferrer">this</a> approach makes sense, it would take away the data our users expect to see during the vacuum full process.</p>
  
  <p>What are the other options here to shrink the pg_toast?</p>
  
  <p>Here is some data about table sizes. You can see in the first two images, that the relation <code>scoring_responsescore</code> is relation associated with the pg_toast.</p>
  
  <p><img src="https://i.stack.imgur.com/EWxLT.png" alt="enter image description here">
  <img src="https://i.stack.imgur.com/Hh8hI.png" alt="enter image description here"></p>
  
  <p><strong>Autovacuum settings</strong></p>
  
  <p><img src="https://i.stack.imgur.com/DQf9N.png" alt="enter image description here"></p>
  
  <p>Results from current running autovacuum process for that specific pg_toast. It might help.
  <img src="https://i.stack.imgur.com/3x418.png" alt="enter image description here"></p>