HerokuのPostgresqlが圧迫 → django_admin_logテーブルが原因でした
Heroku上でDjangoアプリを開発・運用しているのだが,自分が利用している以上にPostgresqlのRow数が増えていることに気がついた.
無料で利用できるRow数は10000(?)で,4000Rowぐらい利用していた.
体感的には1000Rowないぐらいだったので,原因究明と解決に取り組んだ.
簡潔に結論を述べると原因は,django_admin_logテーブル(admin操作の履歴?)が3000Row以上占めていた.これは実際にアプリで使用しているテーブルにて,全件削除・既存データから読み込みを複数回繰り返したことが原因だった.
このテーブルを全件削除することで,問題に対処できた.
以下が操作手順である.
postgresqlのinstall
heroku上のPostgresqlを操作するには,ローカルにpsqlコマンドのインストールが必要だった.
ここはhomebrewで対応
brew install postgresql
postgresql on heroku の操作
続いて,terminalからherokuコマンドで,heroku上のPostgresqlの操作を行う
heroku pg:psql
# record数確認
SELECT T2.relname , T2.reltuples FROM pg_stat_user_tables AS T1 INNER JOIN pg_class AS T2 ON T1.relname = T2.relname ORDER BY T2.relname;
#--> django_admin_log のRow数が圧倒的に多いことに気付く
# 削除
DELETE * FROM django_admin_log;