Ciao a tutti,
Ho visto la guida per l’aggiornamento a PostgreSQL 18 per le istanze Discourse self-hosted:
Viene menzionato che il processo di aggiornamento richiede una quantità significativa di spazio aggiuntivo su disco, quindi ho iniziato a controllare l’utilizzo del disco e la dimensione del database prima di tentare la migrazione.
Il mio attuale utilizzo del disco:
/dev/sda1 97G 44G 54G 45% /
La dimensione del mio database Discourse è di circa 21 GB. Ho scoperto che la maggior parte dello spazio non è utilizzata dai post, ma da diverse tabelle di statistiche e log.
Le tabelle più grandi sono:
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
Per confronto:
posts 844 MB
Ho controllato gli intervalli di dati:
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
Comprendo che queste tabelle hanno scopi diversi, ma non sono sicuro di quali periodi di conservazione siano considerati ragionevoli per un’istanza Discourse in produzione.
Le mie domande:
-
Per
user_auth_token_logs, per quanto tempo solitamente conservate i record?- 6 mesi?
- 1 anno?
- Più a lungo per audit di sicurezza?
-
Per tabelle come
incoming_links,topic_viewsepost_timings, conservate normalmente tutti i dati storici o rimuovete periodicamente i record più vecchi? -
Esiste una procedura di pulizia o manutenzione consigliata prima di un aggiornamento importante di PostgreSQL?
Finora, non ho cancellato nulla. Ho eseguito solo:
vacuumdb --analyze discourse
Il mio obiettivo è liberare spazio su disco non necessario prima di aggiornare a PostgreSQL 18, mantenendo al contempo la funzionalità normale di Discourse e le informazioni utili per l’audit.
Apprezzerei qualsiasi raccomandazione o esperienza pratica da parte di chi gestisce siti Discourse self-hosted.
Grazie!