mysql到 postgresql迁移错误:无效的编码序列"UTF8": 0x00 怎么处理?

mysql到PG迁移错误:无效的编码序列"UTF8": 0x00 怎么处理?postgresql在CentOS Linux 7.6.1810 (Core) , Linux 4.14.80-1.el7.centos.x86_64 x86_64, 64-bit的机器上遇到PANIC:could not fsync file "base/16409/6811529":Input/output error 报错,导致数据库重启,set data_...显示全部

mysql到PG迁移错误:无效的编码序列"UTF8": 0x00 怎么处理?

postgresql在CentOS Linux 7.6.1810 (Core) , Linux 4.14.80-1.el7.centos.x86_64 x86_64, 64-bit的机器上遇到PANIC:could not fsync file "base/16409/6811529":Input/output error 报错,导致数据库重启,set data_sync_retry 并不能解决本质问题,还会造成数据损坏。除了使用centos Linux 6的系统版本是否还有其他解决方案?

收起
参与9

返回y18511664518的回答

y18511664518y18511664518技术总监长城超云

第一个问题:

字段值中有空字符,会导致迁移错误,希望你下次提问说明环境,mysql和PG版本,源端和目标端字符集等等。

第二个问题:

遇到这个问题的前提是什么,是断电重启,还是?
参考:https://stackoverflow.com/questions/4187767/postgresql-9-could-not-fsync-file-base-16386-invalid-argument
https://www.postgresql.org/message-id/20150514172746.GJ9584@alap3.anarazel.de
金融其它 · 2019-08-02
浏览2996
  • 1.mysql迁移pg的环境是 mysql5.6 ,pg11.2 ,将mysql中报错的行的数据导出,发现是空值结束符在搞鬼,干掉后迁移正常 2.第二个问题数据库在正常运行,后查阅资料,发现pg11在kernel 4.13及更高版本上运行时确实容易触发这个bug,在pg12有可能修复 参考: https://www.percona.com/blog/2019/02/22/postgresql-fsync-failure-fixed-minor-versions-released-feb-14-2019/
    2019-08-02

回答者

y18511664518
技术总监长城超云
擅长领域: 数据库存储关系型数据库

y18511664518 最近回答过的问题

回答状态

  • 发布时间:2019-08-02
  • 关注会员:2 人
  • 回答浏览:2996
  • X社区推广