PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Postgres-Fehler beim Einfügen – FEHLER:ungültige Bytesequenz für die Codierung von UTF8:0x00

PostgreSQL unterstützt das Speichern von NULL-Zeichen (\0x00) in Textfeldern nicht (dies unterscheidet sich offensichtlich vom Datenbank-NULL-Wert, der vollständig unterstützt wird).

Quelle:http://www.postgresql.org/docs/9.1/static/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-UESCAPE

Wenn Sie das NULL-Zeichen speichern müssen, müssen Sie ein Bytea-Feld verwenden - das alles speichern sollte, was Sie wollen, aber keine Textoperationen darauf unterstützt.

Da PostgreSQL es in Textwerten nicht unterstützt, gibt es keine gute Möglichkeit, es zu entfernen. Sie könnten Ihre Daten in bytea importieren und später mit einer speziellen Funktion (in Perl oder so etwas?) in Text umwandeln, aber es ist wahrscheinlich einfacher, dies in der Vorverarbeitung zu tun, bevor Sie sie laden