sql >> Databasteknik >  >> RDS >> PostgreSQL

Fel ogiltig bytesekvens vid återställning av PostgreSQL-databasen

Äldre versioner av PostgreSQL var inte lika strikta vad gäller UTF-8-efterlevnad än nyare versioner. Förmodligen försöker du återställa data som innehåller ogiltiga UTF-8 från en sådan äldre version till en nyare version.

De ogiltiga strängarna måste rengöras. Du kan följa proceduren för varje tabell som inte importerades på grund av dessa fel:

  1. Extrahera innehållet i tabellen från dumpfilen till en SQL-fil med vanlig text:

    pg_restore --table=tablename --data-only dumpfile >plaintext.sql
    
  2. Ta bort de ogiltiga tecknen i en textredigerare eller automatiskt med iconv :

    iconv -c -f UTF-8 -t UTF-8 <plaintext.sql >plaintext-cleaned.sql
    
  3. Importera sanerade data:

    psql dbname < plaintext-cleaned.sql
    



  1. Fel vid körning av psql-kommandot i /docker-entrypoint-initdb.d/db_init.sh (psql:kunde inte ansluta till servern:Anslutningen nekades)

  2. Hur man läser och skriver ut data från mysql i c#

  3. Slå samman 2 tabeller där två uppsättningar siffror överlappar varandra i de sammanfogade kolumnerna

  4. Hur får du SQLAlchemy att åsidosätta MySQL vid uppdatering CURRENT_TIMESTAMP