Le versioni precedenti di PostgreSQL non erano così rigide sulla conformità a UTF-8 rispetto alle versioni più recenti. Presumibilmente stai tentando di ripristinare i dati contenenti UTF-8 non validi da una versione così precedente a una versione più recente.
Le stringhe non valide devono essere ripulite. Puoi seguire questa procedura per ogni tabella che non è stata importata a causa di questi errori:
-
Estrarre il contenuto della tabella dal file dump in un file di testo semplice SQL:
pg_restore --table=tablename --data-only dumpfile >plaintext.sql
-
Rimuovi i caratteri non validi in un editor di testo o automaticamente con
iconv
:iconv -c -f UTF-8 -t UTF-8 <plaintext.sql >plaintext-cleaned.sql
-
Importa i dati sanificati:
psql dbname < plaintext-cleaned.sql