PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Errore Postgres all'inserimento - ERRORE:sequenza di byte non valida per la codifica UTF8:0x00

PostgreSQL non supporta la memorizzazione di caratteri NULL (\0x00) nei campi di testo (questo è ovviamente diverso dal valore NULL del database, che è completamente supportato).

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

Se devi memorizzare il carattere NULL, devi utilizzare un campo bytea, che dovrebbe memorizzare tutto ciò che desideri, ma non supporterà le operazioni di testo su di esso.

Dato che PostgreSQL non lo supporta nei valori di testo, non c'è un buon modo per farlo rimuovere. Potresti importare i tuoi dati in bytea e successivamente convertirli in testo usando una funzione speciale (in perl o qualcosa del genere, forse?), ma probabilmente sarà più facile farlo in preelaborazione prima di caricarlo.