Herokuで使用中のDataサイズを削減する

今朝、Herokuサポートから”無料で使える範囲を超えてるから有料サービスにアップグレードしてね”とメールがきた。

heroku infoで確認してみると、"64M"程度使用中となっている
どうも、デバッグ用に出力しているログ用のテーブルが大変な事になっているらしかったのでごっそり削除することにした。

heroku consoleコマンドでリモート接続して。以下のようにテーブルの中身を削除。*1

>> DB.execute "truncate table access_log"

念のため、VACUUMも実行しておいた

>> DB.execute "VACUUM FULL"

で、データベースのサイズを確認してみる。

>> DB["select pg_size_pretty(pg_database_size('<db name here>'))"].first

結果は数十Kb、これなら大丈夫だろう。と、思って heroku infoで確認してみると、まだ"64M"程度使用中となっている...

IRCとかで質問してみたり、PostgreSQLのマニュアル調べたりしてみたが、よくわからず、Herokuのサポートにメール投げて回答を待つ事にした...が、再度 heroku info してみると、数百Kbに落ちていた。

単に反映されるのに時間が掛かっていただけみたい。

*1:以下、DBオブジェクトはアプリケーション内で生成しているSeauelのDatabseオブジェクトへの参照を持つ定数