sql >> Base de Datos >  >> RDS >> PostgreSQL

Error de Postgres al insertar - ERROR:secuencia de bytes no válida para codificar UTF8:0x00

PostgreSQL no admite el almacenamiento de caracteres NULL (\0x00) en campos de texto (obviamente, esto es diferente del valor NULL de la base de datos, que es totalmente compatible).

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

Si necesita almacenar el carácter NULL, debe usar un campo bytea, que debería almacenar todo lo que desee, pero no admitirá operaciones de texto en él.

Dado que PostgreSQL no lo admite en valores de texto, no hay una buena manera de eliminarlo. Podría importar sus datos en bytea y luego convertirlos en texto usando una función especial (¿en perl o algo así, tal vez?), pero probablemente será más fácil hacerlo en el preprocesamiento antes de cargarlo.