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に落ちていた。
単に反映されるのに時間が掛かっていただけみたい。
参考
Class: Sequel::Database [Sequel: The Database Toolkit for Ruby]
PostgreSQL: Documentation: Manuals: PostgreSQL 7.4: VACUUM
稼働中のDB名を調べる方法 - 今日もスミマセン。
*1:以下、DBオブジェクトはアプリケーション内で生成しているSeauelのDatabseオブジェクトへの参照を持つ定数