In welcher Spalte speichern Sie Ihre Daten? Wenn der Anhang von irgendeinem Typ sein kann, benötigen Sie eine bytea Spalte, um sicherzustellen, dass die Daten einfach als Blob (binäres "großes" Objekt) übergeben werden. Wie in anderen Antworten erwähnt, weist dieser Fehler darauf hin, dass einige an PostgreSQL gesendete Daten, die in der UTF-8-Codierung als Text markiert waren, ungültig waren.
Ich würde empfehlen, dass Sie E-Mail-Anhänge als binär zusammen mit ihrer MIME-Content-Type-Header speichern. Der Content-Type-Header sollte die Zeichencodierung enthalten, die benötigt wird, um den binären Inhalt in Text für Anhänge zu konvertieren, wenn dies sinnvoll ist: z.B. "text/plain; charset = iso-8859-1".
Wenn der dekodierte Text in der Datenbank verfügbar sein soll, können Sie ihn von der Anwendung dekodieren lassen und den Textinhalt speichern, möglicherweise mit einer zusätzlichen Spalte für die decodierte Version. Das ist nützlich, wenn Sie beispielsweise PostgreSQLs Volltextindizierung für E-Mail-Anhänge verwenden möchten. Wenn Sie sie jedoch nur für den späteren Abruf in der Datenbank speichern möchten, speichern Sie sie einfach als Binärdaten und lassen Sie sich Sorgen um die Textverschlüsselung in der Anwendung machen.