Перемещение базы данных PostgreSQL завершается неудачно для символов, отличных от ascii, со значением «long long»

# 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

Затем я получаю эту ошибку, и импорт не удается для всей таблицы.

psql: /home/me/myDatabase.tar: 660266: ОШИБКА: значение слишком длинное для изменения типа символа (100) КОНТЕКСТ: COPY myTable, строка 591, столбец myColumn: «Бывший член проекта Госдепартамента« Будущее Ирака »и сейчас» на атлантическом куре ... »

Эти шляпки - это раздражающие фигурные одинарные и двойные кавычки. Мне кажется, что они сначала помещаются в столбец, но где-то в процессе экспорта / импорта они расширяются, а затем больше не помещаются в столбец с изменяющимися символами (100).

На самом деле я перемещаю действующую базу данных на сервер, для которого у меня мало прав, поэтому было бы неплохо решение только для SQL. Есть ли способ сделать что-то вроде

UPDATE myTable SET myColumn = removeNonAscii(myColumn) WHERE hasNonAscii(myColumn)

РЕДАКТИРОВАТЬ: habe получил его. я изменил

createdb -h myServer -U myUser -T template0 myDatabaseCopy

в

createdb -h myServer -U myUser -T template0 -E UTF8 myDatabaseCopy

и это помогло.

Ответы на вопрос(1)

Ваш ответ на вопрос