PostgreSQL के पुराने संस्करण नए संस्करणों की तुलना में UTF-8 अनुपालन पर उतने सख्त नहीं थे। संभवतः आप ऐसे पुराने संस्करण से अमान्य UTF-8 वाले डेटा को नए संस्करण में पुनर्स्थापित करने का प्रयास कर रहे हैं।
अवैध तारों को साफ किया जाना चाहिए। आप प्रत्येक तालिका के लिए उस प्रक्रिया का पालन कर सकते हैं जो इन त्रुटियों के कारण आयात नहीं की गई थी:
-
तालिका की सामग्री को डंप फ़ाइल से SQL सादा पाठ फ़ाइल में निकालें:
pg_restore --table=tablename --data-only dumpfile >plaintext.sql
-
टेक्स्ट एडिटर में या
iconv
. से अमान्य वर्णों को स्वचालित रूप से हटा दें :iconv -c -f UTF-8 -t UTF-8 <plaintext.sql >plaintext-cleaned.sql
-
स्वच्छ डेटा आयात करें:
psql dbname < plaintext-cleaned.sql