Il campo post Raw_email memorizza le immagini come stringhe Base64

Ciao,

Dato che sto pensando di cambiare il mio CDN (Stackpath) e so che Discourse imposta dinamicamente gli URL del CDN nei link, ho comunque cercato la stringa “stackpath” nei post del mio forum per vedere quante occorrenze ci sarebbero state.

Ha restituito tra 300 e 400 post.

Ho scaricato i dati e sono rimasto sorpreso che sia un file di quasi 100 MB!

Apparentemente, è perché le immagini nei post inviati via email sembrano essere presenti come stringhe base64 nel campo raw_email.

Quindi… Per come la vedo io, non sembra essere un vero problema, ma vorrei avere delle chiarificazioni a riguardo.

Perché le immagini vengono memorizzate in questo modo nel campo raw_email? Non c’è un modo migliore per farlo?
Può influire in qualche modo sulle prestazioni? E per quanto riguarda i forum in cui molte persone rispondono via email e con immagini coinvolte? Potremmo considerare che occupa troppo spazio per poche informazioni?

Qualsiasi spiegazione o informazione aggiuntiva a riguardo è benvenuta. :slight_smile:

1 Mi Piace

Sembrerà un po’ riduttivo, ma è così che le immagini vengono inviate via email. E dato che memorizziamo la raw_email… è quello che memorizziamo.

Pensala come una casella di posta da 100 MB. Che per la maggior parte dei siti è una goccia nell’oceano.

Puoi trovare la dimensione dello spazio di archiviazione con:

select sum(pg_column_size(raw_email)) / 1048576 as raw_email_MB from posts;

In quel caso non memorizzeremmo più la raw_email… Suppongo si possa sostenere che si dovrebbe rimuovere il contenuto base64 di grandi dimensioni dalle raw_email più vecchie di una certa data…

È improbabile; rimarrà sul disco ma non dovrebbe essere referenziata a meno che tu non la guardi.

:thinking:

5 Mi Piace

Grazie per la risposta dettagliata :slight_smile:

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.