N8N のデータベース容量が凄い事になっていた
色々なタスクを繋いで自動化するために普段からn8nを使用しています。
以前書いた記事
先日メジャーバージョンアップしたのでアップデートする前にデータ容量を見てみた所、驚きの「64GByte」でした・・・。
流石にいくらなんでもデカすぎます。
バックアップする気にもならない容量となっていたのでデータを小さくする方法を調べました。
N8N のログデータを古いものから削除する設定
PostgreSQL なので「VACUUM」すればいいのかと思いましたが、なんか設定で古いデータを消してくれる設定があったみたいです。 こちらのフォーラムに同じような質問が上がっていました。
下記環境変数を設定することで起動時に古いログを削除してくれるようです。
# Activates automatic data pruning
export EXECUTIONS_DATA_PRUNE=true
# Number of hours after execution when they should be deleted, by default 14 days
export EXECUTIONS_DATA_MAX_AGE=336
「EXECUTIONS_DATA_MAX_AGE」のデフォルトが 14 日となっていますが、「EXECUTIONS_DATA_PRUNE」の方はデフォルトで true ではないのですね・・・。
デフォルトで true になってればよかったな。
SQLite の場合は VACUUM が必要
SQLite での運用している場合は環境変数の設定ではデータの削除を行えないみたいです。
こちらのフォーラムに記載されている方法で VACUUM 行うことになりそうです。
$sqlite3 database_name "VACUUM;"; But it's giving error as:
near "
とりとめのないまとめ
現在、EXECUTIONS_DATA_MAX_AGE を 60 に設定して再起動かけたのですが、データが有りすぎるのか全然起動しません・・・。
ログ見ていると溜まっていたログが流れているので処理に時間がかかっているようです。
それと、N8N を v1.0 にするためには色々と確認するポイントがあるようです。
なにか嫌な予感がするのでもうしばらくはこのまま運用して、時間が取れるときに v1.0 にしようと思います。