用于编码"UTF8"的 postgres 无效字节序列



我的原始数据库使用SQL_ASCII编码,我未来的数据库使用UTF8,它在另一台服务器中。

嗯。。。我用这个命令导出:

pg_dump -v -E UTF8 -Fc -h x.x.x.x old-database-name -U username > backup.dmp

并尝试用这个导入

pg_restore --single-transaction -v -Fc -d new-database-name -U username <  backup.dmp

但我面临这个错误:

pg_restore:[arquivador(bd)]错误PROCESSAR TOC:pg_restore:[arquivador(bd)]Erro no registro do TOC 722;1255 4594720功能任意(字符变化)用户名pg_restore:[arquivador(bd)]无法执行查询:ERRO:seqência de byteséinválida paracodificação"UTF8":0xe1 0x72 0x69

如果我在没有-E参数的情况下转储和恢复操作正常,但我的新数据库存在字符问题

好吧。。。我不得不像纯文本一样转储,并在linux上使用以下命令删除无效字符:

iconv -c -f UTF-8 -t UTF-8 <backup.sql >backup-cleaned.sql

相关内容

  • 没有找到相关文章

最新更新