تنظيف قاعدة البيانات قبل ترقية PostgreSQL 18: ما هي فترة الاحتفاظ الموصى بها لجدول السجلات والإحصائيات؟

مرحباً بالجميع،

لقد رأيت دليل ترقية PostgreSQL 18 الخاص بـ Discourse المضيف ذاتياً:

يذكر الدليل أن عملية الترقية تتطلب مساحة قرص إضافية كبيرة، لذا بدأت في التحقق من استخدام القرص وحجم قاعدة البيانات قبل محاولة الترحيل.

استخدام القرص الحالي لدي:

/dev/sda1        97G   44G   54G  45% /

حجم قاعدة بيانات Discourse لدي هو حوالي 21 جيجابايت. اكتشفت أن معظم المساحة لا تُستخدم للمشاركات، بل لعدة جداول إحصائية وسجلات.

أكبر الجداول هي:

topic_views              5.2 جيجابايت
post_timings             1.9 جيجابايت
browser_pageview_events  1.8 جيجابايت
ai_api_audit_logs        1.6 جيجابايت
incoming_links           1.5 جيجابايت
user_auth_token_logs     1.2 جيجابايت

للمقارنة:

posts                    844 ميجابايت

تحققت من نطاقات البيانات:

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 إنتاجية.

أسئلتي:

  1. بالنسبة لـ user_auth_token_logs، كم من الوقت تحافظون عادةً على السجلات؟

    • 6 أشهر؟
    • سنة واحدة؟
    • فترة أطول لأغراض التدقيق الأمني؟
  2. بالنسبة للجداول مثل incoming_links وtopic_views وpost_timings، هل تحافظون عادةً على جميع البيانات التاريخية، أم تزيلون السجلات القديمة بشكل دوري؟

  3. هل توجد أي إجراءات تنظيف أو صيانة موصى بها قبل ترقية PostgreSQL لإصدار رئيسي جديد؟

حتى الآن، لم أحذف أي شيء. قمت فقط بتشغيل:

vacuumdb --analyze discourse

هدفي هو تحرير مساحة القرص غير الضرورية قبل الترقية إلى PostgreSQL 18، مع الحفاظ على وظائف Discourse الطبيعية ومعلومات التدقيق المفيدة.

سأكون ممتناً لأي توصيات أو تجارب واقعية من الأشخاص الذين يشغلون مواقع Discourse مستضيفة ذاتياً.

شكراً!

سؤال جيد، أعتقد. لكن لاحظ أن الموضوع المرتبط قد تم تحديثه والآن يقول إنك تحتاج إلى مساحة قرص مجانية بحجم 2X لحجم قاعدة البيانات - وهو ما يبدو أنك تمتلكه بالفعل.

في حالتي الخاصة، أرى أن لدي العديد من صور Docker غير المقطوعة، وملف swap كبير، وجميع النسخ الاحتياطية الخاصة بي، وفي حالة واحدة 4 جيجابايت من ملفات السجل أيضًا.

لذلك، كمكمل لتقليل حجم قاعدة البيانات على القرص، يمكن النظر في أشياء أخرى على القرص يمكن تقليلها.

يمكنك التحكم في فترة الاحتفاظ بهذه البيانات باستخدام إعدادات الموقع.

يُفترض الإبقاء على هذه الجداول إلى الأبد، وهي عادةً ما تكون أكبر الجداول في معظم الحالات، لذا لا داعي للقلق بشأنها.