みなさん、こんにちは。
セルフホスト型 Discourse 用の PostgreSQL 18 アップグレードガイドを見つけました:
このガイドによると、アップグレードプロセスにはかなりの量の追加ディスク容量が必要とのことです。そのため、マイグレーションを試みる前に、現在のディスク使用量とデータベースのサイズを確認し始めました。
現在のディスク使用量:
/dev/sda1 97G 44G 54G 45% /
私の Discourse データベースのサイズは約 21 GB です。その大部分が投稿データによって占められているのではなく、いくつかの統計やログテーブルによって使用されていることがわかりました。
最も大きなテーブルは以下の通りです:
topic_views 5.2 GB
post_timings 1.9 GB
browser_pageview_events 1.8 GB
ai_api_audit_logs 1.6 GB
incoming_links 1.5 GB
user_auth_token_logs 1.2 GB
```\n
比較のために:
```text
posts 844 MB
データ範囲を確認しました:
topic_views:
2015-04-03 ~ 2026-08-03
incoming_links:
2015-04-09 ~ 2026-08-03
user_auth_token_logs:
2021-08-15 ~ 2026-08-03
ai_api_audit_logs:
2026-02-04 ~ 2026-08-03
browser_pageview_events:
2026-05-28 ~ 2026-08-03
これらのテーブルがそれぞれ異なる目的を持っていることは理解していますが、本番環境の Discourse インスタンスにおいて、どの程度の保持期間が適切とみなされるかについては確信が持てません。
質問事項:
-
user_auth_token_logsについて、通常どれくらいの期間レコードを保持していますか?- 6ヶ月?
- 1年?
- セキュリティ監査のためにより長い期間?
-
incoming_links、topic_views、post_timingsなどのテーブルについては、通常すべての履歴データを保持しているのでしょうか、それとも定期的に古いレコードを削除しているのでしょうか? -
PostgreSQL のメジャーバージョンアップグレード前に推奨されるクリーンアップやメンテナンス手順はありますか?
これまでに何も削除していません。実行したのは以下のコマンドのみです:
vacuumdb --analyze discourse
私の目標は、PostgreSQL 18 へのアップグレード前に不要なディスク容量を解放しつつ、通常の Discourse 機能と有用な監査情報を維持することです。
セルフホスト型 Discourse サイトを運営している方からの推奨事項や実際の経験談をいただければ幸いです。
ありがとうございます!