# Dump my database to a tar file
pg_dump -f myDatabase.tar -F t -h myServer -U myUser -W -i myDatabase
# create a new database
createdb -h myServer -U myUser -T template0 myDatabaseCopy
# restore my database
pg_restore -d myDatabaseCopy -h myServer -U myUser myDatabase.tar
Ardından bu hatayı alıyorum ve tüm tablo için içe aktarma başarısız oluyor.PostgreSQL veritabanını taşıma, ascii olmayan karakterler üzerinde 'value too long' değeriyle başarısız oluyor
psql'in: /home/me/myDatabase.tar: 660.266: HATA: değişen tipi karakter için çok uzun bir değer (100) İÇERİK: "State Departmentâs âFuture eski bir üyesi: MyTable, hat 591, sütun Sütunum KOPYALAMA Irak'ın projesinin ve şimdi Atlantik Kupasında ... "
Bu şapka-a'nın can sıkıcı tek ve çift tırnak işaretleri. Bana ilk başta sütunlara uyuyor gibi görünüyorlar, ama ihracat/ithalat işleminde bir yerlerde genişliyorlar ve sonra artık karakter (100) sütununa sığmıyorlar.
Aslında canlı bir veritabanını bir sunucuya taşıyorum. Çok az iznim var, bu yüzden bir sql çözümü sadece harika olacaktır.
UPDATE myTable SET myColumn = removeNonAscii(myColumn) WHERE hasNonAscii(myColumn)
DÜZENLEME gibi bir şey yapmanın bir yolu var mı: habe aldım. Ben
createdb -h myServer -U myUser -T template0 -E UTF8 myDatabaseCopy
için
createdb -h myServer -U myUser -T template0 myDatabaseCopy
değişti ve bu numarayı yaptı.