El traslado de la base de datos PostgreSQL falla en caracteres que no son ASCII con 'valor demasiado largo'

# 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

Entonces recibo este error y la importación falla para una tabla completa.

psql: /home/me/myDatabase.tar: 660266: ERROR: valor demasiado largo para el tipo de carácter variable (100) CONTEXTO: COPIA myTable, línea 591, columna myColumn: "Un ex miembro del Departamento de Estado del Proyecto de Futuro de Iraq y ahora en el mar Atlántico ... "

Esos hat-a son esas comillas simples y dobles que son tan molestas. Me parece que al principio encajan en la columna, pero en algún lugar del proceso de exportación / importación se expanden, y luego ya no caben en la columna de caracteres variables (100).

De hecho, estoy moviendo una base de datos en vivo a un servidor para el que tengo poco permiso, por lo que una solución de SQL Server sería genial. ¿Hay una manera de hacer algo como

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

EDIT: habe lo consiguió. Cambié

createdb -h myServer -U myUser -T template0 myDatabaseCopy

a

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

Y eso hizo el truco.

Respuestas a la pregunta(1)

Su respuesta a la pregunta