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

Error de secuencia de bytes no válida al restaurar la base de datos PostgreSQL

Las versiones anteriores de PostgreSQL no eran tan estrictas en el cumplimiento de UTF-8 como las versiones más nuevas. Presumiblemente, está intentando restaurar datos que contienen UTF-8 no válido de una versión anterior a una versión más nueva.

Las cadenas no válidas deben limpiarse. Puede seguir ese procedimiento para cada tabla que no se importó debido a estos errores:

  1. Extraiga el contenido de la tabla del archivo de volcado en un archivo de texto sin formato SQL:

    pg_restore --table=tablename --data-only dumpfile >plaintext.sql
    
  2. Elimine los caracteres no válidos en un editor de texto o automáticamente con iconv :

    iconv -c -f UTF-8 -t UTF-8 <plaintext.sql >plaintext-cleaned.sql
    
  3. Importar los datos desinfectados:

    psql dbname < plaintext-cleaned.sql